摘要:
可触及的 1.从根节点可以触及到这个对象可复活的 1.一旦所有引用被释放,就是可复活状态 2.因为在finalize()中可能复活该对象不可触及的 1.在finalize()后,可能会进入不可触及状态 2.不可触及的对象不可能复活 3.可以回收 CanReliveObj finalize calle 阅读全文
posted @ 2017-05-30 17:10
413Xiaol
阅读(172)
评论(0)
推荐(0)
摘要:
引用计数法(java未使用) 1.很老的一个垃圾回收算法 2.通过引用计数来回收垃圾 3.引用计数器的实现很简单,对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1。只要对象A的引用计数器的值为0,则对象A就不可能再被使用。 4.弊端: 引用和去引用伴 阅读全文
posted @ 2017-05-30 17:06
413Xiaol
阅读(199)
评论(0)
推荐(0)
摘要:
追踪参数: 打印GC简要信息 -XX:+PrintGC 打印GC详细信息 -XX:+PrintGCDetails 打印CG发生的时间戳 -XX:+PrintGCTimeStamps 指定GC log的位置 -Xloggc:log/gc.log 打印类的加载情况 -XX:+TraceClassLoad 阅读全文
posted @ 2017-05-30 14:44
413Xiaol
阅读(218)
评论(0)
推荐(0)
摘要:
PC寄存器 每个线程拥有一个PC寄存器 在线程创建时 创建 指向下一条指令的地址 执行本地方法时,PC的值为undefined 方法区 保存装载的类信息 类型的常量池 字段,方法信息 方法字节码Java堆 和程序开发密切相关 应用系统对象都保存在Java堆中 所有线程共享Java堆 对分代GC来说, 阅读全文
posted @ 2017-05-30 13:33
413Xiaol
阅读(91)
评论(0)
推荐(0)
摘要:
指令重排的基本原则: a.程序顺序原则:一个线程内保证语义的串行性 b.volatile规则:volatile变量的写,先发生于读 c.锁规则:解锁(unlock)必然发生在随后的加锁(lock)前 d.传递性:A先于B,B先于C 那么A必然先于C e.线程的start方法先于它的每一个动作 f.线 阅读全文
posted @ 2017-05-30 13:26
413Xiaol
阅读(434)
评论(0)
推荐(0)