京东资深架构带你深入理解JVM高级特性+最佳实践

允我心安 提交于 2020-03-06 17:25:56

本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。
传送门:https://mp.weixin.qq.com/s/osB-BOl6W-ZLTSttTkqMPQ

前言

Java是目前用户最多、使用范围最广的软件开发技术之一。Java 的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java API、Java 编程语言及许多第三方Java框架(如Spring.Struts等)构成。在国内,有关JavaAPI、Java语言语法及第三方框架的技术资料和书籍非常丰富,相比之下,有关Java虚拟机的资料却显得异常贫乏。
这种状况在很大程度上是由Java开发技术本身的一个重 要优点导致的:在虚拟机层面隐藏了底层技术的复杂性以及机器与操作系统的差异性。运行程序的物理机器的情况千差万别,而Java虚拟机则在千差万别的物理机上建立了统-的运行平台,实现了在任意一 台虚拟机上编译的程序都能在任何一台虚拟机上正常运行。这-极大优势使得Java应用的开发比传统CC++应用的开发更高效和快捷,程序员可以把主要精力集中在具体业务逻辑上,而不是物理硬件的兼容性上。在一般情况下,一个程序员只要了解了必要的JavaAPI. Java 语法,以及学习适当的第三方开发框架,就已经基本能满足日常开发的需要子,虚拟机会在用户不知不觉中完成对硬件平台的兼容及”对内存等资源的管理E作。因此,了解虚拟机的运作并不是“般开发人员必须掌握的知识。

如果还没有又需要这本【深入理解Java虚拟机JVM高级特性与最佳实践】书籍文档的话,大家帮忙转发一下然后再关注我私信回复“电子书”免费获取吧!!!

本书面向的读者

(I)使用Java技术体系的中、高级开发人员Java虚拟机作为中、高级开发人员必须修炼的知识,有着较高的学习门槛,本书可作为学习虚拟机的优秀教材。

(2)系统调优师系统调优师是近几年才兴起的职业,本书中的大量案例、代码和调优实战将会对系统调优师的日常工作有直接的帮助。

(3)系统架构师保障系统的性能、并发和伸缩等能力是系统架构师的主要职责之一,而这部分与虚拟机的运作密不可分,本书可以作为他们制定应用系统底层框架的参考资料。

如何阅读本书

本书一共分为五个部分:走近Java、自动内存管理机制、虚拟机执行子系统、程序编译与代码优化、高效并发。各部分基本上是互相独立的,没有必然的前后依赖关系,读者可以从任何-一个感兴趣的专题开 始阅读,但是每个部分中的各个章节间有先后顺序。
本书并没有假设读者在Java领域具备很专业的技术水平,因此在保证逻辑准确的前提下,尽量用通俗的语音和案例讲述虚拟机中与开发的关系最为密切的内容。当然.学习虚拟机技术本身就需要读者有一定的基础,且本书的读者定位是中、高级程序员,因此本书假设读者自己了解-些常用的开发框架、Java API和Java语法等基础知识。
笔者希望读者在阅读本书的同时,把本书中的实践内容亲自验证一遍, 其中用到的代码清单可以从华章网站(ttp://www. hzbook .com)下载。

第一部分 走近java

第1章 走近java:介绍了Java技术体系的过去、现在和未来的一些发展趋势, 并介绍了如何独立地编译一个OpenJDK 7。

 

第二部分 自动内存管理机制

第2章 java内存区域与内存溢出异常:讲解了虚拟机中内存是如何划分的,以及哪部分区域、什么样的代码和操作可能导致内存溢出异常,并讲解了各个区域出现内存溢出异常的常见原因。

 


第3章 垃圾收集器与内存分配策略:分析了垃圾收集的算法和JDK1.7中提供的几款垃圾收集器的特点及运作原理。通过代码实例验证了Java虚拟机中自动内存分配及回收的主要规则。

 


第4章 虚拟机性能监控与故障处理工具:介绍了 随JIDK发布的6个命令行T具与两个可视化的故障处理I具的使用方法。

 


第5章 调优案例分析与实战:与读者分享了几个比较有代表性的实际案例,还准备了一个所有开发人员都能“亲身实战”的练习,读者可通过实践来获得故障处理和调优的经验。

 

 

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

第6章 类文件结构:讲解了 Class文件结构中的各个组成部分,以及每个部分的定义、数据结构和使用方法,以实战的方式演示了Class文件的数据是如何存储和访问的。

 


第7章 虚拟机类加载机制:介绍了 类加载过程的“加载”、“验证”、“准备”、“解析”和“初始化”5个阶段中虚拟机分别执行了哪些动作,还介绍了类加载器的工作原理及其对虚拟机的意义。

 


第8章 虚拟机字节码执行引擎:分析了虚拟机在执行代码时如何找到正确的方法,如何执行方法内的字节码,以及执行代码时涉及的内存结构。

 


第9章 类加载及执行子系统的案例与实战:通过4 个类加载及执行子系统的案例,分享了使用类加载器和处理字节码的一些值得欣赏和借鉴的思路,并通过一个实战练习来加深对前面理论知识的理解。

 

 

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

第10章 早期(编译期)优化:分析了 Java语言中泛型、主动装箱和拆箱、条件编译等多种语法糖的前因后果,并通过实战演示了如何使用插人式注解处理器来实现一个检查程序命名规范的编译器插件。

 


第11章 晚期(运行期)优化:讲解 了虚拟机的热点探测方法、HotSpot 的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果,此外,还讲解了几种常见的编译优化技术。

 

 

第五部分 高效并发

第12章 java内存模型与线程:讲解了 虚拟机Java内存模型的结构及操作,以及原子性、可见性和有序性在Java内存模型中的体现,介绍了先行发生原则的规则及使用,还了解了线程在Java语言中是如何实现的。

 


第13章 线程安全与锁优化:介绍了线程安全沙及的概念和分类、同步实现的方式及虚拟机的底层运作原理,并且介绍了虚拟机实现高效并发所采取的一系列锁优化措施。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!