揭秘Java虚拟机

- 书名:揭秘Java虚拟机
- 作者: 封亚飞
- 格式:MOBI,AZW3,EPUB
- 时间:2024-06-21
- 评分:
- ISBN:9787121315411
《揭秘Java虚拟机:JVM设计原理与实现》从源码角度解读HotSpot的内部实现机制,《揭秘Java虚拟机》主要包含三大部分——JVM数据结构设计与实现、执行引擎机制及内存分配模型。
数据结构部分包括Java字节码文件格式、常量池解析、字段解析、方法解析。每一部分都给出详细的源码实现分析,例如字段解析一章,从源码层面详细分析了Java字段重排、字段继承等关键机制。再如方法解析一章,给出了Java多态特性在源码层面的实现方式。《揭秘Java虚拟机:JVM设计原理与实现》通过直接对源代码的分析,从根本上梳理和澄清Java领域中的关键概念和机制。
执行引擎部分包括Java方法调用机制、栈帧创建机制、指令集架构与解释器实现机制。这一话题是《揭秘Java虚拟机:JVM设计原理与实现》技术含量高的部分,需要读者具备一定的汇编基础。不过千万不要被“汇编”这个词给吓着,其实在作者看来,汇编相比于高级语言而言,语法非常简单,语义也十分清晰。执行引擎部分重点描述Java源代码如何转换为字节码,又如何从字节码转换为机器指令从而能够被物理CPU所执行的技术实现。同时详细分析了Java函数堆栈的创建全过程,在源码分析的过程中,带领读者从本质上理解到底什么是Java函数堆栈和栈帧,以及栈帧内部的详细结构。
内存分配部分主要包括类型创建与加载、对象实例创建与内存分配,例如new关键字的工作机制,import关键字的作用,再如java.lang.ClassLoader.loadClass()接口的本地实现机制。
《揭秘Java虚拟机:JVM设计原理与实现》并不是简单地分析源码实现,而是在描述HotSpot内部实现机制的同时,分析了HotSpot如此这般实现的技术必然性。读者在阅读《揭秘Java虚拟机:JVM设计原理与实现》的过程中,将会在很多地方看到作者本人的这种思考。
- 上一篇: 随椋鸟飞行:复杂系统的奇境
- 下一篇: 道德经大全集
-
肥猫爱编程2022-07-11其实,这段程序是在计算一个小学2年级的数学题目:求1到8的和。这段机器码使用了循环,如果写成java代码,类似这样:int sum=0;for(int i=0;i<8; i++){ sum +=i;}
-
肥猫爱编程2022-07-10揭示Java字节码指令内部实现的真9。10字节码指令实现dsug :Eobtbaedx0在前文讲解栈顶缓存机制时,提到模板解释器所生成的本地机器指令与栈顶缓存有很大的vom :DaEdx0夫系儿大部分京市指令的本型卷使一枝队缓存这种优化技术这里将实片解的过3、soc。0和a妇等指令也都使用丁模顶缓行技术。同时,在前面讲解栈顶缓存的章节中,其实已经详细讲解了0d系列指令的本地实现机制,因此这里便不再赘述。曾另外,在描述字节码指令的本地实现机制之前,有一点需要说明,当VM开始调用一个本00向议◆战无2no5阳方法之前,会为该Jva方法创建好栈帧,前面讲过,ava方法栈愤主要包含3大块,分别思局部变量表、固定锁和操作数栈。当VM为即将调用的]a方法准备好栈顿之后,在x86平台上,VM会以cs1寄存器作为程序计数器,并会将该寄存器指向局部变量表的第0个sot内存位置,同时VM会将sp这种栈预寄荐器指向Java方法的操作数栈栈顶,因此,在JVM执行目标Jav阳方法所对应的字节码指令时,字节码指令所对应的本地机器码指令push与pop,实际上便是在操作Java方法的操作数栈栈顶,所以下面所说的压栈和出栈实际上是指对Java方法操作数栈的压栈和出栈。喻清测时司原市放排里数,单简奶案容工认章容页时口本示何序所对应的第二子节码指个中器中罪个鼻购亨址特州大具面处人最速婚来现景相具爵高了即财人£宁》孙会大刻的御角连今量北2oi公带一将界驶绿州风上是钢个用的西同其的只◆完吸的面品其明·597●
-
肥猫爱编程2022-07-10Java函数入参第每限的的第局部变量表argsJava函数局部变量a=18b=21sumreturnaddressebpcaller sp0固定帧methodOop意示鱼立导到0constantPoolCachelocalspointerbcpesp元个表达式栈a=18娇和图9。9Test:main0函数执行完iload2字节码指令之后的栈核结抽及个t
-
经济管理豆瓣 8.8
-
经济管理
-
经济管理豆瓣 7.8
-
经济管理豆瓣 5.6
-
经济管理豆瓣 7.4
-
经济管理
-
经济管理
-
经济管理豆瓣 2.7