前章回顾

对象的实例化

  • JVM接受到new命令时,会检查类元数据信息是否存咋元空间中。如果不存在就根据双亲委派进行类的加载,生成对象Class类对象。
  • 为对象分配内存
  • 对成员变量进行零值赋值
  • 设置对象头信息
  • 执行init方法,对象进行初始化。

垃圾回收

首先由GC Roots对是否存活对象进行标记,再使用各种垃圾回收算法进行处理。其中有:标记-清除、标记-整理、mark-copy等等。
而后简单的介绍了三个垃圾收集器:Serial,CMS,G1。

Java虚拟机的学习完成了初级的阶段。下面归纳一下简单易学的JVM初级这个系列。

    1. 开篇介绍了Java虚拟机的发展历程,其中最为代表的是HotSpot虚拟机,是1999年sun公司发布的,后JRockit并入HotSpot,最后到Oracle收购sun公司,HotSpot也由Oracle继续发展。
    1. 介绍了java源文件经过静态编译器生成了java字节码
    1. 介绍java字节码由java虚拟机加载的过程,经过类加载器加载,链接,初始化后,达到可执行的状态。
    1. 介绍了java虚拟机的内存布局结构。
    1. 介绍了对象的实例化,由Object obj = new Object()为例,查看对象创建的过程。
    1. 介绍了垃圾回收的算法和三个垃圾回收器

更多更细、更深入的内容包括JVM调优等等,请以后继续关注。