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

简介: 目 录 [ - ] 《深入理解Java虚拟机:JVM高级特性与最佳实践》前言《深入理解Java虚拟机:JVM高级特性与最佳实践》内容特色《深入理解Java虚拟机:JVM高级特性与最佳实践》目录第1章 走近Java1.1 概述1.2 Java技术体系1.3 Java发展史1.4 展望Java技术的未来1.4.1 模块化1.4.2 混合语言1.4.3 多核并行1

目 录 [ - ]

  1. 《深入理解Java虚拟机:JVM高级特性与最佳实践》前言
  2. 《深入理解Java虚拟机:JVM高级特性与最佳实践》内容特色
  3. 《深入理解Java虚拟机:JVM高级特性与最佳实践》目录
  4. 第1章 走近Java
  5. 1.1 概述
  6. 1.2 Java技术体系
  7. 1.3 Java发展史
  8. 1.4 展望Java技术的未来
  9. 1.4.1 模块化
  10. 1.4.2 混合语言
  11. 1.4.3 多核并行
  12. 1.4.4 进一步丰富语法
  13. 1.4.5 64位虚拟机
  14. 1.5 实战:自己编译JDK
  15. 1.5.1 获取JDK源码
  16. 1.5.2 系统需求
  17. 1.5.3 构建编译环境
  18. 1.5.4 准备依赖项
  19. 1.5.5 进行编译
  20. 1.6 本章小结
  21. 第2章 Java内存区域与内存溢出异常
  22. 2.1 概述
  23. 2.2 运行时数据区域
  24. 2.2.1 程序计数器
  25. 2.2.2 Java虚拟机栈
  26. 2.2.3 本地方法栈
  27. 2.2.4 Java堆
  28. 2.2.5 方法区
  29. 2.2.6 运行时常量池
  30. 2.2.7 直接内存
  31. 2.3 对象访问
  32. 2.4 实战:OutOfMemoryError异常
  33. 2.4.1 Java堆溢出
  34. 2.4.2 虚拟机栈和本地方法栈溢出
  35. 2.4.3 运行时常量池溢出
  36. 2.4.4 方法区溢出
  37. 2.4.5 本机直接内存溢出
  38. 2.5 本章小结
  39. 第3章 垃圾收集器与内存分配策略
  40. 3.1 概述
  41. 3.2 对象已死?
  42. 3.2.1 引用计数算法
  43. 3.2.2 根搜索算法
  44. 3.2.3 再谈引用
  45. 3.2.4 生存还是死亡?
  46. 3.2.5 回收方法区
  47. 3.3 垃圾收集算法
  48. 3.3.1 标记 -清除算法
  49. 3.3.2 复制算法
  50. 3.3.3 标记-整理算法
  51. 3.3.4 分代收集算法
  52. 3.4 垃圾收集器
  53. 3.4.1 Serial收集器
  54. 3.4.2 ParNew收集器
  55. 3.4.3 Parallel Scavenge收集器
  56. 3.4.4 Serial Old收集器
  57. 3.4.5 Parallel Old收集器
  58. 3.4.6 CMS收集器
  59. 3.4.7 G1收集器
  60. 3.4.8 垃圾收集器参数总结
  61. 3.5 内存分配与回收策略
  62. 3.5.1 对象优先在Eden分配
  63. 3.5.2 大对象直接进入老年代
  64. 3.5.3 长期存活的对象将进入老年代
  65. 3.5.4 动态对象年龄判定
  66. 3.5.5 空间分配担保
  67. 3.6 本章小结

 


作者: 周志明     

出版社: 机械工业出版社

ISBN: 9787111349662

出版日期: 2011 年7月

豆瓣网讨论地址:http://book.douban.com/subject/6522893

China-pub地址:http://product.china-pub.com/194035

内容简介

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

作者简介

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

专家推荐

       Java 程序是如何运行的?Java虚拟机在其中扮演了怎样的角色?如何让Java程序具有更高的并发性?许多Java程序员都会诸如此类的疑问。无奈,国内在很长一段时间里都没有一本从实际应用的角度讲解Java虚拟机的著作,本书的出版可谓填补了这个空白。它从Java程序员的角度出发,系统地将Java程序运行过程中涉及的各种知识整合到了一起,并配以日常工作中可能会碰到的疑难案例,引领读者轻松踏上探索Java虚拟机的旅途,是广大对Java虚拟机感兴趣的读者的福音!——莫枢(RednaxelaFX) 虚拟机和编程语言爱好者

       在武侠的世界里,无论是至刚至强的《易筋经》,还是阴柔无比的《葵花宝典》,都离不开内功修炼。没有了内功心法,这些武术只是花拳绣腿的拙劣表演而已。软件业是武林江湖的一个翻版,也有着大量的模式、套路、规范等外功,但“外功修行,内功修神”,要想成为“扫地僧”一样的绝世高人,此书是必备的。——秦小波 资深Java技术专家/著有畅销书《设计模式之禅》

       对Java程序员来说,Java虚拟机可以说是既熟悉又神秘,很少Java程序员能够抑制自己探究它的冲动。可惜,分析JVM实现原理的书籍(特别是国内作者出版的)是少之又少。本书的出版可谓Java程序员的福音,作者将自己多年来在Java虚拟机领域的实践经验和研究心得呈现在了这本书中,不仅系统地讲解了Java虚拟机工作机制和底层原理,而且更难能可贵的是与实践很好地结合了起来,具有非常强的实践指导意义,强烈推荐!——计文柯 资深Java技术专家/著有畅销书《spring技术内幕:深入解析Spring架构设计与实现原理》

相关文章
|
15天前
|
Oracle Java 关系型数据库
java体系结构和jvm
java体系结构和jvm
|
1月前
|
存储 Java 数据安全/隐私保护
【JVM】Java虚拟机栈(Java Virtual Machine Stacks)
【JVM】Java虚拟机栈(Java Virtual Machine Stacks)
36 0
|
26天前
|
缓存 Java C#
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(一)
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
69 0
|
1天前
|
监控 Ubuntu Java
Java VisualVM远程监控JVM
Java VisualVM远程监控JVM
Java VisualVM远程监控JVM
|
6天前
|
缓存 监控 Java
深入理解Java虚拟机(JVM)性能调优
【4月更文挑战第18天】本文探讨了Java虚拟机(JVM)的性能调优,包括使用`jstat`、`jmap`等工具监控CPU、内存和GC活动,选择适合的垃圾回收器(如Serial、Parallel、CMS、G1),调整堆大小和新生代/老年代比例,以及代码优化和JIT编译策略。通过这些方法,开发者能有效提升应用性能并应对复杂性挑战。性能调优是持续过程,需伴随应用演进和环境变化进行监控与优化。
|
1月前
|
存储 缓存 安全
[Java基础]——JVM内存模型
[Java基础]——JVM内存模型
|
1月前
|
算法 Java UED
【JVM】分代收集算法:提升Java垃圾回收效率
【JVM】分代收集算法:提升Java垃圾回收效率
21 0
|
1月前
|
Java
【JVM】深入理解Java引用类型:强引用、软引用、弱引用和虚引用
【JVM】深入理解Java引用类型:强引用、软引用、弱引用和虚引用
98 0
|
1月前
|
存储 安全 Java
【JVM】Java堆 :深入理解内存中的对象世界
【JVM】Java堆 :深入理解内存中的对象世界
50 0
|
1月前
|
存储 安全 前端开发
什么是Java虚拟机(JVM),它的作用是什么?
什么是Java虚拟机(JVM),它的作用是什么?