# simple-jvm **Repository Path**: mushan/simple-jvm ## Basic Information - **Project Name**: simple-jvm - **Description**: 使用Java写的简单JVM - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-11-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # simple-jvm A simple jvm write by java - 2019年11月22日 本来正在看《HotSpot实战》发现太复杂了,然后买了《自己动手写Java虚拟机》,这种从零开始写一个模型机的方式,又不太复杂,有能很好的理解《Java虚拟机规范》,是一个很好的学习方式。但是《自己动手写Java虚拟机》是Go实现的,打算自己用Java写一个 - 2019年11月26日 完成ClassFile解析,Class文件的格式是不复杂的,但是却是JVM的基石,JVM完全就是围绕这Class展开工作的。Class格式在《Java虚拟机规范》中占据了接近一半的篇幅,而里面大部分的内容其实是格式合法性校验的,我们不做校验就简单很多了 - 2019年11月30日 实现大部分简单指令,可以执行1加到100的循环计算。goto和if_icmp的branchbyte1和branchbyte2组合出来的有符号16位数是一个相对于这条指令的偏移量,而不是绝对地址,这个看规范没看出来卡了一会儿。 - 2019年12月01日 完成《自己动手写Java虚拟机》中classPath部分逻辑。发现《深入理解Java虚拟机》这本书的执行子系统讲得比较好,《Java虚拟机规范》中这部分太简略了,几年前看《深入理解Java虚拟机》这部分是没法看下去的,现在看则深有体会。