JAVA學習筆記(二) java如何讓計算機知道並執行我們想做的事

衆所周知,JAVA擁有很強大的跨平臺性,可是爲什麼呢?因爲JAVA虛擬機的原因

這是一個JAVA運行的圖片;


我們來看看JAVA是如何運行的,由圖片可以知道看出JAVA編譯和運行是不在一個環境當中的他有一個編譯時環境和運行時環境,我們寫好源文件(.java)以後,系統先通過JAVA的編譯器,編譯成字節碼文件(.class),這個類似於C語言中,.c文件編譯成目標文件(.obj),然後JAVA將這個文件通過不同的方式,傳遞給運行時環境。

我們知道,JAVA是一個純面向對象的語言,我們肯定會運用裏面很多自帶的類(不可能所有的類都要自己寫一遍吧),這時,就要通過類加載器,將系統自帶的類給加載進去,你可以在你的安裝路徑下找到很多JAR包,裏面就是自帶的類庫的.class文件,加載完成後通過字節碼校驗器。

然後我們看到,這裏產生了兩個分支,這兩個分支的執行方式是JAVA解釋器是JIT的替補,也就是說,如果當前系統上沒有JIT的時候,那麼會使用JAVA解釋器將字節碼解釋成2進制代碼使硬件能夠識別,若當前系統擁有即時編譯器,那麼久用即時編譯器將字節碼解釋成2進制代碼。

也就是說 JAVA所宣傳的口號one write,run anything,是因爲當前硬件擁有JAVA的運行時環境纔可以做到。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章