JVM体系分为4块:
类的加载机制JVM内存机构GC算法 垃圾回收GC分析 命令调优类的加载机制:
类的加载是将类的.class文件中的二进制数据从磁盘加载到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.class 对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的class对象,并向Java程序员提供了访问方法区内的数据结构的接口。类的生命周期: 加载 →连接(验证→准备→解析)→初始化JVM内存结构:
GC算法 垃圾回收:
对象存活判断
引用计数:每个对象有一个引用计数属性,新增一个此对象时,计数加1,引用释放时计数减1,当对象的引用计数为0时,可以回收不可达分析:从GC Roots开始往下搜索,搜索走过的路径称为引用链,当一个对象到GC Roots没有任何引用链时,则证明此对象不可用的,不可达对象GC算法:
标记-清除算法:标记所有需要回收的对象,然后统一回收
复制算法:内存分为大小相同的两块,每次用一块,满了,将活着的复制到另一块中
标记-压缩算法: 标记过程仍然与“标记-清除”算法一样,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存
分段收集算法:“分代收集”(Generational Collection)算法,把Java堆分为新生代和老年代,这样就可以根据各个年代的特点采用最适当的收集算法。
GC分析 命令调优
此处后期补充 :)
更详细:JVM知识点总结
新闻热点
疑难解答