国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Java虛擬機:Jvm概念和原理詳解以及GC機制的分析

云計算 虛擬化
程序計數器(Program Counter Register):也叫PC寄存器,是一塊較小的內存空間,它可以看做是當前線程所執行的字節碼的第幾行號指示器。

[[311892]]

 1. Java 堆(Java Heap):

(1)是Java虛擬機所管理的內存中最大的一塊。

(2)在虛擬機啟動的時候創建。堆是jvm所有線程共享的。

(3)唯一目的就是存放對象實例,幾乎所有的對象實例以及數組都要在這里分配內存。

2. JVM棧(java虛擬機棧):

(1)每個線程創建的同時會創建一個JVM棧幀,JVM棧中每個棧幀存放的為當前線程中局部基本類型的變量.

3. 本地方法棧(Native Method Stack):

(1)jvm中的本地方法是指方法的修飾符是帶有native的,但是方法體不是用java代碼寫的另一類方法。

(2)作用同java虛擬機棧類似,區別是:虛擬機棧為虛擬機執行Java方法服務,而本地方法棧則是為虛擬機使用到的Native方法服務。

(3)是線程私有的,它的生命周期與線程相同,每個線程都有一個。

4. 方法區(Method Area):

(1)在虛擬機啟動的時候創建。所有jvm線程共享。

(2)用于存放所有已被虛擬機加載的類信息、常量、靜態變量、以及編譯后的方法實現的二進制形式的機器指令集等數據。

5. 程序計數器(Program Counter Register):

也叫PC寄存器,是一塊較小的內存空間,它可以看做是當前線程所執行的字節碼的第幾行號指示器。

在虛擬機的概念模型里,字節碼解釋器工作時就是通過改變這個計數器的值來選取下一條需要執行的字節碼指令、分支、循環、跳轉、異常處理、線程恢復等基礎功能都需要依賴這個計數器來完成。

 

Java虛擬機:Jvm概念和原理詳解以及GC機制的分析

總結: 虛擬機棧、本地方法棧、程序計數器這三個模塊是線程私有的,有多少線程就有多少個這三個模塊,聲明周期跟所屬線程的聲明周期一致。以程序計數器為例,因為多線程是通過線程輪流切換和分配執行時間來實現,

所以當線程切回到正確執行位置,每個線程都有獨立的程序技術器,各個線程之間的計數器互不影響,獨立存儲。其余是跟JVM虛擬機的生命周期一致共享的。

6.類加載器子系統(class loader subsystem):

(1)根據給定的類名(如java.lang.Object)來裝載class文件的內容到Runtimedataarea中的methodarea(方法區域)。

(2)對(1)中的加載過程是:當一個classloader啟動時,classloader的生存地點在jvm中的堆,然后它去主機硬盤上去裝載A.class到jvm的methodarea(方法區)

7.執行引擎 :

(1)負責執行來自類加載器子系統(class loader subsystem)中被加載類中在方法區包含的指令集,通俗講就是類加載器子系統把代碼邏輯

(什么時候該if,相加,相減)都以指令的形式加載到了方法區,執行引擎就負責執行這些指令就行了。

8.解釋器:

一條一條地讀取,解釋并且執行字節碼指令。因為它一條一條地解釋和執行指令,所以它可以很快地解釋字節碼,但是執行起來會比較慢。這是解釋執行的語言的一個缺點。字節碼這種“語言”基本來說是解釋執行的。

9.編譯器:

(1. 即時編譯器被引入用來彌補解釋器的缺點。執行引擎首先按照解釋執行的方式來執行,然后在合適的時候,即時編譯器把整段字節碼編譯成本地代碼。

(2. 然后,執行引擎就沒有必要再去解釋執行方法了,它可以直接通過本地代碼去執行它。執行本地代碼比一條一條進行解釋執行的速度快很多。編譯后的代碼可以執行的很快,因為本地代碼是保存在緩存里的。

9.1. jdk,jre,JVM的關系:

JDK(Java Development Kit) 是 Java 語言的軟件開發工具包(SDK)。在JDK的安裝目錄下有一個jre目錄,里面有兩個文件夾bin和lib,

在這里可以認為bin里的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib合起來就稱為jre。

 

Java虛擬機:Jvm概念和原理詳解以及GC機制的分析

 

10. 上圖,堆內存分為三部分:

(1.新生區:是類的誕生、成長、消亡的區域,一個類在這里產生,應用,最后被垃圾回收器收集,結束生命。

(2.養老區:用于保存從新生區篩選出來的 JAVA 對象,一般池對象都在這個區域活躍。

(3.永久存儲區是一個常駐內存區域,用于存放JDK自身所攜帶的 Class,Interface 的元數據,

也就是說它存儲的是運行環境必須的類信息,被裝載進此區域的數據是不會被垃圾回收器回收掉的,關閉 JVM 才會釋放此區域所占用的內存。

11. 出現java.lang.OutOfMemoryError: Java heap space異常,說明Java虛擬機的堆內存不夠。

原因有二:

(a.Java虛擬機的堆內存設置不夠,可以通過參數-Xms、-Xmx來調整。

(b.代碼中創建了大量大對象,并且長時間不能被垃圾收集器收集(存在被引用)。

12.雙親委派機制:

JVM在加載類時默認采用的是雙親委派機制。通俗的講:

就是某個特定的類加載器在接到加載類的請求時,首先將加載任務委托給父類加載器,依次遞歸,(bootStrap、extclassLoader、appclassloader三個是父子類加載器)

如果父類加載器可以完成類加載任務,就成功返回;只有父類加載器無法完成此加載任務時,才自己去加載。

13. 什么時候會發生Full GC?

(1)調用System.gc()方法的

(2)老年代空間不足。【老年代空間只有在新生代對象轉入及創建大對象、大數組時才會出現不足的現象】

(3)永生區空間不足。

(4)堆中分配很大的對象。【例如很長的數組,此種對象會直接進入老年代】

(5)CMS GC時出現promotion failed和concurrent mode failure

14. gc回收的內容:

gc的主要作用是回收堆中的對象。通過分析一個對象的引用是否存在,如果不存在,就可以被回收了。

15.gc的具體過程:

這個主要看是用的哪一種回收算法以及用的什么垃圾回收集了。回收算法主要有:

(1)標記-清除算法

(2)標記-整理算法

(3)復制算法

(4)分代收集算法

16. 常用的垃圾回收器:

(1)Serial收集器【串行收集器】

(2)ParNew收集器【串行收集器的多線程版本】

(3)Parallel Scavenge收集器【PS收集器】

(4)CMS【老年代收集器】

(5)G1收集器

關于垃圾回收器的使用,這里也有一個組合建議共大家參考:

 

Java虛擬機:Jvm概念和原理詳解以及GC機制的分析

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2015-08-20 11:01:22

Java虛擬機GC算法種類

2015-03-12 14:06:08

Java虛擬機平臺原理

2020-05-08 16:55:48

Java虛擬機JVM

2009-06-04 16:27:39

Java虛擬機JVMGC

2011-06-22 13:35:55

JVM

2010-09-17 15:12:57

JVMJava虛擬機

2010-09-25 15:13:40

JVMJava虛擬機

2023-12-14 10:35:22

虛擬機程序

2018-10-25 09:04:56

Java虛擬機JVM

2010-03-15 14:24:59

StackHeapJVM

2020-04-22 21:57:47

Java虛擬機JVM

2019-12-17 15:15:24

Java虛擬機JVM

2010-11-17 16:45:41

虛擬機

2010-09-25 16:12:45

JVM虛擬機

2023-02-20 14:24:56

AndroidDalvikART

2012-05-18 10:22:23

2020-01-22 16:40:48

Java開發代碼

2015-05-15 10:36:13

2011-03-11 09:41:17

JavaGC

2011-11-30 14:12:05

JavaJVM虛擬機
點贊
收藏

51CTO技術棧公眾號

99久久久精品视频| 亚洲少妇久久久| 精品亚洲精品福利线在观看| 人人澡人人爽| 中出在线观看| 国产一级精品在线| 久久99精品久久久久久青青日本| 亚洲老女人视频免费| 久久亚洲精品中文字幕冲田杏梨| 国产夫妻在线| 日本麻豆一区二区三区视频| 国产女精品视频网站免费| 粉嫩精品导航导航| 欧美国产日韩二区| 日韩精品视频一二三| 国产成人欧美日韩在线电影| 在线观看国产一区| 日韩不卡一二三区| 热re99久久精品国99热蜜月| 爱情岛论坛亚洲品质自拍视频网站| 日韩欧美在线一区| 女人裸体免费网站| 一区在线观看视频| www.久草.com| 性做久久久久久免费观看| 女人被爽到呻吟gif动态图下载| 久久久不卡网国产精品一区| 国产97在线 | 亚洲| 91女厕偷拍女厕偷拍高清| 欧美视频第三页| 国产精品久久看| 嫩草影院网站在线| 色综合视频在线观看| 最新中文字幕在线观看| 在线观看三级视频欧美| 中日韩高清电影网| 在线精品播放av| 亚洲啊v在线免费视频| 亚洲精品美腿丝袜| www.涩涩涩| 亚洲另类在线一区| 亚洲精品视频区| 欧美亚洲动漫精品| 俺来也官网欧美久久精品| 日韩乱码在线视频| 国产精品国产亚洲精品| 久久99亚洲热视| 久久91成人| 国产二区一区| 国产一区视频网站| 四虎免费av| 亚洲精品在线免费观看视频| 成人淫片免费视频95视频| 日本v片在线高清不卡在线观看| 看av免费毛片手机播放| 182在线视频观看| 精品一区二区三区三区| 中文字幕日韩亚洲| 成人观看高清在线观看免费| 性欧美精品高清| 四虎免费在线观看视频| 国产亚洲女人久久久久毛片| 有码在线播放| 亚洲精品一区中文字幕乱码| 久9re热视频这里只有精品| av一区二区三区在线观看| 国产精品一区二区久久不卡 | av片在线观看永久免费| 在线日韩欧美视频| 午夜欧美精品| 欧美xxxxx在线视频| 制服丝袜国产精品| 欧美理伦片在线播放| 日韩欧美一区二区视频在线播放 | 色丁香久综合在线久综合在线观看| www.精品av.com| 玖玖在线免费视频| 精品日韩99亚洲| 久久porn| 在线播放 亚洲| 性做久久久久久免费观看 | 免费成人av| 亚洲巨乳在线观看| 亚洲一级二级三级在线免费观看| 成人性生交大片免费看网站| 97精品在线视频| 久久精品国产一区二区三 | 中文字幕一区在线观看视频| 亚洲高潮无码久久| 欧美日韩中文字幕综合视频| 亚洲一区有码| 欧美日韩一区在线观看视频| 亚洲免费观看高清完整| 成人小电影网站| 精品乱码一区二区三区| 亚洲日本一区二区三区| 少妇一区视频| 日本成人三级电影网站| 亚洲成av人综合在线观看| 欧美日韩午夜电影网| 经典三级在线视频| 日韩精品一区国产麻豆| 91精品精品| www.99色.com| 欧美成年人视频网站欧美| 亚洲一区导航| 亚洲国产日韩综合一区| 欧美高清精品3d| 在线免费观看的av网站| 国产精品成人观看视频国产奇米| 成人免费看黄yyy456| 超碰97免费在线| 国产一区免费观看| 欧美性少妇18aaaa视频| 你懂的一区二区三区| 超碰在线播放91| 久久精品精品电影网| 国产精一区二区三区| 97人澡人人添人人爽欧美| 欧美一区观看| 日韩精品中午字幕| 日本视频一区二区三区| 精精国产xxxx视频在线| 国产精品久久亚洲| 欧美日韩一级视频| 亚洲黄色一区| 主播国产精品| 亚洲国产一区二区在线| 日韩av网站在线| 国产精品一品视频| 99热播精品免费| 中国丰满人妻videoshd | 中文字幕一区三区| 久久97精品| 亚洲an天堂an在线观看| 欧美激情视频给我| 国产精品乱码人人做人人爱| 动漫av一区| baoyu777.永久免费视频| 青青草原成人在线视频| 亚洲手机成人高清视频| 欧美另类69xxxxx| 国产中文字幕在线视频| 国产精品一码二码三码在线| 91精品午夜视频| 国产中文字幕精品| 人人精品久久| www.成人69.com| 超碰97人人人人人蜜桃| 日韩欧美一区在线| 波多野结衣中文字幕一区二区三区| 国产91福利| 国产欧美在线播放| 欧美日韩国产色站一区二区三区| 视频一区视频二区在线观看| 麻豆视频在线看| 欧美激情成人网| 国产精品电影网| 欧美欧美午夜aⅴ在线观看| 日韩二区在线观看| 综合久久av| 国产成人午夜电影| 国产激情一区二区三区在线观看 | 国产精品电影观看| 欧美天天综合网| 韩国av一区二区三区四区 | 麻豆国产精品va在线观看不卡| 自拍偷在线精品自拍偷无码专区| 欧美电影免费观看高清| 91在线中字| 日韩免费高清在线| 91精品国产综合久久久久久丝袜| 日韩一区二区三区精品视频 | 欧洲视频一区二区三区| 日韩中文字幕在线观看| 一区二区欧美精品| 视频一区在线视频| 国产精品传媒| 美女国产在线| 国产精品视频分类| 久久日韩精品| 992tv在线成人免费观看| 欧美日韩aaa| 国产三级一区二区三区| 国内精品福利| 99国内精品久久久久| 黄色在线视频观看网站| 亚洲精品无码国产| 97久久精品午夜一区二区| 亚洲视频在线看| 欧美性xxxx极品高清hd直播| 日韩第一区第二区| 欧美激情在线免费观看| 久久精品国产久精国产| 国产性xxxx18免费观看视频| 国产精品久久观看| 日韩电影免费在线看| 一区二区成人在线观看| 亚洲人成啪啪网站| 久久久久高清|