2021
09-09
09-09
新手入门Jvm--Jvm垃圾回收
目录1.Jvm垃圾回收2.作用域3.分类4.垃圾回收算法4.1标记-复制算法4.2标记-清除算法4.3标记-整理算法5.垃圾收集器5.1Serial收集器(-XX:+UseSerialGC-XX:+UseSerialOldGC)5.2ParallelScavenge收集器(-XX:+UseParallelGC(年轻代),-XX:+UseParallelOldGC(老年代))5.3ParNew收集器(-XX:+UseParNewGC)5.4CMS收集器(-XX:+UseConcMarkSweepGC(old))5.5CMS的相关核心参数6.垃圾收集底层算法实现7.总结1.Jvm垃圾回收Java虚...
继续阅读 >
目录一、垃圾标记阶段1.1、引用计数法(java没有采用)1.2、可达性分析算法二、对象的finalization机制2.1、对象是否"死亡"三、使用(MAT与JProfiler)工具分析GCRoots3.1、获取dump文件3.2、GCRoots分析四、垃圾清除阶段4.1、标记-清除算法4.2、复制算法4.3、标记-压缩(整理,Mark-Compact)算法4.4、以上三种垃圾回收算法对比4.5、分代收集算法4.6、增量收集算法4.7、分区算法G1回收器一、垃圾标记阶段对象存活判断:在堆里存放...
1.背景Java语言相比于C和C++,一个最大的特点就是不需要程序员自己手动去申请和释放内存,这一切交由JVM来完成。在Java中,运行时的数据区域分为程序计数器、Java虚拟机栈、本地方法栈、方法区和堆。其中,程序计数器、虚拟机栈和本地方法栈是线程私有的,线程销毁后自动释放。垃圾回收的行为发生在堆和方法区,主要是堆,而堆中存储的主要是对象。那么自然而然地就会有这么几个问题,哪些对象可以被回收?通过什么方式回收?本文...