本文介绍OCaml-Java项目中的编译器如何从OCaml源代码生成Java字节码。以Java虚拟机(JVM)为目标是一项技术挑战,但OCaml可以访问一个平台,在这个平台上,OCaml能够利用多个内核并访问许多库。我们介绍了有关运行时的主要设计选择以及编译器执行的各种优化,这些优化对于在JVM上获得良好性能至关重要。实际上,挑战不仅是生成字节码,还包括生成有效率的字节码,并提供一个运行时库,其内存占用不会影响垃圾收集器的效率。我们将重点放在与原始OCaml编译器不同的策略上,因为与本机代码相比,JVM上的约束非常不同。OCaml-Java编译器达到的性能水平通过基准测试进行评估,与原始OCaml实现和Scala语言进行比较。