Jit編譯為什麼快
發布時間: 2023-01-16 10:08:02
Ⅰ Java使用JIT編譯器,執行效率與C++相比哪個
我猜測:JAVA即使編譯成機器碼,其執行效率也不如C++的。
從整體來看,JAVA有一些需要額外的消耗是C++沒有的,比如:內存回收、反射、數組越界判斷等。
內存回收這一機制要求編譯後的執行文件除了我們自己寫的邏輯之外,還要有一個線程來管理內存。
反射一方面要有一塊內存用來做類型字典,另一方面又要對反射調用做安全檢查。
……
另外,如果JIT編譯之後仍然有類載入器這類的東西,那麼這個程序就還要內部集成一個.class文件到機器指令的解釋器或編譯器。
……
總之,JIT編譯後的文件不得不為JAVA自身的復雜性增加一系列機制在裡面,但C++的文件除了我們自己寫的邏輯和本地可執行文件頭之外就什麼都沒有了。
熱點內容
