摘要:
内部类详解1、定义 一个类的定义放在另一个类的内部,这个类就叫做内部类。Java代码publicclassFirst{publicclassContents{publicvoidf(){System.out.println("InClassFirst'sinnerClassContentsmetho... 阅读全文
摘要:
Spring中提供一些Aware相关接口,像是BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,实现这些 Aware接口的Bean在被初始之后,可以取得一些相对应的资源,例如实现Be... 阅读全文
摘要:
Hibernate的二级缓存策略的一般过程如下: 1) 条件查询的时候,总是发出一条select * from table_name where …. (选择所有字段)这样的SQL语句查询数据库,一次获得所有的数据对象。 2) 把获得的所有数据对象根据ID放入到第二级缓存中。 3) 当Hibe... 阅读全文
摘要:
volatile保证线程间的数据是可见的(共享的),但不保证数据同步volatile相当于synchronized的弱实现,也就是说volatile实现了类似synchronized的语义,却又没有锁机制。它确保对volatile字段的更新以可预见的方式告知其他的线程。volatile包含以下语义:... 阅读全文
摘要:
JMM规范:The rules for happens-before are:Program order rule. Each action in a thread happens-before every action in that thread that comes later in the ... 阅读全文
摘要:
在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁)。锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等... 阅读全文
摘要:
锁锁是用来锁东西的,让别人打不开也看不到!在线程中,用这个“锁”隐喻来说明一个线程在“操作”一个目标(如一个变量)的时候,如果变量是被锁住的,那么其他线程就对这个目标既“操作”不了(挂起)也无法看到目标的内容!对Java并发包,锁的实现基本在java.util.concurrent.locks包中,... 阅读全文
摘要:
有关Java 5.0+ 并发包的探讨-2 section博客分类:Core JavaJavathreadAccessF#前面文章用直接使用Thread类的start方法来新启动一个线程,看起来貌似没有什么问题,问题就在于线程使用场景的需求上,如果希望每个一段时间自动运行一次这个线程,如果想使用线程池... 阅读全文
摘要:
接上一篇 java并发包小结(一):http://blog.csdn.net/aalansehaiyang52/article/details/8877579Future 接口Future 接口允许表示已经完成的任务、正在执行过程中的任务或者尚未开始执行的任务。通过 Future 接口,可以尝试取... 阅读全文
摘要:
java.util.concurrent 包含许多线程安全、高性能的并发构建块。换句话讲,创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块,开发人员可以提高并发类的线程安全、可伸缩性、性能、可... 阅读全文