mini-jvm:使用 JDK8 实现 JVM(Java Virtual Machine)

上传者: 42136837 | 上传时间: 2024-01-16 23:07:42 | 文件大小: 1.31MB | 文件类型: ZIP
使用 Java 8 实现 JVM 特性 元循环(Metacircular) mini-jvm on mini-jvm on hotspot. 可以在 mini-jvm 里运行 mini-jvm . $ java -jar jvm-core/target/mini-jvm.jar -jar jvm-core/target/mini-jvm.jar -jar test.jar # Hello World! 动机 尝试了解 JVM 原理, Learning by doing 纸上得来终觉浅, 实践 用简单的代码帮助 Javaer 理解 JVM 快速体验 [Macos 用户] Hello world brew tap guxingke/repo && brew install mini-jvm cat < HelloWorld.java public class HelloWorld

文件下载

资源详情

[{"title":"( 588 个子文件 1.31MB ) mini-jvm:使用 JDK8 实现 JVM(Java Virtual Machine)","children":[{"title":"asmgen <span style='color:#111;'> 92B </span>","children":null,"spread":false},{"title":"asmint <span style='color:#111;'> 92B </span>","children":null,"spread":false},{"title":"sum10.bc <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"sum.bc <span style='color:#111;'> 177B </span>","children":null,"spread":false},{"title":"StaticField.class <span style='color:#111;'> 1001B </span>","children":null,"spread":false},{"title":"Math.class <span style='color:#111;'> 978B </span>","children":null,"spread":false},{"title":"Comparisons.class <span style='color:#111;'> 891B </span>","children":null,"spread":false},{"title":"NullPointerExceptions.class <span style='color:#111;'> 724B </span>","children":null,"spread":false},{"title":"PrimitiveArray.class <span style='color:#111;'> 719B </span>","children":null,"spread":false},{"title":"ArrayTest.class <span style='color:#111;'> 709B </span>","children":null,"spread":false},{"title":"Constants.class <span style='color:#111;'> 700B </span>","children":null,"spread":false},{"title":"InterfaceImpl14.class <span style='color:#111;'> 595B </span>","children":null,"spread":false},{"title":"InterfaceImpl13.class <span style='color:#111;'> 595B </span>","children":null,"spread":false},{"title":"InterfaceImpl1.class <span style='color:#111;'> 583B </span>","children":null,"spread":false},{"title":"InterfaceImpl2.class <span style='color:#111;'> 583B </span>","children":null,"spread":false},{"title":"InterfaceImpl15.class <span style='color:#111;'> 577B </span>","children":null,"spread":false},{"title":"InterfaceImpl12.class <span style='color:#111;'> 568B </span>","children":null,"spread":false},{"title":"Fibonacci.class <span style='color:#111;'> 534B </span>","children":null,"spread":false},{"title":"ObjectField2.class <span style='color:#111;'> 521B </span>","children":null,"spread":false},{"title":"Override.class <span style='color:#111;'> 504B </span>","children":null,"spread":false},{"title":"ObjectField1.class <span style='color:#111;'> 500B </span>","children":null,"spread":false},{"title":"InterfaceImpl11.class <span style='color:#111;'> 498B </span>","children":null,"spread":false},{"title":"InstanceArray.class <span style='color:#111;'> 494B </span>","children":null,"spread":false},{"title":"Hello.class <span style='color:#111;'> 489B </span>","children":null,"spread":false},{"title":"Hello.class <span style='color:#111;'> 489B </span>","children":null,"spread":false},{"title":"ArrayTest2.class <span style='color:#111;'> 475B </span>","children":null,"spread":false},{"title":"Override1.class <span style='color:#111;'> 470B </span>","children":null,"spread":false},{"title":"Interface12.class <span style='color:#111;'> 470B </span>","children":null,"spread":false},{"title":"ClassInitTest1.class <span style='color:#111;'> 459B </span>","children":null,"spread":false},{"title":"ClassInitTest3.class <span style='color:#111;'> 457B </span>","children":null,"spread":false},{"title":"ClassInitTest2.class <span style='color:#111;'> 457B </span>","children":null,"spread":false},{"title":"Interface13.class <span style='color:#111;'> 457B </span>","children":null,"spread":false},{"title":"LLoadStore.class <span style='color:#111;'> 451B </span>","children":null,"spread":false},{"title":"DLoadStore.class <span style='color:#111;'> 451B </span>","children":null,"spread":false},{"title":"Sum10M.class <span style='color:#111;'> 450B </span>","children":null,"spread":false},{"title":"FLoadStore.class <span style='color:#111;'> 449B </span>","children":null,"spread":false},{"title":"ILoadStore.class <span style='color:#111;'> 449B </span>","children":null,"spread":false},{"title":"ObjectInit1.class <span style='color:#111;'> 423B </span>","children":null,"spread":false},{"title":"HelloWorld.class <span style='color:#111;'> 421B </span>","children":null,"spread":false},{"title":"ObjectInit3.class <span style='color:#111;'> 418B </span>","children":null,"spread":false},{"title":"ObjectInit2.class <span style='color:#111;'> 418B </span>","children":null,"spread":false},{"title":"MyJVM.class <span style='color:#111;'> 416B </span>","children":null,"spread":false},{"title":"TestM.class <span style='color:#111;'> 386B </span>","children":null,"spread":false},{"title":"InterfaceObj.class <span style='color:#111;'> 366B </span>","children":null,"spread":false},{"title":"Override3.class <span style='color:#111;'> 353B </span>","children":null,"spread":false},{"title":"Override2.class <span style='color:#111;'> 353B </span>","children":null,"spread":false},{"title":"InterfaceOverrideObj.class <span style='color:#111;'> 332B </span>","children":null,"spread":false},{"title":"Interface14.class <span style='color:#111;'> 311B </span>","children":null,"spread":false},{"title":"Sum10.class <span style='color:#111;'> 306B </span>","children":null,"spread":false},{"title":"Sum10.class <span style='color:#111;'> 306B </span>","children":null,"spread":false},{"title":"Interface11.class <span style='color:#111;'> 305B </span>","children":null,"spread":false},{"title":"Sum.class <span style='color:#111;'> 300B </span>","children":null,"spread":false},{"title":"Interface2.class <span style='color:#111;'> 289B </span>","children":null,"spread":false},{"title":"Interface1.class <span style='color:#111;'> 284B </span>","children":null,"spread":false},{"title":"Test.class <span style='color:#111;'> 241B </span>","children":null,"spread":false},{"title":"InstanceArrayObj.class <span style='color:#111;'> 221B </span>","children":null,"spread":false},{"title":"AtObj.class <span style='color:#111;'> 205B </span>","children":null,"spread":false},{"title":"CNAME <span style='color:#111;'> 16B </span>","children":null,"spread":false},{"title":"styles.css <span style='color:#111;'> 5.98KB </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 101B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 55B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 48B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 30B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 27B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 25B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 23B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 23B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 22B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 18B </span>","children":null,"spread":false},{"title":"ftest.expect <span style='color:#111;'> 16B </span>","children":null,"spread":false},{"title":"dtest.expect <span style='color:#111;'> 16B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 14B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 12B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 8B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 8B </span>","children":null,"spread":false},{"title":"itest.expect <span style='color:#111;'> 8B </span>","children":null,"spread":false},{"title":"ltest.expect <span style='color:#111;'> 8B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 4B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 3B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 3B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 3B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 2B </span>","children":null,"spread":false},{"title":"test.expect <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 64B </span>","children":null,"spread":false},{"title":"index.html <span style='color:#111;'> 1.50KB </span>","children":null,"spread":false},{"title":"favicon.ico <span style='color:#111;'> 66.06KB </span>","children":null,"spread":false},{"title":"test.jar <span style='color:#111;'> 973B </span>","children":null,"spread":false},{"title":"InstructionReader.java <span style='color:#111;'> 18.81KB </span>","children":null,"spread":false},{"title":"Utils.java <span style='color:#111;'> 13.32KB </span>","children":null,"spread":false},{"title":"ClassReader.java <span style='color:#111;'> 12.08KB </span>","children":null,"spread":false},{"title":"ClassBridge.java <span style='color:#111;'> 9.37KB </span>","children":null,"spread":false},{"title":"VirtualMachine.java <span style='color:#111;'> 8.07KB </span>","children":null,"spread":false},{"title":"Interpreter.java <span style='color:#111;'> 7.53KB </span>","children":null,"spread":false},{"title":"Class.java <span style='color:#111;'> 7.22KB </span>","children":null,"spread":false},{"title":"FileTest4.java <span style='color:#111;'> 5.02KB </span>","children":null,"spread":false},{"title":"Args.java <span style='color:#111;'> 4.64KB </span>","children":null,"spread":false},{"title":"InvokeDynamicInst.java <span style='color:#111;'> 4.54KB </span>","children":null,"spread":false},{"title":"ClassLoader.java <span style='color:#111;'> 4.40KB </span>","children":null,"spread":false},{"title":"ByteCodeInterpreter.java <span style='color:#111;'> 4.30KB </span>","children":null,"spread":false},{"title":"Frame.java <span style='color:#111;'> 4.27KB </span>","children":null,"spread":false},{"title":"......","children":null,"spread":false},{"title":"<span style='color:steelblue;'>文件过多,未全部展示</span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明