Double 11, 開啓JVM之旅,
路漫漫,其修遠兮,吾將上下而求索。
基本參考B站https://www.bilibili.com/video/av47756459?p=3,理想分十次總結記錄。
還是按照內容進行劃分記錄吧?嗯!
JVM 簡介
JVM是Java Virtual Machine(Java虛擬機)的縮寫,JVM是一種用於計算設備的規範,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。
引入Java語言虛擬機後,Java語言在不同平臺上運行時不需要重新編譯。Java語言使用Java虛擬機屏蔽了與具體平臺相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。注,Kotlin語言可以生成字節碼,同樣可以使用在JVM上。所以,JVM並不侷限於Java語言。
Java虛擬機有自己完善的硬件架構,如處理器、堆棧等,還具有相應的指令系統。注,JVM博大精深,涉及的內容十分廣泛,令人望而卻步,,,
Java虛擬機本質上就是一個程序,當它在命令行上啓動的時候,就開始執行保存在某字節碼文件中的指令。Java語言的可移植性正是建立在Java虛擬機的基礎上。任何平臺只要裝有針對於該平臺的Java虛擬機,字節碼文件(.class)就可以在該平臺上運行。這就是“一次編譯,多次運行”。
Java虛擬機不僅是一種跨平臺的軟件,而且是一種新的網絡計算平臺。該平臺包括許多相關的技術,如符合開放接口標準的各種API、優化技術等。Java技術使同一種應用可以運行在不同的平臺上。Java平臺可分爲兩部分,即Java虛擬機(Java virtual machine,JVM)和Java API類庫。
(來自百度百科)
不同的公司提供了不同的JVM實現(符合JVM實現規範即可)
瞭解 jvm的jconsole,jvisual VM 監視,控制器