《揭秘Java虚拟机:JVM设计原理与实现》是一本Java工程师必读的经典之作,书中讲解了Java虚拟机的设计原理和实现过程,帮助读者深入了解JVM的内部运作机制,同时,本书也是Kotlin开发语言的基石,对于想要学习Kotlin的开发者也是一本必备的参考读物,通过对JVM设计思想的深入探索,读者可以更好地理解Java编程的精髓,并在实践中不断地应对技术变革,谷歌官方认可本书,让本书更具可信度和参考价值。
期盼了很久的一本书,也是毫不犹豫下了单。强烈建议Java程序员用心读一读,深刻理解JVM的工作机制才能对Java有更为深刻的理解,技术才能走的更远。
我一直研究虚拟机方面的,这书还是值得大家看看,针对初学者来说就茫然,这书主要针对工作五年以上的高工,才能理解明白
最近研究虚拟机相关的技术,看了深入理解java虚拟机后还不过瘾,就又买了一本,希望有所收获。
很牛的书,应该是国内写虚拟机实现最详细的了。我大概翻了3天,感觉自己真的too young了。
非常棒的一本书。作者从最底层的汇编开始到用C语言一步步用简单的代码示例解释了JVM的执行原理和过程,清晰明了,通俗易懂,对于程序员来说,这是最好的学习模式。后面针对JVM的内部实现和设计思路也图文并貌,达到了作者希望读者知其然也知其所以然的目的。个人认为周志明的深入理解JAVA虚拟机讲解的太过宏观和宽泛,封亚飞的这本对程序员的技术水平提高具有立干见影的效果,把这本书读懂读透,一定能成为一名优秀的JAVA程序员。
内容简介
本书从源码角度解读HotSpot的内部实现机制,本版本主要包含三大部分——JVM数据结构设计与实现、执行引擎机制及内存分配模型。
数据结构部分包括Java字节码文件格式、常量池解析、字段解析、方法解析。每一部分都给出详细的源码实现分析,例如字段解析一章,从源码层面详细分析了Java字段重排、字段继承等关键机制。再如方法解析一章,给出了Java多态特性在源码层面的实现方式。《揭秘Java虚拟机:JVM设计原理与实现》通过直接对源代码的分析,从根本上梳理和澄清Java领域中的关键概念和机制。
执行引擎部分包括Java方法调用机制、栈帧创建机制、指令集架构与解释器实现机制。这一话题是《揭秘Java虚拟机:JVM设计原理与实现》技术含量高的部分,需要读者具备一定的汇编基础。不过千万不要被“汇编”这个词给吓着,其实在作者看来,汇编相比于高级语言而言,语法非常简单,语义也十分清晰。执行引擎部分重点描述Java源代码如何转换为字节码,又如何从字节码转换为机器指令从而能够被物理CPU所执行的技术实现。同时详细分析了Java函数堆栈的创建全过程,在源码分析的过程中,带领读者从本质上理解到底什么是Java函数堆栈和栈帧,以及栈帧内部的详细结构。
内存分配部分主要包括类型创建与加载、对象实例创建与内存分配,例如new关键字的工作机制,import关键字的作用,再如java.lang.ClassLoader.loadClass()接口的本地实现机制。
本书并不是简单地分析源码实现,而是在描述HotSpot内部实现机制的同时,分析了HotSpot如此这般实现的技术必然性。读者在阅读《揭秘Java虚拟机:JVM设计原理与实现》的过程中,将会在很多地方看到作者本人的这种思考。
目录
- 第1 章 Java 虚拟机概述 1
- 第2 章 Java 执行引擎工作原理:方法调用 25
- 第3 章 Java 数据结构与面向对象 115
- 第4 章 Java 字节码实战 158
- 第5 章 常量池解析 204
- 第6 章 类变量解析 277
- 第7 章 Java 栈帧 340
- 第8 章 类方法解析 437
- 第9 章 执行引擎 510
- 第10 章 类的生命周期 599