簡體   English   中英

我可以將 Java 編譯為本機代碼嗎?

[英]Can I compile Java to native code?

有什么方法可以在不需要 JVM 的情況下從 Java 編譯為獨立(或庫)機器代碼?

曾經有一個名為 GCJ 的工具是 GCC 的一部分,但它已被刪除 現在,GCC 站點中的所有鏈接都重定向到其非 GCJ 等效項。

注意:評論都參考了我的原始答案,說您可以使用 GCJ 將 Java 編譯為本機代碼。

是的!

Oracle 一直致力於支持原生圖像的 GraalVm。 在這里查看: https : //www.graalvm.org/

本機映像與GraalVM SDK原生圖像特征有助於提高Java應用程序的啟動時間,讓他們有一個更小的空間。 實際上,它將在 JVM(在任何平台上)運行的字節碼轉換為特定操作系統/平台的本機代碼——這就是性能的來源。 它使用積極的提前 (AOT) 優化來實現良好的性能。

查看更多:

Excelsior JET是一種商業 Java 到本機代碼的編譯器。 但是,它已於 2019 年 5 月停產。

是的,JVM 中的 JIT 正是為您做到了這一點。

事實上,它可以生成比預先編譯代碼更快的代碼,因為它可以根據代碼在運行時的使用方式生成針對特定平台優化的代碼。

即使非常高的百分比被編譯為本機代碼,也始終涉及 JVM,因為您可以動態加載和運行字節代碼。

另一種可能性是RoboVM 然而,它似乎只適用於LinuxiOSMac OS X

截至今天,該項目似乎仍然有些活躍,這與網上一些聲稱該項目已死的帖子相反。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM