Java是跨平台物件導向的語言,
程式語言目前最大的差別在於跨平台的分別,這是程式差別最大的地方,再來才是效能問題。
用Java寫過的程式,在任何作業系統都可以執行,不需重新編譯,「一次編譯、到處執行」。
執行Java應用程式必須安裝 Java Runtime Environment,JRE內部有一個Java虛擬機器Java Virtual Machine,以及一些標準的類別庫Class Library。透過JVM的虛擬機器才能在電腦系統執行Java應用程式Java Application。
首先編譯器將.java原始碼編譯成.class位元組碼(bytecode),然後依賴各種不同平台上的JVM虛擬機器(解釋層)來解釋執行位元組碼。 JVM虛擬機器會把bytecode轉換成當前所處硬體平台的原始代碼。之後,虛擬機器會開啟標準庫,進行資料(圖片、執行緒和網路)的存取工作。
儘管已經存在一個進行代碼翻譯的解釋層,有些時候位元組碼還是會被JIT編譯器進行二次編譯。
目前,Java已經使用更先進的HotSpot技術來代替JIT技術,效能亦有更進一步的提升。
0 意見:
張貼留言