大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 JVM運行機制是怎樣的

JVM運行機制是怎樣的

更新時間:2020-10-22 17:18:15 來源:動力節點 瀏覽1413次

我們知道java語言的特點之一是跨平臺性,而JVM是java跨平臺的關鍵所在。JVM上執行java字節碼,執行時這些字節碼可以解釋成具體平臺的機器碼,學習JVM運行機制以及原理,會懂得為什么java語言擁有“一次編譯,處處運行”這一跨平臺能力。


什么是JVM呢?JVM是Java Virtual Machine(Java虛擬機)的縮寫,是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。Java虛擬機主要由字節碼指令集、寄存器、棧、垃圾回收堆和存儲方法域等構成。JVM屏蔽了與具體操作系統平臺相關的信息,使java程序只需生成在java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。


要知道JVM運行機制,對JVM內存模型的構成要了解,我們從內存模型來理解JVM運行機制。JVM內存模型主要由堆內存、方法區、程序計數器、虛擬機棧和本地方法棧組成,其組成的結構如下圖所示:

image.png


堆內存:堆內存是所有線程共有的,可以分為兩個部分:年輕代和老年代。下圖中的Perm代表的是永久代,但是注意永久代并不屬于堆內存中的一部分,同時jdk1.8之后永久代也將被移除。堆內存是我們在生產環境中進行內存性能調優中的一個重要的內容,而內存回收的一些機制和算法也是在java面試題中常出現的考察內容。

image.png


方法區:方法區與java堆一樣,是各個線程共享的區域,它用于存儲已被虛擬機加載的類信息,常量,靜態變量,即時編譯(JIT)后的代碼等數據。由于程序中所有的線程共享一個方法區,所以訪問方法區的信息必須確保線程是安全的。如果有兩個線程同時去加載一個類,那么只能有一個線程被允許去加載這個類,另一個必須等待。在程序運行時,方法區的大小是可以改變的,程序在運行時可以擴展。同時,方法區里面的對象也可以被垃圾回收,但條件非常嚴苛,必須在該類沒有任何引用的情況下才能被GC回收。


程序計數器:JVM的多線程是通過線程輪流切換并分配處理器執行時間的方式來實現的,為了各條線程之間的切換后計數器能恢復到正確的執行位置,所以每條線程都會有一個獨立的程序計數器。當線程正在執行一個Java方法,程序計數器記錄的是正在執行的JVM字節碼指令的地址;如果正在執行的是一個Natvie(本地方法),那么這個計數器的值則為空。程序計數器占用的內存空間很少,也是唯一一個在JVM規范中沒有規定任何內存不足錯誤的區域。


Java虛擬機棧:與程序計數器一樣,Java虛擬機棧也是線程私有的,用通俗的話將它就是我們常常聽說到堆棧中的那個“棧內存”。虛擬機棧描述的是Java方法執行的內存模型:每個方法在執行的同時都會創建一個棧幀(Stack Frame)用于存儲局部變量表(局部變量表需要的內存在編譯期間就確定了所以在方法運行期間不會改變大小),操作數棧,動態鏈接,方法出口等信息。每一個方法從調用至出棧的過程,就對應著棧幀在虛擬機中從入棧到出棧的過程。


本地方法棧:棧作為一種線性的管道結構,遵循先進后出的原則。主要用于存儲本地方法的局部變量表,本地方法的操作數棧等信息。當棧內的數據在超出其作用域后,會被自動釋放掉。本地方法棧是在程序調用或JVM調用本地方法接口(Native)時候啟用。


JVM的生命周期,JVM在Java程序開始執行的時候,它才運行,程序結束的時它就停止。一個Java程序會開啟一個JVM進程,如果一臺機器上運行三個程序,那么就會有三個運行中的JVM進程。JVM中的線程分為兩種:守護線程和普通線程,守護線程是JVM自己使用的線程,比如垃圾回收(GC)就是一個守護線程;普通線程一般是Java程序的線程,只要JVM中有普通線程在執行,那么JVM就不會停止。


以上是對JVM運行機制的解釋介紹,希望大家可以認真學習,JVM虛擬機是構成java編程技術體系的重要一部分,對JVM運行機制原理理解好了后,才可以在java教程中更好的學習到虛擬機更多更深入的知識點。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久精品亚洲牛牛影视 | 华人亚洲欧美精品国产 | 欧美精品成人久久网站 | 亚洲人成毛片线播放 | 日本三级欧美三级 | 日本一级淫片a免费播放 | 欧美高清在线精品一区二区不卡 | 午夜二级 | 涩涩www在线观看免费高清 | 华人亚洲欧美精品国产 | 亚洲精品第一页中文字幕 | 国产在线看不卡一区二区 | 99精品国产福利在线观看 | 欧美性另类69xxxx极品 | 91在线视频免费看 | 四虎sihu新版影院亚洲精品 | 欧美日韩在线成人免费视频大全 | 亚洲国产欧美精品 | 成人在线观看网站 | 99视频在线观看免费视频 | 伊香蕉大综综综合久久 | 亚洲国产成人久久77 | 日韩中文字幕免费在线观看 | 亚洲视频日韩视频 | 四虎影视永久在线精品免费播放 | 亚洲视频二区 | 中文字幕精品视频在线观 | 国产成人亚洲精品大帝 | xxxxxx日本人免费 | 亚洲精品中文字幕字幕 | 一级aaa级毛片午夜在线播放 | 精品国产品香蕉在线 | 国内国产精品天干天干 | 人人骚 | 青青青在线观看免费视频精品 | 亚洲欧美综合国产不卡 | 美女被羞羞视频网站在线 | 国产在线精品观看一区 | 国产理论视频 | 日本a∨在线观看 | 国产大尺度视频 |