Java 核心 談談對Java平臺的理解?

在學極客時間上Java核心36講,這是每一講對應的筆記。程序員

問題

談談對 Java 平臺的理解,Java是解釋執行,這句話正確嗎?工具

考點

擴散性問題,須要表現出本身的思惟深刻並系統化,Java 知識理解得也比較全面。cdn

解析

Java 是一門面向對象語言,有跨平臺GC 的特色。跨平臺基於 JVM 實現「 write once,run anywhere」,GC 指的是不須要程序員考慮內存的分配和回收。對象

JRE(Java Runtime Environment)包括 JVM、Java 類庫,提供 Java 程序的運行環境,JDK(Java Development Kit)包括 JRE 和更多如編譯器、診斷工具等,提供給開發人員使用。內存

好比以前用 jmap dump 處處內存信息排查 Full GC 致使的 CPU 滿載。開發

編譯執行指的是邊編譯邊執行,好比火鍋邊涮邊吃;解釋執行指的是先編譯好,再執行,好比炒菜抄完了再吃。編譯器

Java 是解釋執行語言,先將源代碼經過 Javac 編譯成字節碼,再在運行時經過 JVM 的解釋器轉換爲機器碼。但也有編譯執行的 JVM,如 Oracle JDk 的Hostpot JVM 提供了 JIT(Just In Time),在編譯的時候生成機器碼,即爲編譯執行。還有Oracle JDK 9 引入的實驗性 AOT(Ahead of Time Compilation),在編譯前生成機器碼。it

好比以前聯調嫌每次改代碼都重啓項目很耗時,重寫了 ClassLoader 實現了編譯執行。io


每一次成長,都想與你分享。 編譯

相關文章
相關標籤/搜索