OpenLDK:让 Java 世界融入 Common Lisp

OpenLDK: Bringing the Java World into Common Lisp

多年前我参与过 gcj 项目,如今 Common Lisp 是我的首选语言,但我仍对 Java 运行时充满兴趣。2024 年底,为了在 SBCL 中使用 Java 库,我开发了 OpenLDK。这是一个用 Common Lisp 编写的 Java 即时编译器,它读取 Java 字节码,将其转换为 Lisp,再由 SBCL 编译为原生机器码。Java 对象与 Lisp 应用共享同一进程和堆空间。OpenLDK 带来了奇妙的可能性:Java 类变为 CLOS 类,Lisp 可以为 Kotlin 方法添加行为,Clojure 函数可直接通过 funcall 调用。更令人惊叹的是,一个初始化好的 Spring Boot 应用可以保存在 Lisp 镜像中,并在约 84 毫秒内重新启动。

同日更多故事

2026-10-27