欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 深入解析Java虚拟机HotSpot/Java核心技术系列
      • 作者:杨易|责编:李艺
      • 出版社:机械工业
      • ISBN:9787111670315
      • 出版日期:2021/01/01
      • 页数:257
    • 售价:31.6
  • 内容大纲

        很多JVM的底层技术细节你是否只了解表面?
        面对JVMCrash或性能调优方面的问题时你是否会束手无策?
        面对上层Java应用发生的偏离预期的行为是否会不知所措?
        ……
        这本书以源码分析为基础,从运行时、垃圾回收器、即时编译器3个维度全面、深入解析HotSpotVM的底层实现和工作机制,同时与上层的Java语言和库结合,指导读者解决JVM开发、JVM调优和JVM排错方面遇到的各种问题。
        广度与深度兼顾:广度上涵盖GraalVM、CDS、Instrumentation、编译重放、非标准字节码、RTM锁、JIT调试工具、EpsilonGC/ShenandoahGC/ZGC、G1字符串去重等重要知识点;深度上深入解析了C1、C2、G1GC、ObjectMonitor、Mutex、模板解释器等的底层实现。
        全书共11章,参考OpenJDK社区的划分方式来组织内容,分为运行时、即时编译器、垃圾回收器三个部分。
        第一部分(第1~6章)运行时
        首先,从Java生态系统的角度,简单介绍了JDK、JVM、JEP、HotSpotVM、GraalVM,引导读者快速进入Java虚拟机的世界;然后从源码的角度深入解析了HotSpotVM的类可用机制、对象和类、运行时、模板解释器和并发设施。
        第二部分(第7~9章)即时编译器
        首先重点介绍了即时编译器技术、编译理论、编译器调试方法等编译器的基础知识;然后详细讲解了C1和C2两个即时编译器的实现原理、工作机制和优化方法。
        第三部分(第10~11章)垃圾回收器
        首先全面介绍了EpsilonGC、SerialGC、ParallelGC、CMSGC、G1GC、ShenandoahGC、ZGC等各种垃圾回收器,然后重点剖析了G1GC。
  • 作者介绍

        杨易,Java开发工程师,就职于阿里云基础设施部。     热衷于研究编程语言的设计与实现,对Java语言的设计与实现有非常深入的研究,尤其是Java的虚拟机HotSpot,在JVM的开发、调优和排错方面积累了丰富的经验。此外,在编译器领域也有较深厚的积累。     有着自由软件精神的开发者,是GitHub中国区follower数量排名前1 00的开源项目维护者。喜欢各种新鲜技术和新鲜事物,对服务端编程、逆向安全略知一二。
  • 目录

    前言
    第1章  Java大观园
      1.1  OpenJDK
      1.2  JEP
      1.3  Java虚拟机
      1.4  HotSpot VM
        1.4.1  源码模块
        1.4.2  构建和调试
        1.4.3  回归测试
      1.5  Graal VM
      1.6  本章小结
    第2章  类可用机制
      2.1  类的加载
        2.1.1  字节码
        2.1.2  类加载器
        2.1.3  文件解析
      2.2  类的链接
        2.2.1  字节码验证
        2.2.2  字节码重写
        2.2.3  方法链接
      2.3  类的初始化
      2.4  类的重定义
      2.5  本章小结
    第3章  对象和类
      3.1  对象与类
      3.2  对象
        3.2.1  创建对象
        3.2.2  对象头
        3.2.3  对象哈希值
      3.3  类
        3.3.1  字段遍历
        3.3.2  虚表
      3.4  本章小结
    第4章  运行时
      4.1  线程创生纪
        4.1.1  容器化支持
        4.1.2  Java线程
        4.1.3  虚拟机线程
        4.1.4  编译器线程
        4.1.5  服务线程
        4.1.6  计时器线程
      4.2  Java线程
        4.2.1  线程启动
        4.2.2  线程停止
        4.2.3  睡眠与中断
      4.3  栈帧
      4.4  Java/JVM沟通
        4.4.1  JNI
        4.4.2  JavaCalls
      4.5  Unsafe类

        4.5.1  堆外内存
        4.5.2  内存屏障
        4.5.3  阻塞和唤醒
        4.5.4  对象数据修改
      4.6  本章小结
    ……
    第5章  模板解释器
    第6章  并发设施
    第7章  编译概述
    第8章  C1编译器
    第9章  C2编译器
    第10章  垃圾回收