分类 Java 下的文章

编译器在编译时期决定是否进行装箱或拆箱动作。例如:Integer i = 100; 相当于编译器自动为您作以下的语法编译:Integer i = new Integer(100); 所以自动装箱...

优点:1 在不超过系统负载的情况下,多线程能获取更多的时间片,线程是CPU调度和分派的基本单位;2 在CPU不忙时,提高磁盘和CPU的利用率,比如在等待IO操作时,CPU空闲的话,就导致CPU利...

日期和时间格式由日期和时间模式 字符串指定。在日期和时间模式字符串中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引...

newFixedThreadPool(固定大小线程池) 创建一个可重用固定线程集合的线程池,以共享的无界队列方式来运行这些线程(只有要请求的过来,就会在一个队列里等待执行)。如果在关闭前的执行期...

锁分离 (Lock Stripping) ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。Concu...

CopyOnWriteArrayList ArrayList的一个线程安全的变体,其所有可变操作(add、set 等)都是通过对底层数组进行一次新的复制来实现的,代价昂贵。 在CopyOnWri...

垃圾分代回收算法(Generational Collecting)跟踪垃圾收集器,如复制、标记-清除和标记-整理等垃圾收集器,都是从根集(root set)开始扫描,遍历对象间的引用,直到访问了...

主要包括两个子系统和两个组件: Class loader(类装载器) 子系统, Execution engine(执行引擎) 子系统; Runtime data area (运行时数据区域)组...

Lock-free 算法通常比基于锁的算法要好:从其定义来看,它们是 wait-free 的,可以确保线程永远不会阻塞。 状态转变是原子性的,以至于在任何点失败都不会恶化数据结构。 因为线程永远...