jvm比较重要的两点
一、jmm
即 java memory model
二、GC垃圾回收机制
一、引用计数算法:将所有对象的引用进行计数,当对象的计数器为0时可被回收
效率高,但是存在重复引用的问题
二、可达性算法,
遍历所有的对象,将不可达对象进行回收
(1)标记-清除算法
从根对象进行遍历,将所有可达对象进行标记,将所有未标记的对象进行回收。
image.png
缺点:碎片化
(2)复制算法:
使用两块内存空间,将所有可达对象复制到另一块内存,然后对当前内存进行回收
可解决碎片化,只适合对象存活率低的场景,存活率高会消耗大量内存。
image.png
image.png
(3)标记-整理算法
image.png
image.png
(4)分代收集算法
image.png
image.png
image.png
image.png
image.png
image.png