首先不同的jvm 有不同的垃圾回收.
hotspot 说起:
1.串行
2.并发parral
3.cms
4.G1
note1: 新生代,老生代的概念是 cms 的.parral 并没有
note2:哪些是要 stop the world
cms
1.新生代
Stop the World Event - All minor garbage collections are "Stop the World" events. This means that all application threads are stopped until the operation completes. Minor garbage collections arealways Stop the World events.
2,老生带的 初次标记和再标记阶段.note3: cms 中的Floating Garbage 怎么理解.
cms 老生代属于渐进式垃圾回收怎么理解,
http://stackoverflow.com/questions/5092134/whats-the-difference-between-generational-and-incremental-garbage-collection
note 4:
标记复制(选的是已分配的,其他认为都是垃圾,),整个过程锁死,不担心新分配的被当做垃圾.
标记清楚(选的是未分配的,其他都是好的)
那 java 通过 根目录法,只能知道哪些是有用的,同时还知道哪些是已分配出去的,那些是 freeList. 获取 unreachedObject = 已分配 assoiation-已 reaable .这个过程要锁死.stop the world
note5: g1的card table 和
http://stackoverflow.com/questions/19154607/how-actually-card-table-and-writer-barrier-works
https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/g1_gc.html
https://segmentfault.com/a/1190000004682407
jvm的card table数据结
HotSpot VM Serial GC的一个问题
名词链接帖 [占位ing]
[HotSpot VM] 请教G1算法的原理
读完应该差不多够用了嗯。
会选型就好,知道特点.不一定要完全知道原理.