静态导入(知道) 格式:import static 包名.类名.方法名(属性名); 在类中使用这个静态成员时可以不用类名。直接写方法名或属性名就可以。 静态导入缺点: 1.代码可读性下降. 2.由于方法名的重复,静态导入在一些特定的情况下会报错. ...
分类:
其他好文 时间:
2014-12-29 00:51:31
阅读次数:
203
泛型是一种把类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。泛型的格式: 注意:此处的数据类型这能是引用类型 好处: A:把运行时期的问题提前到了编译期间 B:避免了强制类型转换 C:优化了程序设计import java.util...
分类:
其他好文 时间:
2014-12-20 00:44:26
阅读次数:
181
一. 传统集合:
传统方式下的Collection在迭代集合时, 不允许对集合进行修改:...
分类:
其他好文 时间:
2014-10-31 12:00:46
阅读次数:
243
一. 阻塞队列和普通队列:
队列是一种基本的数据类型,其典型特征是先进先出。
阻塞队列和普通队列的区别在于:
当队列为空时,从队列中获取元素的线程会被阻塞,直到其他的线程往空的队列里插入新的元素;
当队列是满的时,往队列里添加元素的操作会被阻塞,直到其他的线程从队列移除一个或多个元素;...
分类:
其他好文 时间:
2014-10-31 10:11:13
阅读次数:
211
一. Semaphore实现信号灯
Semaphore可以控制同时访问资源的线程个数, 例如: 实现一个文件允许的并发访问数.
Semaphore实现的功能就类似厕所有5个坑, 加入有十个人要上厕所, 那么同时只能有5个人能够占用, 当5个人中的任何一个人离开后, 其中在等待的另外5个人中就有一个可以占...
分类:
编程语言 时间:
2014-10-30 00:15:56
阅读次数:
192
一. Lock实现线程同步通信
Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也是一个对象。
两个线程执行的代码片段要实现同步互斥的效果,他们必须用同一个Lock对象。锁是上在代表要操作的资源的类的内部方法中,
而不是线程代码中。...
分类:
编程语言 时间:
2014-10-29 00:16:37
阅读次数:
275
一. 线程池的概念:
其实到目前为止我们接触过很多关于池的概念:string池、连接池,之所以要用这个池,目的只有一个:资源的重复使用。
线程池:首先创建一些线程,当服务器接收到一个客户请求后,就从线程池中取出一个空闲的线程为之服务,服务完后并不关闭该线程,而是将该线程还回到线程池中。
在线程池的编程模式下,任务是提交给整个线程池的,而不是直接交给某个线程,线程池在拿到任务后,它就在内部找有无空闲的线程,找到后再把任务交给内部某个空闲的线程,这就是封装。记住:任务是提交给整个线程池的,一个线程同时只能执行一...
分类:
编程语言 时间:
2014-10-24 10:58:21
阅读次数:
159
JDK5新特性(与1.4相比)【转】1 循环for (type variable : array){ body}for (type variable : arrayList){body}而1.4必须是:for (int i = 0; i arrayList =new ArrayList(); ar....
分类:
编程语言 时间:
2014-10-14 07:59:27
阅读次数:
248