深入理解Java虚拟机(第二版)电子书pdf完整版|百度网盘下载
编辑评论:
Java 是目前应用最广泛的软件开发技术。 Java技术体系主要由支持Java程序运行的虚拟机、为各种开发领域提供接口支持的Java API、Java编程语言等组成。第三方Java框架(如Spring和Struts等)。在国内,关于Java API、Java语言和第三方框架的技术资料和书籍非常丰富,相比之下,Java虚拟机方面的资料却极为匮乏。
简介
《理解Java虚拟机:JVM高级特性和最佳实践》简介:作为一名Java程序员,你有没有想过深入了解Java虚拟机,却被它的复杂性和深奥性拒之门外?没关系,这本书尽可能的简单,可以带领你轻松领略Java虚拟机的奥秘。本书是近年来国内唯一一本与Java虚拟机相关的专着,也是唯一一本同时从核心理论和实际应用两个角度讨论Java虚拟机的书籍。而书中所包含的典型案例和最佳实践也具有重要的现实意义。
本书分为五个部分。第一部分从宏观的角度介绍了整个Java技术体系的过去、现在和未来,以及如何独立编译一个OpenJDK7,对理解后面的内容很有帮助。第二部分讲解JVM的自动内存管理,包括虚拟机内存区域的划分原则以及各种内存溢出异常的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常用虚拟机监控调试工具的原理和使用。第三部分分析了虚拟机的执行子系统,包括类的文件结构以及如何在类中存储和访问数据;虚拟机的类创建机制和类加载器的工作原理及其对虚拟机的意义;虚拟机 字节码的执行引擎和它在执行代码时所涉及的内存结构。第四部分讲解程序编译和代码优化,阐述泛型、自动装箱和拆箱、条件编译的原理。 ,以及如何从虚拟机外部观察和分析JIT编译的数据和结果。第五部分讨论Java实现高效并发的原理,包括JVM内存模型的结构和运行; Java内存模型中原子性、可见性和排序的实现;先发原则的规则和使用; Java语言中线程的应用 中的实现原理;虚拟机为实现高效并发而做出的一系列锁优化措施。
关于作者
周志明,高级Java技术专家,对JavaEE企业应用开发、OSGi、Java虚拟机和工作流有深入的研究,在大量实践中积累了丰富的经验。尤其精通Java虚拟机,撰写了大量JVM相关的经典文章,被各大技术社区转载。他是 ITeye 等技术社区公认的 Java 虚拟机领导者之一。现任远光软件股份有限公司平台开发部经理、平台架构师。曾参与国家电网、南方电网等多个国家级大型ERP项目的平台架构工作,并对软件系统架构有深刻的理解和经验。
深入理解Java虚拟机(第二版)pdf预览
目录
前言
谢谢
第 1 部分:接近 Java
第 1 章接近 Java / 2
1.1 概述 / 2
1.2 Java 技术体系/3
1.3 Java 发展历程 / 5
1.4 展望Java技术的未来/9
1.4.1 模块化/9
1.4.2 混合语言/9
1.4.3 多核并行/11
1.4.4 进一步丰富语法 / 12
1.4.5 64位虚拟机/13
1.5实战:自己编译JDK/13
1.5.1 获取JDK源码/13
1.5.2 系统要求 / 14
1.5.3 编译环境搭建/15
1.5.4 准备依赖/17
1.5.5编译/18
1.6 章节总结 / 21
第二部分自动内存管理机制
第 2 章 Java 内存区域和内存不足异常 / 24
2.1 概述 / 24
2.2 运行时数据区 / 25
2.2.1 程序计数器/25
2.2.2 Java 虚拟机栈/26
2.2.3 原生方法栈 / 27
2.2.4 Java 堆/27
2.2.5 方法区/28
2.2.6 运行时常量池/29
2.2.7 直接内存 / 29
2.3 对象访问/30
2.4实战:OutOfMemoryError异常/32
2.4.1 Java 堆溢出/32
2.4.2 虚拟机栈和原生方法栈溢出/35
2.4.3 运行时常量池溢出/38
2.4.4 方法区溢出/39
2.4.5 原生直接内存溢出/41
2.5 章节总结 / 42
第 3 章垃圾收集器和内存分配策略 / 43
3.1 概述 / 43
3.2 对象已死? / 44
3.2.1 引用计数算法/44
3.2.2 寻根算法/46
3.2.3 再次引用 / 47
3.2.4 生还是死? / 48
3.2.5 回收方法区/50
3.3 垃圾回收算法 / 51
3.3.1 标记清理算法 / 51
3.3.2 复制算法/52
3.3.3 标记排序算法 / 54
3.3.4 分代收集算法/54
3.4 垃圾收集器 / 55
3.4.1 串行收集器/56
3.4.2 ParNew 收集器 / 57
3.4.3 并行清除收集器/59
3.4.4 串行旧收集器/60
3.4.5 并行旧收集器/61
3.4.6 CMS 收集器/61
3.4.7 G1 收集器/64
3.4.8 垃圾收集器参数汇总/64
3.5 内存分配与回收策略/65
3.5.1 对象优先分配在 Eden/66
3.5.2 大物直接进入老年/68
3.5.3 长寿对象将进入老年/69岁
3.5.4 动态对象年龄确定 / 71
3.5.5 空间分配保证 / 73
3.6 章节总结 / 75
第 4 章虚拟机性能监控和故障排除工具 / 76
4.1 概述 / 76
4.2 JDK命令行工具/76
4.2.1 jps:虚拟机进程状态工具/79
4.2.2 jstat:虚拟机统计监控工具/80
4.2.3 jinfo:Java配置信息工具/82
4.2.4 jmap:Java内存映射工具/82
4.2.5 jhat:虚拟机堆转储快照分析工具/84
4.2.6 jstack:Java堆栈跟踪工具/85
4.3 JDK可视化工具/87
4.3.1 JConsole:Java 监控和管理控制台/88
4.3.2 VisualVM:多合一故障排除工具/96
4.4 章节摘要 / 105
第5章调优案例分析与实践/106
5.1 概述 / 106
5.2 案例研究/106
5.2.1 高性能硬件上的程序部署策略 / 106
5.2.2 集群间同步引起的内存溢出/109
5.2.3 堆外内存/110引起的溢出错误
5.2.4 外部命令导致系统运行缓慢/112
5.2.5 服务器JVM进程崩溃/113
5.3实战:Eclipse运行速度调优/114
5.3.1 调优前程序运行状态/114
5.3.2 升级JDK 1.6 性能变化和兼容性问题/117
5.3.3 编译时间和类加载时间优化/122
5.3.4 调整内存设置控制垃圾回收频率/126
5.3.5 选择收集器以减少延迟/130
5.4 章节摘要 / 133
媒体推荐
Java 程序是如何工作的? Java虚拟机在其中扮演什么角色?如何让Java程序有更高的并发性?许多Java程序员都有这样的问题。遗憾的是,在国内很长一段时间内,还没有一本从实际应用角度解释Java虚拟机的书。 《深入理解Java虚拟机:JVM高级特性与最佳实践》的出版可以说填补了这一空白。站在Java程序员的角度,系统地整合了Java程序运行过程中所涉及的各类知识,支持日常工作中可能遇到的疑难案例,带领读者轻松踏上Java虚拟机的探索之旅。征途是对Java虚拟机感兴趣的读者的福音!
——墨书(RednaxelaFX)虚拟机和编程语言爱好者
在武林界,无论是最刚烈的《易筋经》,还是极为女性化的《葵花宝典》,都离不开内功的修炼。没有内功和心法,这些武功只是绣腿的拙劣表现。软件业是武林的翻版,也有大量的模型、套路、规范等外功,但“练外功,内功修神”,要想成为绝世高手像一个“扫地僧”,这本书是必备的。
——秦晓波,资深Java技术专家/畅销书《设计模式之禅》作者
对于 Java 程序员来说,Java 虚拟机可以说是既熟悉又神秘,很少有 Java 程序员能抗拒探索它的冲动。遗憾的是,分析JVM实现原理的书籍(尤其是国内作者出版的)很少。 《深入理解Java虚拟机:JVM的高级特性和最佳实践》的出版可谓是Java程序员的福音。作者在本期《深入理解Java虚拟机》中介绍了自己在Java虚拟机领域多年的实践经验和研究心得。 : JVM Advanced Features and Best Practices》,不仅系统地讲解了Java虚拟机的工作机制和底层原理,更值得称道的是它很好地结合了实践,具有很强的实践指导意义,强烈推荐!
——吉文科,高级Java技术专家/畅销书《深入Spring技术:Spring架构设计与实现原理深度解析》作者
作者:柳小丽
链接:https://www.58edu.cc/article/1522575036358066178.html
文章版权归作者所有,58edu信息发布平台,仅提供信息存储空间服务,接受投稿是出于传递更多信息、供广大网友交流学习之目的。如有侵权。联系站长删除。