精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JVM由那些部分組成,運行流程是什么?

開發 前端
將字節碼翻譯為底層系統指令,再交由CPU執行去執行,此時需要調用其他語言的本地庫接口(Native Method Library)來實現整個程序的功能。


圖片圖片

思考: JVM由那些部分組成,運行流程是什么?

1.JVM由那些部分組成,運行流程是什么?

JVM是什么

好處:

一次編寫,到處運行

自動內存管理,垃圾回收機制

圖片圖片

思考:JVM由哪些部分組成,運行流程是什么?

圖片圖片

從圖中可以看出 JVM 的主要組成部分

ClassLoader(類加載器)

Runtime Data Area(運行時數據區,內存分區)

Execution Engine(執行引擎)

Native Method Library(本地庫接口)

運行流程:

1.類加載器(ClassLoader):把Java代碼轉換為字節碼

2.運行時數據區(Runtime Data Area):把字節碼加載到內存中,而字節碼文件只是JVM的一套指令集規范,并不能直接交給底層系統去執行,而是有執行引擎運行

3.執行引擎(Execution Engine):將字節碼翻譯為底層系統指令,再交由CPU執行去執行,此時需要調用其他語言的本地庫接口(Native Method Library)來實現整個程序的功能。

2. 什么是程序計數器?

程序計數器:線程私有的,內部保存的字節碼的行號。用于記錄正在執行的字節碼指令的地址。

javap -verbose  xx.class    打印堆棧大小,局部變量的數量和方法的參數。

圖片圖片

java虛擬機對于多線程是通過線程輪流切換并且分配線程執行時間。在任何的一個時間點上,一個處理器只會處理執行一個線程,如果當前被執行的這個線程它所分配的執行時間用完了【掛起】。處理器會切換到另外的一個線程上來進行執行。并且這個線程的執行時間用完了,接著處理器就會又來執行被掛起的這個線程。

那么現在有一個問題就是,當前處理器如何能夠知道,對于這個被掛起的線程,它上一次執行到了哪里?那么這時就需要從程序計數器中來回去到當前的這個線程他上一次執行的行號,然后接著繼續向下執行。

程序計數器是JVM規范中唯一一個沒有規定出現OOM的區域,所以這個空間也不會進行GC

3. 你能給我詳細的介紹Java堆嗎?

Java堆是Java虛擬機(JVM)運行時數據區的一部分,線程共享的區域:主要用來保存對象實例,數組等,當堆中沒有內存空間可分配給實例,也無法再擴展時,則拋出OutOfMemoryError異常。

圖片圖片

Java堆的一些重要信息:

年輕代: 年輕代被劃分為三部分,Eden區和兩個大小嚴格相同的Survivor區,根據JVM的策略,在經過幾次垃圾收集后,任然存活于Survivor的對象將被移動到老年代區間。

老年代: 在新生代中經歷了一些輪次的對象最終會被晉升到老年代。老年代使用不同的垃圾收集算法,通常采用"標記-清理"或"標記-整理"的方式進行垃圾回收。

持久代: 在Java 8之前的版本中,持久代用于存儲類信息、方法信息等。從Java 8開始,持久代被元空間(Metaspace)取代,類信息被存儲在本地內存中。

元空間: 保存的類信息、靜態變量、常量、編譯后的代碼

圖片圖片

為了避免方法區出現OOM,所以在java8中將堆上的方法區【永久代】給移動到了本地內存上,重新開辟了一塊空間,叫做元空間。那么現在就可以避免掉OOM的出現了。

元空間(MetaSpace)介紹

在 HotSpot JVM 中,永久代( ≈ 方法區)中用于存放類和方法的元數據以及常量池,比如Class 和 Method。每當一個類初次被加載的時候,它的元數據都會放到永久代中。

永久代是有大小限制的,因此如果加載的類太多,很有可能導致永久代內存溢出,即OutOfMemoryError,為此不得不對虛擬機做調優。

那么,Java 8 中 PermGen 為什么被移出 HotSpot JVM 了?

官網給出了解釋:http://openjdk.java.net/jeps/122

This is part of the JRockit and Hotspot convergence effort. JRockit customers do not need to configure the permanent generation (since JRockit does not have a permanent generation) and are accustomed to not configuring the permanent generation.

移除永久代是為融合HotSpot JVM與 JRockit VM而做出的努力,因為JRockit沒有永久代,不需要配置永久代。

1)由于 PermGen 內存經常會溢出,引發OutOfMemoryError,因此 JVM 的開發者希望這一塊內存可以更靈活地被管理,不要再經常出現這樣的 OOM。

2)移除 PermGen 可以促進 HotSpot JVM 與 JRockit VM 的融合,因為 JRockit 沒有永久代。

準確來說,Perm 區中的字符串常量池被移到了堆內存中是在 Java7 之后,Java 8 時,PermGen 被元空間代替,其他內容比如類元信息、字段、靜態屬性、方法、常量等都移動到元空間區。比如 java/lang/Object 類元信息、靜態屬性 System.out、整型常量等。

元空間的本質和永久代類似,都是對 JVM 規范中方法區的實現。不過元空間與永久代之間最大的區別在于:元空間并不在虛擬機中,而是使用本地內存。因此,默認情況下,元空間的大小僅受本地內存限制。

4. 什么是虛擬機棧?

Java Virtual machine Stacks (java 虛擬機棧)

  • 每個線程運行時所需要的內存,稱為虛擬機棧,先進后出
  • 每個棧由多個棧幀(frame)組成,對應著每次方法調用時所占用的內存
  • 每個線程只能有一個活動棧幀,對應著當前正在執行的那個方法

圖片圖片

1)垃圾回收是否涉及棧內存?

垃圾回收主要指就是堆內存,當棧幀彈棧以后,內存就會釋放

2)棧內存分配越大越好嗎?

未必,默認的棧內存通常為1024k

棧幀過大會導致線程數變少,例如,機器總內存為512m,目前能活動的線程數則為512個,如果把棧內存改為2048k,那么能活動的棧幀就會減半

3)方法內的局部變量是否線程安全?

  • 如果方法內局部變量沒有逃離方法的作用范圍,它是線程安全的
  • 如果是局部變量引用了對象,并逃離方法的作用范圍,需要考慮線程安全

棧內存溢出情況

  • 棧幀過多導致棧內存溢出,典型問題:遞歸調用

總結:

1)堆解決的是對象實例存儲的問題,垃圾回收器管理的主要區域。

2.)方法區可以認為是堆的一部分,用于存儲已被虛擬機加載的信息,常量、靜態變量、即時編譯器編譯后的代碼。

3)棧解決的是程序運行的問題,棧里面存的是棧幀,棧幀里面存的是局部變量表、操作數棧、動態鏈接、方法出口等信息。

4)本地方法棧與棧功能相同,本地方法棧執行的是本地方法,一個Java調用非Java代碼的接口。

5)程序計數器(PC寄存器) 程序計數器中存放的是當前線程所執行的字節碼的行數。JVM工作時就是通過改變這個計數器的值來選取下一個需要執行的字節碼指令。

5.  JVM組成面試題

面試官:JVM由那些部分組成,運行流程是什么?

候選人:

在JVM中共有四大部分,分別是ClassLoader(類加載器)、Runtime Data Area(運行時數據區,內存分區)、Execution Engine(執行引擎)、Native Method Library(本地庫接口)

它們的運行流程是:

第一,類加載器(ClassLoader)把Java代碼轉換為字節碼

第二,運行時數據區(Runtime Data Area)把字節碼加載到內存中,而字節碼文件只是JVM的一套指令集規范,并不能直接交給底層系統去執行,而是有執行引擎運行

第三,執行引擎(Execution Engine)將字節碼翻譯為底層系統指令,再交由CPU執行去執行,此時需要調用其他語言的本地庫接口(Native Method Library)來實現整個程序的功能。

面試官:好的,你能詳細說一下 JVM 運行時數據區嗎?

候選人:

嗯,好~

運行時數據區包含了堆、方法區、棧、本地方法棧、程序計數器這幾部分,每個功能作用不一樣。

  • 堆解決的是對象實例存儲的問題,垃圾回收器管理的主要區域。
  • 方法區可以認為是堆的一部分,用于存儲已被虛擬機加載的信息,常量、靜態變量、即時編譯器編譯后的代碼。
  • 棧解決的是程序運行的問題,棧里面存的是棧幀,棧幀里面存的是局部變量表、操作數棧、動態鏈接、方法出口等信息。
  • 本地方法棧與棧功能相同,本地方法棧執行的是本地方法,一個Java調用非Java代碼的接口。
  • 程序計數器(PC寄存器)程序計數器中存放的是當前線程所執行的字節碼的行數。JVM工作時就是通過改變這個計數器的值來選取下一個需要執行的字節碼指令。

面試官:好的,你再詳細介紹一下程序計數器的作用?

候選人:

嗯,是這樣~~

java虛擬機對于多線程是通過線程輪流切換并且分配線程執行時間。在任何的一個時間點上,一個處理器只會處理執行一個線程,如果當前被執行的這個線程它所分配的執行時間用完了【掛起】。處理器會切換到另外的一個線程上來進行執行。并且這個線程的執行時間用完了,接著處理器就會又來執行被掛起的這個線程。這時候程序計數器就起到了關鍵作用,程序計數器在來回切換的線程中記錄他上一次執行的行號,然后接著繼續向下執行。

面試官:你能給我詳細的介紹Java堆嗎?

候選人:

Java中的堆術語線程共享的區域。主要用來保存對象實例,數組等,當堆中沒有內存空間可分配給實例,也無法再擴展時,則拋出OutOfMemoryError異常。

在JAVA8中堆內會存在年輕代、老年代

1)Young(新生代)區被劃分為三部分,Eden區和兩個大小嚴格相同的Survivor區,其中,Survivor區間中,某一時刻只有其中一個是被使用的,另外一個留做垃圾收集時復制對象用。在Eden區變滿的時候, GC就會將存活的對象移到空閑的Survivor區間中,根據JVM的策略,在經過幾次垃圾收集后,任然存活于Survivor的對象將被移動到Tenured區間。

2)Tenured(老年代)區主要保存生命周期長的對象,一般是一些老的對象,當一些對象在Young復制轉移一定的次數以后,對象就會被轉移到Tenured區。

面試官:什么是虛擬機棧

候選人:

虛擬機棧是描述的是方法執行時的內存模型,是線程私有的,生命周期與線程相同,每個方法被執行的同時會創建棧楨。保存執行方法時的局部變量、動態連接信息、方法返回地址信息等等。方法開始執行的時候會進棧,方法執行完會出棧【相當于清空了數據】,所以這塊區域不需要進行 GC。

面試官:能說一下堆棧的區別是什么嗎?

候選人:

有這幾個區別

第一,棧內存一般會用來存儲局部變量和方法調用,但堆內存是用來存儲Java對象和數組的的。堆會GC垃圾回收,而棧不會。

第二、棧內存是線程私有的,而堆內存是線程共有的。

第三、兩者異常錯誤不同,但如果棧內存或者堆內存不足都會拋出異常。

棧空間不足:java.lang.StackOverFlowError。

堆空間不足:java.lang.OutOfMemoryError。


責任編輯:武曉燕 來源: springboot葵花寶典
相關推薦

2010-04-13 11:35:26

Oracle字符集

2021-07-01 19:35:29

智能電表物聯網智慧城市

2023-03-29 15:53:10

綜合布線數據通信

2012-01-11 10:45:57

JavaJVM

2011-11-16 09:28:02

游戲開發收入

2009-07-08 14:23:40

JVM是什么

2011-12-05 12:42:31

JavaJ2EEJVM

2010-09-27 13:48:41

JVM內存結構

2010-09-26 11:32:39

JVM結構

2010-09-26 10:29:45

JVMJava虛擬機

2010-09-25 12:54:24

JVM內存

2010-04-12 15:40:48

Oracle SGA

2019-09-02 00:10:37

2009-09-08 09:37:03

LINQ重要組成部分

2011-03-11 09:41:17

JavaGC

2009-06-04 07:55:08

Struts框架簡介Struts

2010-09-26 16:42:04

JVM內存組成JVM垃圾回收

2013-02-21 10:44:03

云計算云平臺云服務提供商

2019-08-12 11:14:00

JVM垃圾對象

2023-03-27 16:21:22

點贊
收藏

51CTO技術棧公眾號

欧美久久久久久一卡四| xxxx性欧美| 尤物av无码色av无码| www.看毛片| 激情婷婷亚洲| 日韩成人xxxx| 老司机午夜网站| 精品人妻无码一区二区色欲产成人 | 欧美成人精品xxx| 少妇性l交大片7724com| 91吃瓜在线观看| 久久久久高清精品| 成人性生交大片免费看视频直播| 久久久久久久久久97| 伊人久久影院| 欧美午夜宅男影院在线观看| 日韩国产精品一区二区| 99精品免费观看| 国产精品久久久久毛片大屁完整版| 亚洲免费高清视频| 亚洲日本黄色片| 男人av在线播放| 中文字幕亚洲成人| 精品福利影视| 一级α片免费看刺激高潮视频| 91精品电影| 亚洲精品国产欧美| 一二三av在线| 成人动漫一区| 一区二区三区高清不卡| 日本精品一区| 国产精品一区二区免费视频| 亚洲精品看片| 久久久精品国产网站| 中文字幕在线播放一区| 日本肉肉一区| 欧美日韩国产一区二区三区| 日本女人高潮视频| 韩国av免费在线观看| 青青草91视频| 91福利视频在线观看| 伊人在线视频观看| 香蕉久久精品| 日韩免费电影网站| 玖玖爱视频在线| 电影网一区二区| 亚洲综合激情网| 亚洲精品二区| av黄色在线观看| 91色综合久久久久婷婷| 成人av资源网| 国产日韩欧美视频在线观看| 久久综合图片| 91精品国产高清| 久久精品国产亚洲av无码娇色| 色综合综合网| 日韩精品在线免费播放| 丰满少妇xbxb毛片日本| 国产视频一区二区在线播放| 欧美日韩国产一中文字不卡 | av网页在线| 99国产精品久| 国产精品亚洲综合| 亚洲一线在线观看| 日韩黄色一级片| 55夜色66夜色国产精品视频| 欧美成人免费观看视频| 亚洲女同中文字幕| 久久艳片www.17c.com| 香蕉成人在线视频| 日韩精品永久网址| 一本一本久久a久久精品综合小说| 丰满大乳奶做爰ⅹxx视频| 成人av动漫| 亚洲第一页中文字幕| 无码人妻精品一区二区三| 一区二区三区四区精品视频| 日韩视频中午一区| 国产麻豆剧传媒精品国产| 久久精品九色| 日韩三级高清在线| 在线观看免费视频国产| 成人三级毛片| 亚洲加勒比久久88色综合| 亚洲自拍偷拍精品| 免费观看成人www动漫视频| 亚洲国产精品久久久| 制服丝袜第一页在线观看| 精品按摩偷拍| 亚洲欧美日韩另类| 国产精品无码永久免费不卡| 亚州国产精品| 中文字幕亚洲精品| 顶臀精品视频www| 欧美日韩调教| 97视频色精品| 国产99免费视频| 蜜臀av国产精品久久久久| 国产日韩换脸av一区在线观看| 在线视频欧美亚洲| 国产乱码字幕精品高清av| 99久久久精品免费观看国产| 天堂中文在线观看视频| 国产网站一区二区三区| 日产精品高清视频免费| 91伦理视频在线观看| 亚洲欧洲中文日韩久久av乱码| 国产一区二区三区在线免费| 天堂资源在线| 欧美三级蜜桃2在线观看| 韩国三级丰满少妇高潮| 久久久久97| 色一区av在线| 国产午夜精品无码| 人人狠狠综合久久亚洲| 99热国产免费| 国产黄在线观看免费观看不卡| 亚洲欧洲日韩av| 男人添女人下面高潮视频| 日韩在线短视频| 日韩无一区二区| 无码少妇一区二区| 黄色精品一区| 国产精品主播视频| 少妇一级淫片免费看| 国产精品看片你懂得| 欧美午夜小视频| 日韩专区视频网站| 日韩激情第一页| 青青青在线免费观看| 另类国产ts人妖高潮视频| 国产精品久久久久国产a级| 亚洲精品一区二区口爆| 国产女同互慰高潮91漫画| 男女激情免费视频| 久久亚洲精品爱爱| 精品亚洲国产视频| 久久久综合久久| 理论片日本一区| 欧美国产综合视频| 丝袜国产在线| 777午夜精品免费视频| av网站免费在线播放| 国产欧美日本| 久久riav| 国产在线观看www| 4hu四虎永久在线影院成人| av女人的天堂| 国产精品日本| 亚洲综合成人婷婷小说| 九色在线免费| 精品久久久久久久久久久久久 | 国产91精品免费| 在线日韩av永久免费观看| 亚洲高清黄色| 日韩精品福利在线| 国产精品99无码一区二区| 蜜臀av亚洲一区中文字幕| 欧美中文娱乐网| 一级毛片久久久| 亚洲福利在线看| 一区二区三区免费高清视频| 国产自产高清不卡| 日本黄色播放器| 亚洲电影二区| 色综久久综合桃花网| 亚洲精品久久久久久久蜜桃| 久久综合九色综合97婷婷| 成人午夜精品久久久久久久蜜臀| 亚洲视频国产| 久久久久久久久久久网站| 精品二区在线观看| 亚洲精品免费在线| 中文字幕乱妇无码av在线| 久久久久蜜桃| 99精品国产高清一区二区| 毛片在线网址| 亚洲精美色品网站| 草莓视频18免费观看| 国产色产综合色产在线视频 | 精品久久av| 福利微拍一区二区| 亚洲黄色小说视频| 奇米777欧美一区二区| 一区二区三区四区视频在线| 亚洲tv在线| 久久久亚洲天堂| 亚洲第一视频在线| 欧美日韩一区二区免费在线观看 | 免费看欧美黑人毛片| 国产图片一区| 2019中文在线观看| 国产色a在线| 欧美精品在线观看播放| 深夜福利影院在线观看| 成人丝袜视频网| 在线免费视频a| 欧美精品二区| 亚洲高清在线观看一区| 精品久久免费| 热久久免费国产视频| 亚洲成a人v欧美综合天堂麻豆| 91精品国产综合久久婷婷香蕉 | 欧美激情精品久久久久久| 夜夜骚av一区二区三区| 亚洲欧美国产77777| 小毛片在线观看| 日日摸夜夜添夜夜添国产精品| 天天人人精品| theporn国产在线精品| 国产精品久久久久久网站| h网站久久久| 亚洲精品理论电影| 国产尤物在线观看| 五月天激情综合| 性久久久久久久久久| 日日摸夜夜添夜夜添精品视频| 青少年xxxxx性开放hg| 日韩电影在线观看完整免费观看| 国产精品一久久香蕉国产线看观看 | 老鸭窝亚洲一区二区三区| 99热都是精品| 中文字幕在线视频一区二区| 神马久久精品| 色综合天天做天天爱| 天堂网中文在线观看| 成人性生交大片免费看中文网站| 久久久久久久久久久福利| 成人免费在线播放| 狠狠干一区二区| av在线精品| 日韩美女在线观看一区| 欧洲在线视频| 伊人久久久久久久久久久久久| 亚洲精品国产精| 欧美日高清视频| 黄色在线视频网址| 亚洲黄网站在线观看| 大地资源二中文在线影视观看| 激情综合一区二区三区| 久久综合久久色| 中文精品在线| 黄色三级中文字幕| 一级毛片免费高清中文字幕久久网| 欧洲一区二区在线观看| 九色丨蝌蚪丨成人| 97久久人人超碰caoprom欧美| 激情欧美一区二区三区黑长吊| 欧美性受xxxx黑人猛交| 密臀av在线| 欧美高清在线观看| 成人免费网址| 色婷婷综合成人| 国产视频网址在线| 日韩精品丝袜在线| 色婷婷av一区二区三区之e本道| 欧美一级在线免费| 最近中文字幕在线视频| 欧美日韩精品免费| 国产孕妇孕交大片孕| 欧美日韩综合视频| 日韩精品视频免费看| 亚洲自拍与偷拍| 欧美日韩精品亚洲精品| 亚洲男人天堂av网| 三级影片在线看| 性久久久久久久久| 免费毛片在线播放免费| 日韩美女视频19| 最新一区二区三区| 一区二区三区在线观看国产| 欧美极品aaaaabbbbb| 亚洲精品免费在线| 成人在线观看小视频| 亚洲精品美国一| 国产无套在线观看| 五月激情六月综合| 黑人精品无码一区二区三区AV| 亚洲福利视频一区二区| 九九热国产视频| 精品欧美一区二区三区| 五月婷婷激情五月| 欧美日韩久久一区二区| 国产人妻精品一区二区三区| 日韩亚洲欧美成人一区| 天天操天天操天天干| 亚洲精品一区久久久久久| 精品推荐蜜桃传媒| www.国产精品一二区| 五月婷婷视频在线观看| 久久免费视频在线| 成人免费高清观看| 欧洲亚洲女同hd| 性欧美video另类hd尤物| 成人精品视频久久久久| youjizz亚洲| 久久久久久亚洲精品不卡4k岛国| 欧美日韩黑人| 日本三日本三级少妇三级66| 欧美一区久久| 欧美一区二区三区视频免费| 日韩不卡高清视频| 日韩欧美国产三级电影视频| 国产午夜视频在线观看| 欧美精品免费在线| 视频一区在线免费看| 国产精品区免费视频| 91一区二区| 成人亚洲视频在线观看| 国产很黄免费观看久久| 卡一卡二卡三在线观看| 亚洲一区二区三区小说| 91精品中文字幕| 亚洲毛片在线免费观看| 久久青青色综合| 国产精品高潮呻吟视频| 美女扒开腿让男人桶爽久久动漫| 亚洲一区二区在线免费观看| 久久国产88| 艳妇乳肉亭妇荡乳av| 一区二区三区在线视频播放 | 欧美激情综合| 中文字幕在线综合| 久久久精品中文字幕麻豆发布| 久久网中文字幕| 欧美一区二区久久| 亚洲成人三级| 国产精品夜色7777狼人| 精品一区欧美| 成人免费观看毛片| 91免费观看视频| 日韩和一区二区| 精品国产免费久久| 污视频网站在线免费| 亚洲aaaaaa| 一区二区不卡| 国内av免费观看| 亚洲男同性恋视频| 精品久久久免费视频| 美女视频久久黄| 97色婷婷成人综合在线观看| 亚洲欧洲精品一区二区| 免费成人在线观看| 在线观看免费小视频| 欧美午夜一区二区三区| 国产爆初菊在线观看免费视频网站| 欧美资源在线观看| 精品中文一区| 九九视频精品在线观看| 国产免费成人在线视频| 在线视频精品免费| 中文字幕在线精品| 久久日本片精品aaaaa国产| 一本久道久久综合| 国产久卡久卡久卡久卡视频精品| 四虎免费在线视频| 精品成人免费观看| 天堂√中文最新版在线| 六月婷婷久久| 日本免费在线视频不卡一不卡二| 日韩黄色中文字幕| 欧美精品日韩精品| 免费不卡av| 牛人盗摄一区二区三区视频| 久久不射网站| 国产精品麻豆免费版现看视频| 欧美疯狂性受xxxxx喷水图片| av毛片在线免费看| 国产一区二区高清视频| 午夜一级久久| 精品一区二区6| 欧美一级黄色录像| 欧美gv在线观看| 亚洲图片欧洲图片日韩av| 国产盗摄精品一区二区三区在线 | 91麻豆精品国产综合久久久久久 | 亚洲国产精品一区二区尤物区| 日本一区二区三区在线观看视频| 国产成人精品a视频一区www| 91久久高清国语自产拍| 国产性猛交96| 在线观看免费亚洲| 呦呦在线视频| 欧美日韩在线精品一区二区三区| 久久国产夜色精品鲁鲁99| 久久精品国产亚洲av麻豆色欲| 亚洲欧美精品中文字幕在线| 日韩毛片免费看| 欧美 日韩 激情| 国产精品久久久久久一区二区三区 | 久久久精品网| 69av视频在线| 在线成人一区二区| 中文字幕一区日韩精品| 国产极品美女高潮无套久久久| 亚洲欧美日韩在线不卡| 男人的天堂av高清在线| 亚洲一区二区三区777| 久久国产精品毛片| 国产精品suv一区二区|