闲来无事在三万英尺高空俯瞰一下JVM
作者:互联网
今天把早先买来的阿里的《Java 开发手册》翻出来准备看看,彩版印刷很是美观,就选第四章-走进JVM读读吧。
全章共五节分别是:
- 字节码
- 类加载过程
- 内存布局
- 对象实例化
- 垃圾回收
从字节码说起,分析类加载的过程,并结合内存布局,讲解对象创建与垃圾回收等各个知识点。
第一节要点:
-
- JVM顾名思义本质上就是一个同hellowold一样的软件程序,但它属于及其复杂的一类,并且它模拟一台硬件机器(基于栈),从而实现平台无关。
- 虚拟机字节码(bytecode)就像真实机器上的汇编语言,Java字节码有8比特一字节的大小,全部字节码指令的数量在200个左右。
- JVM解释执行字节码(JVM底层还是通过真实OS的系统调用来实现),屏蔽对OS的依赖。热点代码会被JIT动态地编译为机器码,提高执行效率。
- 类的二进制字节码起始的四个字节是cafe babe ,由James Gosling定义的一个魔法数,标志该文件是一个Java类文件,如果没有识别到该标志,说明该文件不是Java类文件或者文件已损坏,无法进行加载。紧随其后的是当前版本号,如ox37(0000 0037)十进制是55,是JDK11 的内部版本号。
标签:文件,Java,字节,版本号,三万英尺,JVM,闲来无事,加载 来源: https://www.cnblogs.com/marlowex/p/14729523.html