Java到底是编译型语言还是解释型语言?
生活随笔
收集整理的這篇文章主要介紹了
Java到底是编译型语言还是解释型语言?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、你可以說它是編譯型的。因為所有的Java代碼都是要編譯的,.java不經過編譯就什么用都沒有。
二、你可以說它是解釋型的。因為java代碼編譯后不能直接運行,它是解釋運行在JVM上的,所以它是解釋運行的,那也就算是解釋的了。
三、但是,現在的JVM為了效率,都有一些JIT優化。它又會把.class的二進制代碼編譯為本地的代碼直接運行,所以,又是編譯的。
JIT工作原理(Just In Time Compiler) ,即時編譯器
當JIT編譯啟用時(默認是啟用的),JVM讀入.class文件解釋后,將其發給JIT編譯器。JIT編譯器將字節碼編譯成本機機器代碼。
通常javac將程序源碼編譯,轉換成java字節碼,JVM通過解釋字節碼將其翻譯成相應的機器指令,逐條讀入,逐條解釋翻譯。非常顯然,經過解釋運行,其運行速度必定會比可運行的二進制字節碼程序慢。為了提高運行速度,引入了JIT技術。
在執行時JIT會把翻譯過的機器碼保存起來,已備下次使用,因此從理論上來說,採用該JIT技術能夠,能夠接近曾經純編譯技術。
總結
以上是生活随笔為你收集整理的Java到底是编译型语言还是解释型语言?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 坐标距离计算器,距离测量
- 下一篇: PCB特征阻抗计算