深入理解Java虚拟机:JVM高级特性与最佳实践

第2版

阅读
¥25.00
  • 导言
  • 目录
  • 作品信息

《深入理解Java虚拟机:JVM高级特性与最佳实践》第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据最新的JDK 1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的修正;等等。第2版不仅技术更新、内容更丰富,而且实战性更强。

《深入理解Java虚拟机:JVM高级特性与最佳实践》共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。第三部分分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果;第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。

周志明:资深Java技术专家,对JavaEE企业级应用开发、OSGi、Java虚拟机和工作流等都有深入的研究,并在大量的实践中积累了丰富的经验。尤其精通Java虚拟机,撰写了大量与JVM相关的经典文章,被各大技术社区争相转载,是ITeye等技术社区公认的Java虚拟机方面的领袖人物之一。除本书外,还著有经典著作《深入理解OSGi:Equinox原理、应用与最佳实践》,广获读者好评。现任远光软件股份有限公司开发部总经理兼架构师,先后参与过国家电网、南方电网等多个国家级大型ERP项目的平台架构工作,对软件系统架构也有深刻的认识和体会。

  1. 前言
  2. 第2版与第1版的区别
  3. 本书面向的读者
  4. 如何阅读本书
  5. 语言约定
  6. 内容特色
  7. 参考资料
  8. 勘误和支持
  9. 致谢
  10. 第一部分 走近Java
  11. 第1章 走近Java
  12. 1.1 概述
  13. 1.2 Java技术体系
  14. 1.3 Java发展史
  15. 1.4 Java虚拟机发展史
  16. 1.5 展望Java技术的未来
  17. 1.6 实战:自己编译JDK
  18. 1.7 本章小结
  19. 第二部分 自动内存管理机制
  20. 第2章 Java内存区域与内存溢出异常
  21. 2.1 概述
  22. 2.2 运行时数据区域
  23. 2.3 HotSpot虚拟机对象探秘
  24. 2.4 实战:OutOfMemoryError异常
  25. 2.5 本章小结
  26. 第3章 垃圾收集器与内存分配策略
  27. 3.1 概述
  28. 3.2 对象已死吗
  29. 3.3 垃圾收集算法
  30. 3.4 HotSpot的算法实现
  31. 3.5 垃圾收集器
  32. 3.6 内存分配与回收策略
  33. 3.7 本章小结
  34. 第4章 虚拟机性能监控与故障处理工具
  35. 4.1 概述
  36. 4.2 JDK的命令行工具
  37. 4.3 JDK的可视化工具
  38. 4.4 本章小结
  39. 第5章 调优案例分析与实战
  40. 5.1 概述
  41. 5.2 案例分析
  42. 5.3 实战:Eclipse运行速度调优
  43. 5.4 本章小结
  44. 第三部分 虚拟机执行子系统
  45. 第6章 类文件结构
  46. 6.1 概述
  47. 6.2 无关性的基石
  48. 6.3 Class类文件的结构
  49. 6.4 字节码指令简介
  50. 6.5 公有设计和私有实现
  51. 6.6 Class文件结构的发展
  52. 6.7 本章小结
  53. 第7章 虚拟机类加载机制
  54. 7.1 概述
  55. 7.2 类加载的时机
  56. 7.3 类加载的过程
  57. 7.4 类加载器
  58. 7.5 本章小结
  59. 第8章 虚拟机字节码执行引擎
  60. 8.1 概述
  61. 8.2 运行时栈帧结构
  62. 8.3 方法调用
  63. 8.4 基于栈的字节码解释执行引擎
  64. 8.5 本章小结
  65. 第9章 类加载及执行子系统的案例与实战
  66. 9.1 概述
  67. 9.2 案例分析
  68. 9.3 实战:自己动手实现远程执行功能
  69. 9.4 本章小结
  70. 第四部分 程序编译与代码优化
  71. 第10章 早期(编译期)优化
  72. 10.1 概述
  73. 10.2 Javac编译器
  74. 10.3 Java语法糖的味道
  75. 10.4 实战:插入式注解处理器
  76. 10.5 本章小结
  77. 第11章 晚期(运行期)优化
  78. 11.1 概述
  79. 11.2 HotSpot虚拟机内的即时编译器
  80. 11.3 编译优化技术
  81. 11.4 Java与C/C++的编译器对比
  82. 11.5 本章小结
  83. 第五部分 高效并发
  84. 第12章 Java内存模型与线程
  85. 12.1 概述
  86. 12.2 硬件的效率与一致性
  87. 12.3 Java内存模型
  88. 12.4 Java与线程
  89. 12.5 本章小结
  90. 第13章 线程安全与锁优化
  91. 13.1 概述
  92. 13.2 线程安全
  93. 13.3 锁优化
  94. 13.4 本章小结
  95. 附录
  96. 附录A 编译Windows版的OpenJDK
  97. A.1 获取JDK源码
  98. A.2 系统需求
  99. A.3 构建编译环境
  100. A.4 准备依赖项
  101. A.5 进行编译
  102. 附录B 虚拟机字节码指令表
  103. 附录C HotSpot虚拟机主要参数表
  104. C.1 内存管理参数
  105. C.2 即时编译参数
  106. C.3 类型加载参数
  107. C.4 多线程相关参数
  108. C.5 性能参数
  109. C.6 调试参数
  110. 附录D 对象查询语言(OQL)简介
  111. D.1 SELECT子句
  112. D.2 FROM子句
  113. D.3 WHERE子句
  114. D.4 属性访问器
  115. D.5 OQL语言的BNF范式
  116. 附录E JDK历史版本轨迹

作者周志明

类别 图书 / 非虚构

出版社机械工业出版社

出版日期

ISBN9787111421900

提供方华章数媒

标签计算机(1342)编程(360)IT(191)Java(36)JVM(2)

喜欢这本书的人也喜欢

来自豆瓣读书的评论30