1. Java跨平臺原理(位元組碼文件、虛擬機) C/C++語言都直接編譯成針對特定平臺機器碼。如果要跨平臺,需要使用相應的編譯器重新編譯。 Java源程式(.java)要先編譯成與平臺無關的位元組碼文件(.class),然後位元組碼文件再解釋成機器碼運行。解釋是通過Java虛擬機來執行的。 位元組碼文件不 ...
1. Java跨平臺原理(位元組碼文件、虛擬機)
C/C++語言都直接編譯成針對特定平臺機器碼。如果要跨平臺,需要使用相應的編譯器重新編譯。
Java源程式(.java)要先編譯成與平臺無關的位元組碼文件(.class),然後位元組碼文件再解釋成機器碼運行。解釋是通過Java虛擬機來執行的。
位元組碼文件不面向任何具體平臺,只面向虛擬機。
Java虛擬機是可運行Java位元組碼文件的虛擬電腦。不同平臺的虛擬機是不同的,但它們都提供了相同的介面。
Java語言具有一次編譯,到處運行的特點。就是說編譯後的.class可以跨平臺運行,前提是該平臺具有相應的Java虛擬機。但是性能比C/C++要低。
Java的跨平臺原理決定了其性能沒有C/C++高。
2. Java的安全性
語言層次的安全性主要體現在:
Java取消了強大但又危險的指針,而代之以引用。由於指針可進行移動運算,指針可隨便指向一個記憶體區域,而不管這個區域是否可用,這樣做是危險的,因為原來這個記憶體地址可能存儲著重要數據或者是其他程式運行所占用的,並且使用指針也容易數組越界。
獲取Java零基礎入門到精通視頻課程,請點擊:尚學堂Java1103集。
垃圾回收機制:不需要程式員直接控制記憶體回收,由垃圾回收器在後臺自動回收不再使用的記憶體。避免程式忘記及時回收,導致記憶體泄露。避免程式錯誤回收程式核心類庫的記憶體,導致系統崩潰。
異常處理機制:Java異常機制主要依賴於try、catch、finally、throw、throws五個關鍵字。
強制類型轉換:只有在滿足強制轉換規則的情況下才能強轉成功。
底層的安全性可以從以下方面來說明
Java在位元組碼的傳輸過程中使用了公開密鑰加密機制(PKC)。
在運行環境提供了四級安全性保障機制:
位元組碼校驗器 -類裝載器 -運行時記憶體佈局 -文件訪問限制。