Innevs

基于Node.js的Java虚拟机:node-jvm

转载node.jsjavajvminnev8月26日22 阅读

node-jvm 实现了纯 Node.js 环境下的 Java 虚拟机。

示例:

public class Main {
    public static long fib(int n) {
        if (n <= 1) return n;
        return fib(n-1) + fib(n-2);
    }
 
    public static void main(String[] args) {
        if (args.length == 0) {
                System.out.print("help: java Main.class {Number}");
                return;
        }
 
        int N = Integer.parseInt(args[0]);
        long start = System.currentTimeMillis();            
        System.out.format("Fibonacci from 1 to %s:\n", N);
        for (int i = 1; i <= N; i++) {
            System.out.println(i + ": " + fib(i));
        }
        long stop = System.currentTimeMillis();
        System.out.println("time: " + (stop - start) + "ms");
 
        System.out.println("done.");
    }
}
node.js
var JVM = require("../../index");
var jvm = new JVM();
jvm.loadClassFile("./Main.class");
jvm.run([10]);

项目主页:https://github.com/zhaozhao200295/node-jvm