展开全部

主编推荐语

本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。

内容简介

本书是近年来国内出版的一本与Java虚拟机相关的专著,也是一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和实践也极具现实指导意义。全书共分为五大部分。部分从宏观的角度介绍了整个Java技术体系的过去、现在和未来,以及如何独立地编译一个OpenJDK7,这对理解后面的内容很有帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见的虚拟机的监控与调试工具的原理和使用方法。第三部分分析了虚拟机的执行子系统,包括Class的文件结构以及如何存储和访问Class中的数据;虚拟机的类创建机制以及类加载器的工作原理和它对虚拟机的意义;虚拟机字节码的执行引擎以及它在实行代码时涉及的内存结构。第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果。第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。

目录

  • 版权信息
  • 前言
  • 致谢
  • 第一部分 走近Java
  • 第1章 走近Java
  • 1.1 概述
  • 1.2 Java技术体系
  • 1.3 Java发展史
  • 1.4 展望Java技术的未来
  • 1.5 实战:自己编译JDK
  • 1.6 本章小结
  • 第二部分 自动内存管理机制
  • 第2章 Java内存区域与内存溢出异常
  • 2.1 概述
  • 2.2 运行时数据区域
  • 2.3 对象访问
  • 2.4 实战:OutOfMemoryError异常
  • 2.5 本章小结
  • 第3章 垃圾收集器与内存分配策略
  • 3.1 概述
  • 3.2 对象已死?
  • 3.3 垃圾收集算法
  • 3.4 垃圾收集器
  • 3.5 内存分配与回收策略
  • 3.6 本章小结
  • 第4章 虚拟机性能监控与故障处理工具
  • 4.1 概述
  • 4.2 JDK的命令行工具
  • 4.3 JDK的可视化工具
  • 4.4 本章小结
  • 第5章 调优案例分析与实战
  • 5.1 概述
  • 5.2 案例分析
  • 5.3 实战:Eclipse运行速度调优
  • 5.4 本章小结
  • 第三部分 虚拟机执行子系统
  • 第6章 类文件结构
  • 6.1 概述
  • 6.2 无关性的基石
  • 6.3 Class类文件的结构
  • 6.4 Class文件结构的发展
  • 6.5 本章小结
  • 第7章 虚拟机类加载机制
  • 7.1 概述
  • 7.2 类加载的时机
  • 7.3 类加载的过程
  • 7.4 类加载器
  • 7.5 本章小结
  • 第8章 虚拟机字节码执行引擎
  • 8.1 概述
  • 8.2 运行时栈帧结构
  • 8.3 方法调用
  • 8.4 基于栈的字节码解释执行引擎
  • 8.5 本章小结
  • 第9章 类加载及执行子系统的案例与实战
  • 9.1 概述
  • 9.2 案例分析
  • 9.3 实战:自己动手实现远程执行功能
  • 9.4 本章小结
  • 第四部分 程序编译与代码优化
  • 第10章 早期(编译期)优化
  • 10.1 概述
  • 10.2 Javac编译器
  • 10.3 Java语法糖的味道
  • 10.4 实战:插入式注解处理器
  • 10.5 本章小结
  • 第11章 晚期(运行期)优化
  • 11.1 概述
  • 11.2 HotSpot虚拟机内的即时编译器
  • 11.3 编译优化技术
  • 11.4 Java与C/C++的编译器对比
  • 11.5 本章小结
  • 第五部分 高效并发
  • 第12章 Java内存模型与线程
  • 12.1 概述
  • 12.2 硬件的效率与一致性
  • 12.3 Java内存模型
  • 12.4 Java与线程
  • 12.5 本章小结
  • 第13章 线程安全与锁优化
  • 13.1 概述
  • 13.2 线程安全
  • 13.3 锁优化
  • 13.4 本章小结
  • 附录A Java虚拟机家族
  • 附录B 虚拟机字节码指令表
  • 附录C HotSpot虚拟机主要参数表
  • 附录D 对象查询语言(OQL)简介[1]
  • D.1 SELECT子句
  • D.2 FROM子句
  • D.3 WHERE子句
  • D.4 属性访问器
  • D.5 OQL语言的BNF范式
  • 附录E JDK历史版本轨迹
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    3.0
    JVM版本有点旧了。

    没想到在这个 APP 里还能学编程。不过,这本书还在谈论 Java 6 ,真的太老了,既不主流,也不前沿。2023 年 9 月 19 日, Oracle 正式发布了最新的长期支持版本 ——Java 21,这一版本将获得官方 5 年重要的支持,这意味着对于开发者、企业而言,如果想要用上稳定又前沿的 JavaJDK 21 无疑是最好的选择。Oracle 将至少提供 8 年支持。根据客户反馈和 Java 生态系统使用情况,Oracle 还宣布将 Java 11 的支持至少延长至 2032 年 1 月,也就是至少再提供 8 年的支持与更新。从 Java 11 到 Java 21 的正式发布,一共修复了 24,196 个 JIRA 问题,其中 17,288 个是由 Oracle 的工作人员完成的,而 6,908 个是由个人开发人员和其他组织的开发人员贡献的。

      转发
      评论

    出版方

    机械工业出版社有限公司

    机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。