美文网首页大数据Java
还不懂JVM的设计原理与实现?赶紧跟着字节大牛“身临其境”

还不懂JVM的设计原理与实现?赶紧跟着字节大牛“身临其境”

作者: 用嘴写代码 | 来源:发表于2020-09-04 11:13 被阅读0次

    java虚拟机

    虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

    内容简介

    本书从源码角度解读HotSpot的内部实现机制,本版本主要包含三大部分一JVM数据结 构设计与实现、执行引擎机制及内存分配模型。数据结构部分包括Java字节码文件格式、常量池解析、字段解析、方法解析。每一部分都给出详细的源码实现分析,例如字段解析一章,从源码层面详细分析了Java字段重排、字段继承等关键机制。再如方法解析一章,给出了Java多态特性在源码层面的实现方式。本书通过直接对源代码的分析,从根本上梳理和澄清Java领域中的关键概念和机制。

    执行引擎部分包括Java方法调用机制、栈帧创建机制、指令集架构与解释器实现机制。这一话题是全书技术含量最高的部分,需要读者具备-定的汇编基础。不过千万不要被“汇编”这个词给吓着,其实在作者看来,汇编相比于高级语言而言,语法非常简单,语义也十分清晰。执行引擎部分重点描述Java源代码如何转换为字节码,又如何从字节码转换为机器指令从而能够被物理CPU所执行的技术实现。同时详细分析了Java函数堆栈的创建全过程,在源码分析的过程中,带领读者从本质上理解到底什么是Java函数堆栈和栈帧,以及栈帧内部的详细结构。

    内存分配部分主要包括类型创建与加载、对象实例创建与内存分配,例如new关键字的工作机制,import关键字的作用,再如java.lang.ClassLoader.loadClass()接口的本地实现机制。

    本书并不是简单地分析源码实现,而是在描述HotSpot内部实现机制的同时,分析了HotSpot如此这般实现的技术必然性。读者在阅读本书的过程中,将会在很多地方看到作者本人的这种思考。

    全书共十章,目录如下:

    由于篇幅限制小编,小编只在这里给大家展示目录及部分内容,有需要完整文档的程序猿(媛)可以帮忙转发+关注,后台私信【学习】或【资料】获取

    第1章Java虚拟机概述

    本章摘要

    ◎Java 语言产生的历史背景

    ◎编程语言跨平台的实现

    ◎中间语言的实现

    第2章Java执行引擎工作原理:方法调用

    本章摘要

    ◎JVM如何进行方法调用

    ◎JVM 如何分配方法栈

    ◎JVM 如何取指

    ◎JVM 如何执行逻辑运算

    第3章Java数据结构与面向对象

    本章摘要

    ◎数据结构是什么, 为什么需要数据结构

    。数据结构的发 展历史以及与算法的关系

    。Java 数据结构的实现机制

    ◎Java 数据结构一面向对象之技术必然性与偶然性

    ◎Java 数据结构的字节码格式分析

    ◎大端与小端

    第4章Java字节码实战

    本章摘要

    ◎Java字节码的二进制格式

    ◎Java字节码的魔数与版本

    ◎Java 字节码的常量池

    ◎Java 字节码的类继承

    ◎ Java 字节码的字段存储

    ◎Java 字节码的方法格式

    第5章常量池解析

    本章摘要

    ◎Java 字节码常量池的内存分配链路

    。oop-klass模型

    。常量池的解析原理

    第6章类变量解析

    本章摘要

    ◎Java 类变量解析的原理

    。计算机基础偏移量 与内存对齐

    ◎Java 类与字段的对齐与补白

    0 Java 字段的继承机制

    ◎使用 HSDB查看运行时的Java类结构

    第7章Java栈帧

    本章摘要

    ◎entry. point例程

    ◎局部变量表 创建的机制

    ◎堆栈与栈帧的概念

    ◎JVM 栈帧创建的详细过程

    ◎slot大小到底是多大

    ◎slot复用

    ◎操作数栈复用与深度

    第8章类方法解析

    本章摘要

    ◎Java方法签名解析

    ◎Java方法的code属性解析

    ◎LVT 与LVTT

    ◎method 创建

    ◎Java 方法的字节码指令解析

    ◎<clinit>0方法 与<ini>0方法

    ◎使用 HSDB查看运行时的字节码指令

    。vtable的概念与机制

    第9章执行引擎

    本章摘要

    ◎JVM 的取指与译码机制

    。栈顶缓存原理

    ◎操作数栈与栈帧重叠技术

    ◎JVM 指令集特点与实现

    第10章类的生命周期

    本章摘要

    ◎类的生命 周期

    。类加载的内 部实现及触发

    ◎类的初始化

    ◎类加载器的本质

    ◎类实例分配

    由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!不会只有大纲和目录,有需要的程序猿(媛)可以帮忙转发+关注,后台私信【学习】或【资料】获取

    相关文章

      网友评论

        本文标题:还不懂JVM的设计原理与实现?赶紧跟着字节大牛“身临其境”

        本文链接:https://www.haomeiwen.com/subject/oelzsktx.html