深入浅出Java虚拟机:JVM原理与实战 封面

深入浅出Java虚拟机:JVM原理与实战

评分 3.2
字数
12.9万字
章节数
72
ISBN
9787301337752

标签

内容简介

本书主要以Java虚拟机的基本特性及运行原理为中心,分析了JVM的组成结构和底层实现,介绍了很多性能调优的方案和工具的使用方法。最后还扩展介绍了JMM内存模型的实现原理和Java编译器的优化机制。

编辑推荐

本书以Java虚拟机的基本特性及运行原理为中心,分析JVM的组成结构与底层实现,并介绍性能调优的方案和工具使用方法,最后扩展讲解JMM内存模型的实现原理与Java编译器的优化机制。整体结构呈现由结构认知到调优实践、再到内存模型与编译优化的递进关系,适合希望把JVM知识转化为排查能力的开发者。阅读价值在于帮助读者理解运行现象背后的机制,而不是停留在参数记忆层面。适合在遇到内存溢出、GC频繁等实际问题时对照查阅,也适合作为面试前系统梳理JVM知识体系的参考。底层实现部分信息密度较高,建议配合示例与工具实操逐步消化。

适合谁读

适合

  • 希望系统理解JVM组成结构与运行原理的Java开发者
  • 需要排查内存、GC等问题并进行性能调优的后端工程师
  • 准备技术面试、需要梳理JVM与内存模型知识体系的读者
  • 对Java编译器优化机制与底层实现感兴趣的中高级开发者

不适合

  • 没有Java编程基础、尚不清楚类与对象基本概念的初学者
  • 只想学习业务框架用法、不关注运行时机制的开发者
  • 期望仅靠阅读、不愿使用调优工具动手验证的读者

阅读建议

  1. 先读JVM组成结构章节,建立运行时区域的整体框架再深入底层实现。
  2. 学习调优部分时配合书中工具在本机复现问题,记录参数变化与结果。
  3. 把JMM与编译器优化章节放在最后精读,与前面结构知识互相印证。
  4. 每章结束后用自己的话复述关键机制,检验是否真正理解而非记忆。

出版社简介

北京大学出版社 中国 · 成立于 1979 年

北京大学出版社是一家综合性大学出版社,其出版方向涵盖古典文学、科学科普、社会文化、世界史、西方哲学与文化等领域。库内收录图书6031种,代表性图书包括《红楼梦》《狭义与广义相对论浅说(第15版)(附爱因斯坦关于统一场论及其他经典论文)》《几何原本》《圆锥曲线论》《东晋门阀政治》《神话哲学(上卷)》《神话哲学(下卷)》《海陆的起源》等。代表作者有曹雪芹、周汝昌、爱因斯坦、欧几里得、阿波罗尼奥斯、田余庆、谢林、先刚等。该社在古典文学与西方哲学原典译介方面形成特色,兼及科学经典与社会文化研究。因公开资料有限,此处仅依据库内图书呈现其出版方向,不作额外延伸。

目录

  1. 版权信息
  2. 内容提要
  3. 前言
  4. 第1章 Java语言的起源
  5. 1.1 Java发展的艰辛历程
  6. 1.2 Java散发的独特魅力
  7. 1.3 网络时代带来的挑战
  8. 1.4 Java生态的体系结构
  9. 1.5 JVM的进化发展史
  10. 1.6 小结
  11. 第2章 初次接触JVM
  12. 2.1 通过Oracle JDK搭建运行环境
  13. 2.2 通过Open JDK搭建运行环境
  14. 2.3 Open JDK和Oracle JDK的关系
  15. 2.4 小结
  16. 第3章 迈向JVM的第一步
  17. 3.1 JVM内部七大“核心”
  18. 3.2 JVM外部有利“辅助”
  19. 3.3 JVM内部对象的探索发掘
  20. 3.4 JVM的OOM异常
  21. 3.5 JVM的总体内存结构分布
  22. 3.6 小结
  23. 第4章 开始认识类加载系统
  24. 4.1 类加载系统的整体生命周期和流程
  25. 4.2 类加载系统为我们带来了什么
  26. 4.3 Class字节码的组成
  27. 4.4 小结
  28. 第5章 进入虚拟机核心世界
  29. 5.1 堆内存的“管辖范围”
  30. 5.2 内存管理系统回收垃圾
  31. 5.3 垃圾回收的类型
  32. 5.4 方法区
  33. 5.5 执行引擎子系统
  34. 5.6 对象描点标记的方法
  35. 5.7 GC垃圾回收算法
  36. 5.8 小结
  37. 第6章 永远线程安全的区域
  38. 6.1 虚拟机栈和PC寄存器
  39. 6.2 虚拟机执行机制介绍
  40. 6.3 小结
  41. 第7章 虚拟机字节码指令集
  42. 7.1 字节码指令概述
  43. 7.2 字节码指令执行案例分析
  44. 7.3 小结
  45. 第8章 JVM运作原理深入分析
  46. 8.1 内存分配及回收的依据
  47. 8.2 内存分配及回收的策略
  48. 8.3 小结
  49. 第9章 JVM分析工具大全
  50. 9.1 JVM分析工具概述
  51. 9.2 常用JVM图形化分析工具概述
  52. 9.3 JVM在线性能分析服务
  53. 9.4 小结
  54. 第10章 Arthas分析JVM问题定位
  55. 10.1 Arthas学习指南
  56. 10.2 Arthas分析OOM问题定位
  57. 10.3 Arthas分析FullGC问题定位
  58. 10.4 Arthas分析线程方面问题定位
  59. 10.5 小结
  60. 第11章 程序的编译和代码优化
  61. 11.1 Java体系的3种编译器
  62. 11.2 JIT编译器
  63. 11.3 AOT编译器
  64. 11.4 编译技术的优化
  65. 11.5 逃逸分析技术
  66. 11.6 小结
  67. 第12章 Java内存模型和线程运作原理
  68. 12.1 Java内存模型
  69. 12.2 线程实现
  70. 12.3 线程安全控制
  71. 12.4 线程的锁优化
  72. 12.5 小结

常见问题

Java基础一般,读这本书会吃力吗?
会有一定门槛。本书围绕JVM组成结构与底层实现展开,要求读者熟悉Java基本语法和面向对象概念。基础一般的读者可先补齐Java核心知识,再按章节顺序阅读,遇到底层实现部分放慢速度,配合工具实操帮助理解。
书中的调优内容能直接用于生产环境吗?
书里介绍的是性能调优的方案和工具使用方法,思路具有参考价值。生产环境情况复杂,建议先在测试环境验证参数与工具效果,结合监控数据判断,不要直接照搬配置,同时注意版本与运行环境差异带来的影响。
JMM和编译器优化部分需要重点读吗?
如果关注并发正确性与程序运行机制,这两部分值得精读。它们扩展了JVM主体知识,帮助理解内存可见性与编译期优化的关系。若只是应对日常调优,可先掌握结构与调优章节,再回头补读这部分内容。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

作者简介

李博 作者

李博是一位作品题材跨度较大的中文作者,公开资料有限,尚无法确认其专业背景与个人经历。库内收录其作品十二种,涵盖医学、财经、励志成长、健康、管理、编程设计等多个门类。代表作品包括《如此简单的循证2:循证医学入门之旅》《诊室里来不及说的话》,显示其能把专业医学内容写得通俗易读;《像经济学家一样思考》《资产定价模型与因子投资研究》等则涉及经济与投资分析;《成大事者说话101法则》《吃瘦不饿瘦》《调好肠胃百病消》等又面向日常沟通与健康管理。其写作整体偏向实务与入门,善于面向普通读者拆解专业知识,因而在多个阅读领域均有涉及。

同一作者

同类高分