Please enable Javascript to view the contents

深入拆解 Java 虚拟机

 ·  ☕ 3 分钟

别人学习内容,我学习目录,摘抄如下

专栏模块

本专栏共 36 期,分为四大模块。

  • 模块一 Java 虚拟机基本原理

剖析 Java 虚拟机的运行机制,逐次介绍 Java 虚拟机的设计决策以及工程实现。

  • 模块二 高效编译

在本模块中,作者将带你探索 Java 编译器,以及内嵌于 Java 虚拟机中的即时编译器,帮助你更好地理解 Java 语言特性,继而写出简洁高效的代码。

  • 模块三 代码优化

在实践过程中我们经常会遇到形形色色的性能问题,解决方法不外乎加机器加内存。本模块将介绍上述方法失效后的 Plan B,即如何利用工具定位并解决代码中的潜在问题,以及在已有工具不适用的情况下,如何打造专属轮子。此外,本模块还将介绍对 JVM 内存管理失去信心的开发者所选取的解决方案,以备不时之需。

  • 模块四 虚拟机黑科技

当一门程序语言成熟稳定后,技术大神们便热衷于用这种语言开发实现编译器或虚拟机。在 Java 10 中,Graal 已作为试验性即时编译器一同发布。本模块将详细科普 GraalVM 的各个组成部分,其中包括编译器 Graal,语言实现框架 Truffle,以及支持 Ahead-of-Time(AOT)编译的 SubstrateVM。

专栏详细目录如下:

开篇词 | 为什么我们要学习Java虚拟机?

01 | Java代码是怎么运行的?

02 | Java的基本类型

03 | Java虚拟机是如何加载Java类的?

04 | JVM是如何执行方法调用的?(上)

05 | JVM是如何执行方法调用的?(下)

06 | JVM是如何处理异常的?

【工具篇】 常用工具介绍

07 | JVM是如何实现反射的?

08 | JVM是怎么实现invokedynamic的?(上)

09 | JVM是怎么实现invokedynamic的?(下)

10 | Java对象的内存布局

11 | 垃圾回收(上)

12 | 垃圾回收(下)

13 | Java内存模型

14 | Java虚拟机是怎么实现synchronized的?

15 | Java语法糖与Java编译器

16 | 即时编译(上)

17 | 即时编译(下)

18 | 即时编译器的中间表达形式

19 | Java字节码(基础篇)

20 | 方法内联(上)

21 | 方法内联(下)

22 | HotSpot虚拟机的intrinsic

23 | 逃逸分析

24 | 字段访问相关优化

25 | 循环优化

26 | 向量化

27 | 注解处理器

28 | 基准测试框架JMH(上)

29 | 基准测试框架JMH(下)

30 | Java虚拟机的监控及诊断工具(命令行篇)

31 | Java虚拟机的监控及诊断工具(GUI篇)

32 | JNI的运行机制

33 | Java Agent与字节码注入

34 | Graal:用Java编译Java

35 | Truffle:语言实现框架

36 | SubstrateVM:AOT编译框架

尾声 | 道阻且长,努力加餐