易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : java

java读写锁实现机制

package thread.lock;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
/**
 * @file_name ReadAndWriteLockDemo.java
 * @description 读写锁DEMO
 * @author 张明亮
 * @date 2009.09.27
 */
public class ReadAndWriteLockDemo {
 ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();
 // 读锁
 Lock rLock = rwLock.readLock();
 // 写锁
 Lock wLock = rwLock.writeLock();
 // 货架
 List<String> stock = new ArrayList<String>();
    //互斥锁
 ReentrantLock lock = new ReentrantLock();
 /**
  * 商品买卖
  * <br>
  * 当商品数量小于1时,释放读锁并获取写锁 生产商品后,
  * <br>
  * 锁降级在写锁保护下重新获取读锁并消费商品
  */
 public void sell() {
//  lock.lock();
 & ......

Java学习之路

jave怎么学习最快
2008-11-08 06:57
欲速则不达,学习JAVA没有“可以拉”这种程度。丰富多彩,学习一年的时间也不一定能学完基础,我曾经也想过这个问题,但后来看了一篇文章,便彻然醒悟。下面这篇文章(不要嫌长,看完就有收益,还有此问题不要关闭或是投票,回答都是辛苦地,不要打积极性,不够好也将就些吧):
江苏无锡 缪小东
1. Java语言基础
谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的《Thinking in Java》。它是一本写的相当深刻的技术书籍,Java语言基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel在网络上被称为天才的投机者,作者的《Thinking in C++》在1995年曾获SoftwareDevelopment Jolt Award最佳书籍大奖,《Thinking in Java》被评为1999年Java World“最爱读者欢迎图书”,并且赢得了编辑首选图书奖。作者从1986年至今,已经发表了超过150篇计算机技术文章,出版了6本书(其中4本是关于C++的),并且在全世界做了数百次演讲。他是《Thinking in Java》、《Thinking in C++》、《C++ Inside & Out》《Using C++》和《Thinking in Patterns》的作者,同时还是《Black Belt C++》文集的编 ......

JAVA的容器

JAVA的容器---List,Map,Set
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection接口
  Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。
  所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个 Collection参数的构造函数用于创建一个新的Collection,这个新的Collection与传入的Collection有相同的元素。后一个构造函数允许用户复制一个Collection。
  如何遍历Collection中的每一个元素?不论Collection的实际类型如何,它都支持一个iterator()的方法,该方法返回一个迭代子,使用该迭代子即可逐一访问Collection中每一个元素。典型的用法如下:
    Iterator it = collection.iterator(); // 获得一个迭代子
    while(it.hasNext()) { ......

Java实现通用线程池

      线程池通俗的描述就是预先创建若干空闲线程,等到需要用多线程去处理事务的时候去唤醒某些空闲线程执行处理任务,这样就省去了频繁创建线程的时间,因为频 繁创建线程是要耗费大量的CPU资源的。如果一个应用程序需要频繁地处理大量并发事务,不断的创建销毁线程往往会大大地降低系统的效率,这时候线程池就派 上用场了。
      本文旨在使用Java语言编写一个通用的线程池。当需要使用线程池处理事务时,只需按照指定规范封装好事务处理对象,然后用已有的线程池对象去自动选择空 闲线程自动调用事务处理对象即可。并实现线程池的动态修改(修改当前线程数,最大线程数等)。下面是实现代码:
package polarman.threadpool;

/**
* 线程任务
*/
public interface ThreadTask {
    public void run();
}
package polarman.threadpool;
import java.util.Collection;
import java.util.Vector;
/** *//**
* 接受线程池管理的线程
* @author ryang
* 2006-8-8
*/
public class PooledThread extends Thread ...{
  
    protec ......

Java 对象的存储位置

摘选自《Java编程思想》
1. 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。
2.堆栈(stack)。位于通用RAM(random-access memory,随机访问存储器)中,但通过它的“堆栈指针”可以从处理器那里获得直接支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时,Java编译器必须知道存储在堆栈内所有数据的确切大小和生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针。这一约束限制了程序的灵活性,所以虽然某些Java数据存储于堆栈中——特别是对象引用,但是Java对象并不存储于其中。
3. 堆(heap)。一种通用性的内存池(也存在于RAM区),用于存放所有的Java对象。堆不同于堆栈的好处是:编译器不需要知道要从堆里分配多少存储区域,也不必知道存储的数据在堆里存活多长时间。因此,在堆里分配存储有很大的灵活性。当你需要
创建一个对象时,只需用new写一行简单的代码 ......

Java连接DB2相关

1. 关于Connection Pool
JDBC本身不提供连接池技术,需要第三方库的支持。
在需要频繁获得连接的Application中最好用Connection Pool,如Web Application中
对于一般的Java Application则可以直接用JDBC连接数据库。
 
2. Java Application中连接DB2
    安装DB2 Personal Edition V9之后,在其中的java目录可以找到这两个文件:db2jcc.jar; db2jcc_license_cu.jar
    db2jcc.jar中的com.ibm.db2.jcc.DB2Driver驱动程序被称为通用驱动,推荐使用(原因看第5点)。在使用它时,需要db2jcc_license_cu.jar,否则会提示没有license而无法工作。
     DB2的连接地址:jdbc:db2://localhost:50000/Database
 
3. Web Application中连接DB2
    一、以WAS为例,配置DB2 Data Source
1) 进入控制台
启动Websphere6.0服务, 打开浏览器,在地址栏中输入:http://localhost:9060/ibm/console/,登陆Websphere6.0管理控制台
2) 设置环境变量
在导航栏左侧选择: Environment -> Websphere Variables, 找到DB2UNIVERSAL_JDBC_DRIVER_PATH, 输入DB2数据库驱动jar包的位置,比如C:\Pro ......
总记录数:6386; 总页数:1065; 每页6 条; 首页 上一页 [1043] [1044] [1045] [1046] 1047 [1048] [1049] [1050] [1051] [1052]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号