这本书的章节:

第一章:初始hotspot

第二章:hotspot的启动-------(启动,初始化过程)

第三章:类与对象

第四章:运行时数据区---------(注意:这是运行时数据区,在初始化的过程中,数据区还不一样,还没有对数据区划分)

第五章:垃圾回收

第六章:栈

第七章:解释器和即时编译器

第八章:指令集

第九章:虚拟机监控工具


对于这本书,“类与对象”,“运行时数据区”,“垃圾回收”,“栈”,“解释器和即时编译器”,“虚拟机监控工具”这几章东西随处可见,在别的网站或者书本都能理解到,这也是常提的。

对于hotspot指令集可能提到的不多,可以好好研究下。

hotspot的启动过程很少见到,也是对hotspot再一次深入理解的关键。


main:

主要获取jvm 的设置的参数,加载jvmlib本地的c库,设置环境参数,启动线程创建jvm 进程。

javaMain:

加载本地的方法库,创建本地函数指针结构体JNIEnv,将本地的方法需找加载,并将函数指针放入JNIEnv结构体中。

JNI_CreateJavaJVM:

调用本地方法,创建一个用户级别的进程,内核中对应应用级别线程。

add():

添加vm参数信息,环境参数信息。

create:

创建vm进程,接着虚拟机加载模块,输入输出模块,配置launcher模块,初始化os模块,GC模块等。

init_vm_globals:

设置虚拟机选项和参数信息;加载agent库,设置线程栈信息,虚拟机内存划分和全局信息设置,加载jdk 核心类,初始化jvm系统类加载器模块。







Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐