游侠云服务,国外稳定安全免备案的服务器

统一声明:

1.本站联系方式QQ:1754646538 TG:UXYM_NET 没有频道!如果有其他人通过本站链接联系您导致被骗,本站一律不负责!
2.需要付费搭建请联系站长QQ:1754646538 TG:UXYM_NET
3.国外免备案服务器- 游侠云服务
4.免实名域名注册购买- 游侠云域名

资源名称:《深入理解Java虚拟机:JVM高级特性与最佳实践》PDF

内容简介:

《深入理解Java虚拟机:JVM高级特性与最佳实践》内容简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和最佳实践也极具现实指导意义。

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

本书适合所有Java程序员、系统调优师和系统架构师阅读。

海报:

点击链接进入Java程序设计: 

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

《JAVA核心技术(卷1):基础知识(原书第8版)》 

《JAVA核心技术卷2:高级特征》 

《Java语言程序设计(基础篇)(原书第8版)》 

《Java编程思想(第4版)》 

《Effective Java中文版(第2版)》 

《Java编程思想(英文版•第4版)》 

《Java 实时编程》 

《Java加密与解密的艺术》 

《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》 

《Java语言程序设计:进阶篇(原书第8版)》 

《Maven实战》

作者简介:

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

资源目录:

前言 

致谢 

第一部分 走近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 serial收集器 / 56 

 3.4.2 parnew收集器 / 57 

 3.4.3 parallel scavenge收集器 / 59 

 3.4.4 serial old收集器 / 60 

 3.4.5 parallel old收集器 / 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 

第三部分 虚拟机执行子系统 

第6章 类文件结构 / 136 

 6.1 概述 / 136 

 6.2 无关性的基石 / 136 

 6.3 class类文件的结构 / 138 

 6.3.1 魔数与class文件的版本 / 139 

 6.3.2 常量池 / 141 

 6.3.3 访问标志 / 147 

 6.3.4 类索引、父类索引与接口索引集合 / 148 

 6.3.5 字段表集合 / 149 

 6.3.6 方法表集合 / 153 

 6.3.7 属性表集合 / 155 

 6.4 class文件结构的发展 / 168 

 6.5 本章小结 / 170 

第7章 虚拟机类加载机制 / 171 

 7.1 概述 / 171 

 7.2 类加载的时机 / 172 

 7.3 类加载的过程 / 176 

 7.3.1 加载 / 176 

 7.3.2 验证 / 178 

 7.3.3 准备 / 181 

 7.3.4 解析 / 182 

 7.3.5 初始化 / 186 

 7.4 类加载器 / 189 

 7.4.1 类与类加载器 / 189 

 7.4.2 双亲委派模型 / 191 

 7.4.3 破坏双亲委派模型 / 194 

 7.5 本章小结 / 197 

第8章 虚拟机字节码执行引擎 / 198 

 8.1 概述 / 198 

 8.2 运行时栈帧结构 / 199 

 8.2.1 局部变量表 / 199 

 8.2.2 操作数栈 / 204 

 8.2.3 动态连接 / 206 

 8.2.4 方法返回地址 / 206 

 8.2.5 附加信息 / 207 

 8.3 方法调用 / 207 

 8.3.1 解析 / 207 

 8.3.2 分派 / 209 

 8.4 基于栈的字节码解释执行引擎 / 221 

 8.4.1 解释执行 / 221 

 8.4.2 基于栈的指令集与基于寄存器的指令集 / 223 

 8.4.3 基于栈的解释器执行过程 / 224 

 8.5 本章小结 / 230 

第9章 类加载及执行子系统的案例与实战 / 231 

 9.1 概述 / 231 

 9.2 案例分析 / 231 

 9.2.1 tomcat:正统的类加载器架构 / 232 

 9.2.2 osgi:灵活的类加载器架构 / 235 

 9.2.3 字节码生成技术与动态代理的实现 / 238 

 9.2.4 retrotranslator:跨越jdk版本 / 242 

 9.3 实战:自己动手实现远程执行功能 / 246 

 9.3.1 目标 / 246 

 9.3.2 思路 / 247 

 9.3.3 实现 / 248 

 9.3.4 验证 / 255 

 9.4 本章小结 / 256 

第四部分 程序编译与代码优化 

第10章 早期(编译期)优化 / 258 

 10.1 概述 / 258 

 10.2 javac编译器 / 259 

 10.2.1 javac的源码与调试 / 259 

 10.2.2 解析与填充符号表 / 262 

 10.2.3 注解处理器 / 264 

 10.2.4 语义分析与字节码生成 / 264 

 10.3 java语法糖的味道 / 268 

 10.3.1 泛型与类型擦除 / 268 

 10.3.2 自动装箱、拆箱与遍历循环 / 273 

 10.3.3 条件编译 / 275 

 10.4 实战:插入式注解处理器 / 276 

 10.4.1 实战目标 / 276 

 10.4.2 代码实现 / 277 

 10.4.3 运行与测试 / 284 

 10.4.4 其他应用案例 / 286 

 10.5 本章小结 / 286 

第11章 晚期(运行期)优化 / 287 

 11.1 概述 / 287 

 11.2 hotspot虚拟机内的即时编译器 / 288 

 11.2.1 解释器与编译器 / 288 

 11.2.2 编译对象与触发条件 / 291 

 11.2.3 编译过程 / 294 

 11.2.4 查看与分析即时编译结果 / 297 

 11.3 编译优化技术 / 301 

 11.3.1 优化技术概览 / 301 

 11.3.2 公共子表达式消除 / 305 

 11.3.3 数组边界检查消除 / 307 

 11.3.4 方法内联 / 307 

 11.3.5 逃逸分析 / 309 

 11.4 java与c/c++的编译器对比 / 311 

 11.5 本章小结 / 313 

第五部分 高效并发 

第12章 java内存模型与线程 / 316 

 12.1 概述 / 316 

 12.2 硬件的效率与一致性 / 317 

 12.3 java内存模型 / 318 

 12.3.1 主内存与工作内存 / 319 

 12.3.2 内存间交互操作 / 320 

 12.3.3 对于volatile型变量的特殊规则 / 322 

 12.3.4 对于long和double型变量的特殊规则 / 327 

 12.3.5 原子性、可见性与有序性 / 328 

 12.3.6 先行发生原则 / 330 

 12.4 java与线程 / 333 

 12.4.1 线程的实现 / 333 

 12.4.2 java线程调度 / 337 

 12.4.3 状态转换 / 339 

 12.5 本章小结 / 341 

第13章 线程安全与锁优化 / 342 

 13.1 概述 / 342 

 13.2 线程安全 / 343 

 13.2.1 java语言中的线程安全 / 343 

 13.2.2 线程安全的实现方法 / 348 

 13.3 锁优化 / 356 

 13.3.1 自旋锁与自适应自旋 / 356 

 13.3.2 锁消除 / 357 

 13.3.3 锁粗化 / 358 

 13.3.4 轻量级锁 / 358 

 13.3.5 偏向锁 / 361 

 13.4 本章小结 / 362 

附录a java虚拟机家族 / 363 

附录b 虚拟机字节码指令表 / 366 

附录c hotspot虚拟机主要参数表 / 372 

附录d 对象查询语言(oql)简介 / 376 

附录e jdk历史版本轨迹 / 383

资源截图:

1.jpg

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长QQ:1754646538 提供付款信息为您处理。

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源。