阿里P8写出的2020最新版《深入理解Java虚拟机3》轻松学会JVM底层

669 篇文章 13 订阅
479 篇文章 11 订阅

前言 Java是目前用户最多、使用范围最广的软件开发技术,Java的技术体系主要由支撑Java程序运行的虚拟机、提供各开发领域接口支持的Java类库、Java编程语言及许许多多的第三E方Java框架(如Spring、 MyBatis等) 构成。在国内,有关Java类库API、Java语言语法及第三方框架的技术资料和书籍非常丰富,相比而言,有关Java虚拟机的资料却显得异常贫乏。

附面试思维导图(仅供参考)

 

随着Java技术的不断发展,它已被应用于越来越多的领域之中。其中一些领域,如互联网、能源、金融、通信等,对程序的性能、稳定性和扩展性方面会有极高的要求。一-段程序很可能在10个人同时使用时完全正常,但是在10000个人同时使用时就会缓慢、死锁甚至崩溃。毫无疑问,要满足10000个人同时使用,需要更高性能的物理硬件,但是在绝大多数情况下,提升硬件性能无法等比例提升程序的运行性能和并发能力,甚至有可能对程序运行状况没有任何改善。这里面有Java虚拟机的原因:为了达到“所有硬件提供一致的虚拟平台”的目的,牺牲了- -些硬件相关的性能特性。更重要的是人为原因:如果开发人员不了解虚拟机诸多技术特性的运行原理,就无法写出最适合虚拟机运行和自优化的代码。 让我们一起走进虚拟机的世界吧!

一、走进Java 世界上并没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。 1.1概述 1.2 Java技术体系 1.3 Java发展史 1.4 Java虚拟机家族 1.5展望J ava技术的未来 1.6实战:自己编译JDK 1.7本章小结

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑

添加图片注释,不超过 140 字(可选)

二、自动内存管理 Java与C+ +之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 第2章Java内存区域与内存溢出异常 2.1概述 2.2运行时数据区域 2.3 HotSpot虚拟机对象探秘 2. 4实战: 0utOfMem oryErr or异常 2.5本章小结

编辑

添加图片注释,不超过 140 字(可选)

第3章垃圾收集器与内存分配策略 3.1概述 3.2对象已死? 3.3垃圾收集算法 3.4 HotSp ot的算法细节实现 3.5经典垃圾收集器 3.6低延迟垃圾收集器 3.7选择合适的垃圾收集器 3.8实战:内存分配与回收策略 3.9小结

编辑

添加图片注释,不超过 140 字(可选)

第4章虚拟机性能监控、故障处理工具 4.1概述 4.2基础故障处理工具 4.3可视化故障处理工具 4.4 HotSpot虚拟机插件及工具 4.5本章小结

编辑

添加图片注释,不超过 140 字(可选)

第5章调优案例分析与实战 5.1概述 5.2案例分析 5.3实战: Eclipse运行速度调优 5.4本章小结

编辑

添加图片注释,不超过 140 字(可选)

三、虚拟机执行子系统 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一-小步,却是编程语言发展的一大步。 第6章:类文件结构 6.1概述 6.2无关性的基石 6.3 Class类文件的结构 6.4字节码指令简介 6.5公有设计,私有实现 6.6 Class文件结构的发展 6.7本章小结

编辑

添加图片注释,不超过 140 字(可选)

第7章:虚拟机类加载机制 7. 1概述 7.2类加载的时机 7.3类加载的过程 7.4类加载器 7.5 Java模块化系统 7.6本章小结

编辑

添加图片注释,不超过 140 字(可选)

第8章:虚拟机字节码执行引擎 8.1概述 8.2运行时栈帧结构 8.3方法调用 8.4动态类型语言支持 8.5基于栈的字节码解释执行引擎 8.6本章小结

编辑

添加图片注释,不超过 140 字(可选)

第9章:类加载及执行子系统的案例与实战 9.1概述 9.2案例分析 9.3实战:自己动手实现远程执行功能 9.4本章小结 四、程序编译与代码优化 从计算机程序出现的第一天起, 对效率的追逐就是程序员天生的坚定信仰,这个过程犹如一场没有终点、永不停歇的F1方程式竞赛,程序员是车手,技术平台则是在赛道上飞驰的赛车。 第10章:前端编译与优化 10. 1概述 10.2 Javac编译器 10.3 Java语法糖的味道 10. 4实战:插入式注解处理器 10. 5本章小结

编辑

添加图片注释,不超过 140 字(可选)

第11章:后端编译与优化 11. 1概述 11.2即时编译器 11.3提前编译器 11.4编译器优化技术 11.5实战:深入理解Gr aal编译器 11.6本章小结

编辑

添加图片注释,不超过 140 字(可选)

五、高效并发 第12章:Java内存模型与线程 并发处理的广泛应用是AmdahI定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类压榨计算机运算能力的最有力武器。 12.1概述 12.2硬件的效率与一致性 12.3 Java内存模型 12. 4 Java与线程 12.5 Java与协程 12.6本章小结

编辑

添加图片注释,不超过 140 字(可选)

第13章:线程安全与 锁优化 我们了解虚拟机Java内存模型的结构及操作,并且讲解了原子性、可见性、有序性在Java内存模型中的体现,介绍了先行发生原则的规则及使用。另外,我们还了解了线程在Java语言之中是如何实现的,以及代表Java未来多线程发展的新并发模型的工作原理。 关于“高效并发"这个话题,在本章中主要介绍了虚拟机如何实现“并发”在下一章中,我们的主要关注点将是虚拟机如何实现"高效”,以及虚拟机对我们编写的并发代码提供了什么样的优化手段。 13.1概述 13.2线程安全 13.3锁优化 13.4本章小结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值