jvm 系统学习
1. java 运行机制
有java文件编译成class文件,然后通过链接加载进jvm。初始化后会生成内存空间。
2. 对象生命周期
new-> 加载内存->gc过程
3. jvm 运行时数据区
独占部分:虚拟机栈,本地方法区,程序计数器
共享部分:方法区(类信息,常量池,等等), 堆。
4. jvm gc
gc 原理:
gc 算法:新生代(复制算法),标记清除算法。
5. 常用gc收集器
cms: 标记清除算法实现,且以获取最短回收停顿时间为主的收集器,希望系统停顿时间最短。其中标黄为耗时比较久的操作。
有4个步骤: 初始标记(stop the world) ,会标记GC root直接关联的对象,很短
并发标记 便利所有的对象。
重新标记(stop the world) 在并发标记时,产生的新的垃圾对象
并发清除
不足:cpu资源要求比较高,有浮动垃圾,且产生垃圾碎片(标记-清除算法通病)。
g1: 推荐。多核cpu比较好。并行与并发,分代收集等特性

浙公网安备 33010602011771号