一 JVM基礎入門

2022-10-10 19:09:08 字數 959 閱讀 7037

jvm是執行在作業系統之上的,它與硬體沒有直接的互動

jvm是跨語言的平台,jvm與j**a無關,任何語言只要其編譯結果滿足幷包含j**a虛擬機器的內部指令集、符號表以及其他的輔助資訊,符合class檔案格式,它就是乙個有效的位元組碼檔案,就能夠被虛擬機器所識別並裝載執行。

虛擬機器j**a虛擬機器

特點:一次編譯,到處執行  自動記憶體管理  自動垃圾**功能

執行引擎包含三部分:直譯器,及時編譯器jit,垃圾**器gc。

j**a編譯器輸入的指令流基本上是一種基於棧的指令集架構,另外一種指令集架構則是基於暫存器的指令集架構。具體來說:這兩種架構之間的區別:

基於棧式架構的特點

基於暫存器架構的特點

虛擬機器的啟動

j**a虛擬機器的啟動是通過引導類載入器(bootstrap class loader)建立乙個初始類(initial class)來完成的,這個類是由虛擬機器的具體實現指定的。

虛擬機器的執行

虛擬機器的退出

sun classic vm

exact vm

hotspot vm

jrockit

ibm的j9

……還有很多啦~

具體jvm的記憶體結構,其實取決於其實現,不同廠商的jvm,或者同一廠商發布的不同版本,都有可能存在一定差異。

JVM基礎入門

jvm j a virtual machine 為j a虛擬機器,是執行在作業系統之上,為j a程式提供支援。負責載入class檔案,class檔案在檔案開頭有特定的檔案標示,將class檔案位元組碼內容載入到記憶體中,並將這些內容轉換成方法區中執行時資料結構並且classloader只負責clas...

JVM基礎學習(一) JVM記憶體模型

在j a高階知識的學習中,jvm都是避不過去的一關,我個人對於jvm的理解其實就是相當於在作業系統的外層再加了一層中間層,從來遮蔽了具體硬體之間的不同實現,使得j a實現了最重要的特性 一次編譯,處處執行。本分類中的內容都是基於 深入理解j a虛擬機器 中的內容以及網路上面部落格整理,外加自己的理解...

jvm基礎引數

初始化堆記憶體大小,相當於 xx initheapsize 預設為系統記憶體的1 64 最大堆記憶體,相當於 xx maxheapsize,預設為系統的1 4 棧空間 xx threadstacksize,windows取決於記憶體大小,而其他系統預設為1024k 新生代大小 元空間,使用直接記憶體...