談談你對 Java 平臺的理解(待補充)

《Java核心技術面試精講–楊曉峯》學習筆記目錄

轉自極客《Java核心技術面試精講 楊曉峯》

Java的特性:

  • 面向對象:封裝、繼承、多態
  • 平臺無關性
    原理(Java代碼的執行過程):C/C++的編譯是直接把代碼翻譯成機器碼,而 java 的編譯是先通過 javac 工具編譯成字節碼(.class)文件。JVM 再對(.class)文件讀取一條、編譯一條(二次編譯)、執行一條。到這裏 Java 是解釋執行
  • 垃圾回收
    Java 通過垃圾蒐集器回收分配內存,到部分情況下,程序員不需要自己操心內存的分配和回收。

JRE:

  • Java 的基本運行環境。包含 JVM 和 Java 類庫。

JDK:

  • Java 的開發工具。在 JRE 的基礎上包含了更多工具。
  • 比如 Java 8 的 JIT 。JDK8 的 Java是混合編譯。原因在於 JIT (編譯執行)會將某些運行特別的代碼編譯成與本地平臺相關的機器碼,因此 Java 程序會越運行越快。
  • Java 9 提供了 AOT 編譯器,運行時通過工具直接將字節碼編譯成機器碼執行。

Java 的類加載機制:

  • 加載過程:加載、驗證、鏈接、初始化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章