深入理解JVM 第一章之1

聲明:本系列博客內容均來自於《深入理解Java虛擬機》,感謝作者和譯者
1. Java面向網絡體系結構三大支柱:平臺無關性、安全性、網絡移動性
2. Java虛擬機的基本結構:Class loader+執行引擎
3. Java虛擬機是一臺抽象的計算機,其規範定義了每個Java虛擬機都要實現的特性,但是每個特性的實現都可以有很多選擇。例如,雖然每臺虛擬機都要求必須執行字節碼,但是執行的方式可以不同,可以使用軟件實現也可以使用硬件實現。
3. Java體系結構:獨立又相關的四個技術:

  - Java程序設計語言
  - Java .class 文件
  - Java應用編程接口(Java API)
  - Java虛擬機

4. Java解決一個安全性問題:從網絡上下載的程序很可能是病毒,這些程序很可能來襲擊你的代碼,然而Java提供了一種可以以不同的定製安全級別運行的方式來提供了保護,並且可以將它們放到不同命名空間中,不同命名空間中的類默認情況下是不能互相訪問的。
5. 安全性的另一個方面是程序的健壯性:Java體系結構對程序的健壯性提供了一定的保障,例如數組邊界檢測,並且一些有害的代碼不會出現在Java中,例如內存泄漏。這種體系結構可以保障從網上下載下來的代碼不會有意無意的崩潰,所以它可以提供程序員的生產力,因爲它天生可以預防很多bug,程序員不需要去發現他們。
6. Java程序運行流程:程序編寫->編譯源代碼(這一步只編譯代碼,源代碼中用到的類和方法不參與此過程)->虛擬機(中的類加載器)加載原代碼的.class文件和用到的類的.class文件->虛擬機(中的執行引擎)調用本地方法(執行)<->主機操作系統
7. 編譯時只編譯源程序的代碼,不包括其中調用的API方法。
8. Java虛擬機的主要的任務就是裝載字節碼文件並執行其中的字節碼。
9. JVM中的類加載器負責加載源程序的字節碼文件和源程序中用到的API中的節碼文件,只有當程序執行的時候用到了這些API的方法,這些類纔會被加載。
10. 字節碼由執行引擎來執行的。

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