手写系列

手写 mysql

手写 os

手写 jvm

手写 gc

JVM

JVM 是 Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

系列目的

本专题主要介绍如何通过java代码来实现JVM的基础功能(搜索解析class文件、字节码命令、运行时数据区等),从而让java程序员通过最熟知的java程序,学习JVM是如何将java程序一步步跑起来的,按照 《java虚拟机规范》与go语言版的《自己动手写Java虚拟机》实现java版虚拟机案例如下;

openjdk

openjdk 的实现相对复杂,不过也值得学习。

推荐阅读

开源实现

https://github.com/fuzhengwei/itstack-demo-jvm

https://github.com/Xtarling/JVM-Demo

https://github.com/zxh0/jvmgo-book