读书笔记之《深入理解Java虚拟机:JVM高级特性与最佳实践》(下)

发布时间:2022-08-19 12:20

学而不思则罔,思而不学则殆。 —— 孔子

微信公众号已开启,菜农曰,没关注的同学们记得关注哦!

本篇带来的是周志明老师编写的《深入理解Java虚拟机:JVM高级特性与最佳实践》,十分硬核!

读书笔记之《深入理解Java虚拟机:JVM高级特性与最佳实践》(下)_第1张图片

全书共分为 5 部分,围绕内存管理执行子系统程序编译与优化高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM工作原理。

全书整体5个部分,十三章,共 358929 字。整体结构相当清晰,以至于写读书笔记的时候无从摘抄(甚至想把全书复述一遍),以下是全书第三部分的内容,望读者细细品尝!

一、第三部分 虚拟机执行子系统

代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步

读书笔记之《深入理解Java虚拟机:JVM高级特性与最佳实践》(下)_第2张图片

第六章 类文件结构

计算机只认识 0 和 1,所以我们写的程序需要经编译器翻译成由 0 和 1 构成的二进制格式才能由计算机执行。

1)无关性的基石

各种不同平台的虚拟机与所有平台都统一使用的程序存储格式 — 字节码(ByteCode)是构成平台无关性的即时。

读书笔记之《深入理解Java虚拟机:JVM高级特性与最佳实践》(下)_第3张图片

2)Class类文件的结构

任何一个Class 文件都对应着唯一一个类或接口的定义信息,但反过来,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过类加载器直接生成)

Class 文件是一组以 8 位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在 Class 文件之中,中间没有任何分隔符,这使得整个 Class 文件中存储的内容几乎全部是程序运行的必要数据。

Class 文件格式采用一种类似C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型:

  • 无符号数 :基本的数据类型,可以用来描述数字、索引引用、数量值或者按照UTF-8编码构成字符串值
  • :由多个无符号数或者其他表作为数据项构成的复合数据类型,所有表都习惯性地以 _info 结尾。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号