JVM总结

1. JVM五大组成部分:

  1. PC
  2. 本地方法栈
  3. 方法区

2. GC:

2.1 内存管理机制

  • 显示内存管理
  • 隐式内存管理

2.2 GC算法

  • 引用计数法
  • 根搜索算法(标记算法)

2.2.1 GCroot:

就是一组必须活跃的引用.这些引用位于栈、方法区中。能通过其调用堆内存中的对象

  • 虚拟机栈中的引用对象
  • 方法区中的静态属性引用的对象
  • 方法区中常量引用的对象

2.2.2 引用链

从GC Root出发,向下搜索,直到目标节点,搜索所走的路径称为引用链(Reference chain)

2.2.3 回收标准

一个对象与任何根节点都不可达,即可回收

3. GC内存回收

  • Shallow size 对象本身所占用的内存
  • Retained size 回收一个对象后,连带着回收的其他引用对象的总内存

4.回收算法

4.1 标记清除算法

  • 会产生大量的内部碎片

4.2 标记整理算法

  • 移动耗时

4.3 复制算法

  • 利用率低,仅有一半的内存被利用
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java 虚拟机(Java virtual machine,JVM)是运行 Java 程序必不可少的机制。JVM实...
    Rick617阅读 898评论 0 0
  • JVM架构 当一个程序启动之前,它的class会被类装载器装入方法区(Permanent区),执行引擎读取方法区的...
    cocohaifang阅读 1,713评论 0 7
  • jvm原理 Java虚拟机是整个java平台的基石,是java技术实现硬件无关和操作系统无关的关键环节,是java...
    AI乔治阅读 17,336评论 21 486
  • 一. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对...
    Stan_Z阅读 1,970评论 0 25
  • Benefique DEEP BLOCK ESSENCE 资生堂碧丽妃 防UV防晒霜 SPF50+ PA++++ ...
    屁颠儿屁颠儿阅读 314评论 0 0