手写系列
手写 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