精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

亚洲图片自拍偷拍| 久久成人羞羞网站| 亚洲天堂av在线免费| 亚洲少妇久久久| а√中文在线8| 成人精品一区二区三区四区| 日本久久亚洲电影| 情侣偷拍对白清晰饥渴难耐| 精品国产一区二区三区成人影院 | 国产精品4hu.www| 一区二区三区四区国产精品| 欧美乱偷一区二区三区在线| 国产免费的av| 久久久久国产精品午夜一区| 久久综合伊人77777| 黑人巨大精品欧美| 国产亚洲久久| 欧美色中文字幕| 国产伦精品一区二区三区四区视频_| 在线看av的网址| 99精品久久只有精品| 成人免费直播live| 欧美一区二区三区网站| 亚洲性人人天天夜夜摸| 日韩有码视频在线| 亚洲黄色小说视频| 老司机精品在线| 日韩欧美在线综合网| 韩国视频一区二区三区| 一二三四视频在线中文| 亚洲精品国产无天堂网2021| 午夜精品电影在线观看| 色哟哟在线观看| 国产成人精品免费在线| 成人中文字幕+乱码+中文字幕| 精品人妻一区二区三区潮喷在线| 亚洲高清资源| 欧美猛男性生活免费| 天堂av免费在线| 日本一本不卡| 亚洲丝袜av一区| 国产熟妇搡bbbb搡bbbb| 欧美美女啪啪| 日韩国产一区三区| 国产精品久久AV无码| 日韩精品一级| 日韩你懂的电影在线观看| 99精品999| 电影一区二区三区久久免费观看| 欧美色精品天天在线观看视频| www.亚洲天堂网| 性国裸体高清亚洲| 精品欧美国产一区二区三区| 日本中文字幕网址| 国产极品在线观看| 欧美日韩亚洲激情| 国产视频九色蝌蚪| 少妇淫片在线影院| 欧美午夜无遮挡| 欧美黄色一级片视频| 成人小电影网站| 色综合久久中文字幕| 韩国一区二区av| 亚洲日本在线观看视频| 欧美丝袜自拍制服另类| 老司机久久精品| 麻豆视频久久| 亚洲第一福利视频| 毛片网站免费观看| 999国产精品| 欧美成人精品激情在线观看| 久久久www成人免费毛片| 激情综合亚洲| 国产成人精品久久亚洲高清不卡| 国产日韩在线免费观看| 久久精品国产在热久久| 亚洲精品日韩av| 日韩一级免费毛片| 国产日韩欧美激情| 一区精品视频| 成人av影院在线观看| 日韩欧美高清视频| 欧美在线aaa| 视频一区日韩| 国产视频欧美视频| 日本一级片免费| 亚洲午夜av| 情事1991在线| 国产精品嫩草影院桃色| www.激情成人| 亚洲区一区二区三区| 超碰个人在线| 色香蕉成人二区免费| 欧美精品色视频| 婷婷国产精品| 久久国产精品久久精品| 五月婷婷中文字幕| 麻豆91精品视频| 国产一区二区三区奇米久涩| 日本高清在线观看wwwww色| 亚洲国产人成综合网站| 性欧美极品xxxx欧美一区二区| 老司机亚洲精品一区二区| 亚洲精品日韩在线| 劲爆欧美第一页| 男人的天堂久久精品| 国产精品久久久久久久久久直播| youjizz在线播放| 亚洲一区在线观看免费| 三上悠亚av一区二区三区| 欧美人体视频| 欧美日韩国产成人高清视频| 在线观看中文字幕2021| 99re在线视频这里只有精品| 欧美日韩视频免费在线观看| 欧美大胆性生话| 精品欧美一区二区久久| 久久嫩草捆绑紧缚| 欧美一级二区| 黑人另类av| 天堂av中文在线| 欧美高清视频www夜色资源网| 日本黄色特级片| 亚洲国产高清视频| 不卡一卡2卡3卡4卡精品在| www.中文字幕久久久| 欧美性xxxx极品hd满灌| 熟妇高潮一区二区| 海角社区69精品视频| 成人午夜黄色影院| av基地在线| 色94色欧美sute亚洲13| 波多野结衣先锋影音| 精品福利电影| 国产精品手机视频| 人人超在线公开视频| 欧美电影在线免费观看| 成人欧美一区二区三区黑人一| 久久久久久久欧美精品| 久久久久久欧美精品色一二三四| 97超碰免费在线| 精品福利一二区| 久久一二三四区| 成人性生交大片免费看中文网站 | 在线日韩视频| 国产精品久久久久久久久婷婷| 女囚岛在线观看| 欧美精品一区二区三| 久久久久噜噜噜亚洲熟女综合| 国产精一区二区三区| 日韩视频在线免费播放| 91精品网站在线观看| 久久精品亚洲精品| 国产强伦人妻毛片| 亚洲一区二区三区精品在线| 男人的天堂免费| 影音先锋亚洲一区| 精品国产91亚洲一区二区三区www| av剧情在线观看| 日韩成人在线免费观看| 在线观看 亚洲| 国产精品卡一卡二| 亚洲一区二区图片| 亚洲图片在线| 欧美日韩国产高清视频| 97成人超碰| 久久这里只有精品视频首页| www.久久色| 精品久久久中文| 永久免费看mv网站入口78| 日韩精品一级中文字幕精品视频免费观看| 日韩国产一区久久| 国模大尺度视频一区二区| 欧美国产激情18| 日本电影一区二区在线观看| 欧美图片一区二区三区| 亚洲av无码一区二区三区在线| 国产999精品久久| 久草青青在线观看| 婷婷亚洲五月| 精品在线观看一区二区| 国产成人福利夜色影视| 欧美国产日韩二区| 免费在线稳定资源站| 欧美久久久久中文字幕| 91精品国产高潮对白| 国产午夜亚洲精品不卡 | 99精品久久99久久久久| 欧美黄色性生活| 伊人久久大香线蕉综合热线| 欧美三级华人主播| 精品一区二区三区四区五区 | www.日本三级| 久久99国产成人小视频| 亚洲伊人久久大香线蕉av| 小h片在线观看| 久久综合久久八八| 免费理论片在线观看播放老| 91精品国产一区二区三区香蕉| 日韩乱码人妻无码中文字幕| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 九九热国产在线| 国产日韩欧美在线一区| 国产精品熟妇一区二区三区四区| 日韩高清一区在线| 拔插拔插海外华人免费| 天天综合网91| 欧美在线激情| 女同久久另类99精品国产| 成人久久18免费网站图片| 日韩电影免费观| 久久久久久国产免费| 麻豆视频在线观看免费网站| 亚洲欧洲日本专区| 日本高清视频在线| 91精品国产综合久久精品图片| 国产精品va无码一区二区三区| 一区二区三区中文字幕精品精品| 日本猛少妇色xxxxx免费网站| 99久久精品费精品国产一区二区| 人妻体体内射精一区二区| 蜜桃久久久久久久| 麻豆av免费在线| 亚洲国产91| 国产成人在线小视频| 亚洲最新色图| 亚洲欧美日产图| 黄色不卡一区| 欧洲精品久久| 天堂av一区二区三区在线播放 | 国精产品一品二品国精品69xx | 亚洲av无一区二区三区久久| 另类人妖一区二区av| 亚洲成色www.777999| 久久综合婷婷| 999精品网站| 久久一区精品| 久草综合在线观看| 日韩av高清在线观看| 午夜dv内射一区二区| 日韩国产欧美在线视频| 国产黄色特级片| 日韩在线卡一卡二| 艹b视频在线观看| 麻豆精品精品国产自在97香蕉 | www.色国产| 色综合欧美在线视频区| 无码人妻精品一区二区50| 色婷婷av一区二区三区软件 | 强制捆绑调教一区二区| 亚洲成人av免费看| 免费看精品久久片| 超碰成人在线播放| 国产综合色在线视频区| 中文字幕在线视频一区二区| 国产精品资源在线观看| 日日夜夜精品视频免费观看| 狠狠v欧美v日韩v亚洲ⅴ| 能看毛片的网站| 成人午夜碰碰视频| 中文字幕av观看| 欧美极品另类videosde| 男人的午夜天堂| 亚洲一区二区三区四区五区中文| 日本学生初尝黑人巨免费视频| 欧美日韩国产精品| 国产99久久久久久免费看| 欧美精品三级在线观看| 蜜桃在线一区二区| 亚洲日本成人网| 日本免费在线视频| 久久久中精品2020中文| gay欧美网站| 91精品国产自产在线观看永久| 亚洲精品国产九九九| 国内精品视频免费| 秋霞欧美视频| 亚洲 欧美 综合 另类 中字| 亚洲综合日韩| 亚洲欧美日韩三级| 99综合电影在线视频| 级毛片内射视频| 亚洲欧美另类综合偷拍| 97人人澡人人爽人人模亚洲 | 7777kkkk成人观看| 成人毛片免费| 高清国产在线一区| 国产真实有声精品录音| 黄色网在线视频| 久久综合影视| 肉丝美足丝袜一区二区三区四| 久久久久久久久免费| 好吊日在线视频| 色婷婷久久久综合中文字幕| 国产成人精品亚洲精品色欲| 亚洲欧美国产精品| 视频在线观看入口黄最新永久免费国产| 欧美一二三视频| 日韩欧美中文字幕一区二区三区| 日韩在线第一区| 樱桃成人精品视频在线播放| 91视频这里只有精品| 91丨porny丨国产入口| 青青草原在线免费观看| 日本精品免费观看高清观看| 国产综合在线播放| 麻豆国产va免费精品高清在线| 成人爽a毛片免费啪啪| 国产精品亚洲综合| 一区二区在线| 国产精品视频分类| 久久久久久影视| 国产香蕉在线视频| 欧美一级欧美三级| 网友自拍视频在线| 国产成人久久久| 日韩在线麻豆| 青青草国产精品视频| 国产高清无密码一区二区三区| 少妇视频一区二区| 欧美性大战久久久久久久蜜臀| 三级在线视频| 97av在线视频免费播放| 高潮久久久久久久久久久久久久| 熟女熟妇伦久久影院毛片一区二区| 日韩电影免费在线| 波多野结衣av在线观看| 狠狠躁夜夜躁人人爽超碰91| 亚洲色图21p| 97视频com| 日本久久成人网| 欧美一区二区三区爽大粗免费| 国产成人精品一区二| 人妻少妇精品一区二区三区| 欧美一区二区三区在线观看 | 欧美aaaa视频| 国产一二三四在线视频| 国产日产精品1区| 加勒比在线一区| 国产一区二区三区久久精品| 午夜激情成人网| 色之综合天天综合色天天棕色| 视频一区视频二区中文字幕| 欧美 日韩 国产 成人 在线观看| 在线视频国产一区| a黄色在线观看| 国产色视频一区| 亚洲综合色网| 在线观看免费视频国产| 图片区小说区区亚洲影院| 天堂在线资源库| 奇米成人av国产一区二区三区| 免费观看不卡av| 最近中文字幕一区二区| 中国av一区二区三区| 国产精品玖玖玖| 欧美精品久久久久久久| 三级精品视频| 99视频精品免费| √…a在线天堂一区| 国产夫妻自拍av| 97国产精品人人爽人人做| 综合综合综合综合综合网| 99热这里只有精品在线播放| 自拍偷拍亚洲激情| 日本黄视频在线观看| 91高潮在线观看| 日韩三级在线| 色欲欲www成人网站| 黄色成人av网| 国产三区四区在线观看| 91精品久久久久久久久久入口| 国产精品s色| 亚洲黄色在线网站| 欧美肥胖老妇做爰| 激情aⅴ欧美一区二区欲海潮 | 欧美日韩免费| 精品夜夜澡人妻无码av| 欧美日韩一区二区在线视频| 99在线播放| 欧美午夜精品久久久久久蜜| 激情伊人五月天久久综合| 日韩激情在线播放| 尤物九九久久国产精品的特点 | 九色|91porny| 国产午夜视频在线播放| 最近2019年日本中文免费字幕| 91亚洲无吗| 欧美特级aaa| 午夜不卡av在线| 国产网友自拍视频导航网站在线观看| 国产免费一区二区| 激情国产一区二区| 在线观看日韩中文字幕| 久久亚洲国产精品| 国产一区二区在线| 国产精品手机在线观看| 欧美高清hd18日本| 欧美gay囗交囗交| 日本一本中文字幕|