node-jvm Java虚拟机实现
纯 Node.js 实现的 Java 虚拟机,还挺有意思的。node-jvm
就是个能在 Node 环境里跑 Java 字节码的项目,换句话说,你不用开 JDK,不用配置环境变量,直接用 Node 跑 Java 代码,嗯,还挺适合拿来做些实验或做动态类加载的研究。
Java 的递归函数直接拿来跑,比如:
public static long fib(int n) {
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
}
放进 node-jvm
执行,居然也能跑。速度比不了真 JVM,但玩起来轻便,尤其是调试某些类加载逻辑时,挺方便的。
项目结构还比较清晰,关键类也没那么多,熟悉 Node 的话,看懂源码问题不大。JS 写 Java 虚拟机,多少有点黑魔法的味道,研究下类加载、方法区之类的概念挺直观。
哦对了,有兴趣可以看看这个关于 JVM 的基础,还有个 深入解析 Java 架构 的文章,跟 node-jvm
搭配着看,更有感觉。
如果你想用 Node 环境下动态 Java 字节码,或者搞点 Bytecode 层面的实验,node-jvm
还挺适合。别指望它能跑大项目,但拿来练手、搞搞嵌入式调度,够用了。
node-jvm:纯node.js中的Java虚拟机
预估大小:112个文件
Nested.java
281B
Main.java
651B
Main.java
605B
Main.java
149B
Clazz.java
159B
Main.java
605B
Main.java
465B
Main.java
591B
MyOut.java
172B
Main.java
293B
56.94KB
文件大小:
评论区