自制JVM,本博客持续更新
1、起因
自从毕业以后一直从事java开发岗位,期间曾试图研究jvm,但是纸上得来终觉浅绝知此事要躬行,我觉得如果想理解jvm最好是能写一个jvm出来。
2、语言选择
自从我想开发一个java虚拟机以来我在网上找了很多资料,包括OpenJDK(非常复杂完全看不懂)以及很多网友自己写的java虚拟机,我曾见到过很多写的不错的java虚拟机,有的用C++写,有的用GO语言写,有的甚至用java写,虽然我工作这么多年了一直使用Java,但我想换一种接近底层的语言来开发java虚拟机。经过比较最终选择了用纯C语言来实现。但是由于我从来没有学习过C语言,所以我花了将近一个月的时间来学习C语言。
3、开发进度
在开发的过程中参考了很多网友写的jvm,目前我的jvm已经实现了类加载器以及60%左右的jvm指令,目前能够执行一些一般的java程序,也算是迈出了一小步。
4、代码地址
https://gitee.com/dogqin/jawa.git
B站:https://www.bilibili.com/video/BV1U54y1k7ov?from=search&seid=8353073698504533136&spm_id_from=333.337.0.0
5、参考资料
1)《自己动手写java虚拟机》
2)《java虚拟机规范》
3)https://blog.csdn.net/chunyuan314/article/details/72836229?utm_source=blogxgwz3
4)https://github.com/Anilople/javajvm