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

JVM原理分析,看了都說好

云計算 虛擬化
JVM是Java Virtual Machine(Java虛擬機)的縮寫,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。

[[317032]]

1 什么是JVM?

JVM是Java Virtual Machine(Java虛擬機)的縮寫,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。由一套字節碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域等組成。JVM屏蔽了與操作系統平臺相關的信息,使得Java程序只需要生成在Java虛擬機上運行的目標代碼(字節碼),就可在多種平臺上不加修改的運行,這也是Java能夠“一次編譯,到處運行的”原因。

2 JRE、JDK和JVM的關系

JRE(Java Runtime Environment, Java運行環境)是Java平臺,所有的程序都要在JRE下才能夠運行。包括JVM和Java核心類庫和支持文件。

JDK(Java Development Kit,Java開發工具包)是用來編譯、調試Java程序的開發工具包。包括Java工具(javac/java/jdb等)和Java基礎的類庫(java API )。

JVM(Java Virtual Machine, Java虛擬機)是JRE的一部分。JVM主要工作是解釋自己的指令集(即字節碼)并映射到本地的CPU指令集和OS的系統調用。Java語言是跨平臺運行的,不同的操作系統會有不同的JVM映射規則,使之與操作系統無關,完成跨平臺性。

下圖表示了JDK、JRE和JVM三者間的關系:

 

JVM原理分析,看了都說好

 

總結:使用JDK(調用JAVA API)開發JAVA程序后,通過JDK中的編譯程序(javac)將Java程序編譯為Java字節碼,在JRE上運行這些字節碼,JVM會解析并映射到真實操作系統的CPU指令集和OS的系統調用。

3 JVM原理

Java 體系結構介紹:

 

JVM原理分析,看了都說好

 

  • Class Loader(類加載器):用于裝載.class文件。
  • Execution Engine(執行引擎):用于執行字節碼或者本地方法。
  • 運行時數據區:方法區、堆、java棧、pc寄存器、本地方法棧。

JVM生命周期介紹:

Java實例對應一個獨立運行的Java程序(進程級別)

1.啟動。啟動一個Java程序,一個JVM實例就產生。擁有public static void main(String[] args)函數的class可以作為JVM實例運行的起點。

2.運行。main()作為程序初始線程的起點,任何其他線程均可由該線程啟動。JVM內部有兩種線程:守護線程和非守護線程,main()屬于非守護線程,守護線程通常由JVM使用,程序可以指定創建的線程為守護線程。

3.消亡。當程序中的所有非守護線程都終止時,JVM才退出;若安全管理器允許,程序也可以使用Runtime類或者System.exit()來退出。

JVM執行引擎實例則對應了屬于用戶運行程序線程它是線程級別的。

Java類加載器:

Java加載類的過程:

 

JVM原理分析,看了都說好

 

1.裝載(loading):負責找到二進制字節碼并加載至JVM中,JVM通過類名、類所在的包名、ClassLoader完成類的加載。因此,標識一個被加載了的類:類名 + 包名 + ClassLoader實例ID。

2.鏈接(linking):負責對二進制字節碼的格式進行校驗、初始化裝載類中的靜態變量以及解析類中調用的接口。

完成校驗后,JVM初始化類中的靜態變量,并將其賦值為默認值。

最后對比類中的所有屬性、方法進行驗證,以確保要調用的屬性、方法存在,以及具備訪問權限(例如private、public等),否則會造成NoSuchMethodError、NoSuchFieldError等錯誤信息。

3.初始化(initializing):負責執行類中的靜態初始化代碼、構造器代碼以及靜態屬性的初始化,以下四種情況初始化過程會被觸發。

  • 調用 new
  • 反射調用了類中的方法
  • 子類調用了初始化
  • JVM啟動過程終止定的初始化類

JVM類加載順序:

層級結構

 

JVM原理分析,看了都說好

 

1.Booststrap ClassLoader

跟ClassLoader,C++實現,JVM啟動時初始化此ClassLoader,并由此完成$JAVA_HONE中jre/lib/rt.jar(Sun JDK的實現)中所有class文件的加載,這個jar中包含了java規范定義的所有接口以及實現。

2.Extension ClassLoader

JVM用此classloader來加載擴展功能的一些jar包

3.System ClassLoader

JVM用此ClassLoader來加載啟動參數中指定的ClassPath中的jar包以及目錄,在Sun JDK中ClassLoader對應的類名為AppClassLoader。

4.User-Defined ClassLoader

User-Defined ClassLoader是Java開發人員繼承ClassLoader抽象類實現的ClassLoader,基于自定義的ClassLoader可用于加載非ClassPath中的jar以及目錄。

委派模式(Delegation Mode)

 

JVM原理分析,看了都說好

 

當JVM加載一個類的時候,下層的加載器會將任務給上一層類加載器,上一層加載檢查它的命名空間中是否已經加載這個類,如果已經加載,直接使用這個類。如果沒有加載,繼續往上委托直到頂部。檢查之后,按照相反的順序進行加載。如果Bootstrap加載器不到這個類,則往下委托,直到找到這個類。一個類可以被不同的類加載器加載。

可見性限制:下層的加載器能夠看到上層加載器中的類,反之則不行,委派只能從下到上。

不允許卸載類:類加載器可以加載一個類,但不能夠卸載一個類。但是類加載器可以被創建或者刪除。

JVM執行引擎

類加載器將字節碼載入內存后,執行引擎以java字節碼為單元,讀取java字節碼。java字節碼機器讀不懂,必須將字節碼轉化為平臺相關的機器碼。這個過程就是由執行引擎完成的。

 

JVM原理分析,看了都說好

 

在執行方法時JVM提供了四種指令來執行:

  • invokestatic:調用類的static方法。
  • invokevirtual:調用對象實例的方法。
  • invokeinterface:將屬性定義為接口來進行調用。
  • invokespecial:JVM對于初始化對象(Java構造器的方法為:)以及調用對象實例的私有方法時。

主要的執行計數:

  • 解釋,即時執行,自適應優化、芯片級直接執行。
  • 解釋屬于第一代JVM
  • 即時編譯JIT屬于第二代JVM

自適應優化(目前sun的HotspotJVM采用這種技術),吸取第一代JVM和第二代JVM的經驗,采用兩者結合的方式,開始對所有的代碼都采用解釋執行的方式,并監視代碼執行情況,然后對那些經常調用的方法啟動一個后臺線程,將其編譯為本地代碼,并進行優化。若方法不再頻繁使用,則取消編譯過代碼,仍對其進行解釋執行。

Java運行時數據區

 

JVM原理分析,看了都說好

 

PC寄存器

用于存儲每個線程下一步將要執行的JVM指令,若該方法為native的,則PC寄存器中不存儲任何信息。Java多線程情況下,每個線程都有一個自己的PC,以便完成不同線程上下文環境的切換。

JVM棧

JVM棧是線程私有的,每個線程創建的同時都會創建JVM棧,JVM棧中存放當前線程中局部基本類型的變量(Java中定義的八種基本類型:boolean、char、byte、short、int、long、float、double)、部分的返回結果以及Stack Frame,非基本類型的對象在JVM棧上僅存放一個指向堆的地址。

堆(Heap)

它是JVM用來存儲對象實例以及數組值的區域,可以認為Java中所有通過new創建的對象的內存都在此分配,Heap中的對象的內存需要等待GC進行回收。

堆在JVM啟動的時候就被創建,堆中儲存了各種對象,這些對象被自動管理內存系統(Automatic Storage Management System),也就是常說的“Garbage Collector(垃圾回收器)”管理。這些對象無需、也無法顯示地被銷毀。

JVM將Heap分為兩塊:新生代New Generation和舊生代Old Generation

 

JVM原理分析,看了都說好

 

堆是JVM中所有線程共享的,因此在其上進行對象內存的分配均需要進行加鎖,導致new對象的開銷比較大。

Sun Hotspot JVM為了提升對象內存分配的效率,對于所有創建的線程都會分配一塊獨立的空間TLAB(Thread Local Allocation Buffer),其大小由JVM根據運行的情況計算而得,在TLAB上分配對象時不需要加鎖,因此JVM在給線程對象分配內存時會盡量的在TLAB上分配,在這種情況下JVM中分配對象內存的性能和C基本是一樣的,但如果對象過大的話則仍然要直接使用堆空間分配。

TLAB僅作用于新生代的Eden Space,因此在編寫Java程序時,通常多個小的對象比大的對象分配起來更加高效。

所有新創建的Object都將會存儲在新生代Young Generation中。如果Young Generation的數據在一次或多次GC后存活下來,那么將被轉移到OldGeneration。新的Object總是創建在Eden Space。

方法區域(Method Area)

在Sun JDK中這塊區域對應的為PermanetGeneration,又稱為持久代。

方法區域存放所加載類的信息(名稱、修飾符等)、類中的靜態變量、類中定義為final類型的常量、類中的Field信息、類中的方法信息,當開發人員在程序中通過Class對象中的getName,isInstance等方法來獲取信息時,這些數據都來源于方法區域,同時方法區域也是全局共享的,在一定條件下它也會被GC,當方法區域需要使用的內存超過其允許的大小時,就會拋出OutOfMemory的錯誤信息。

運行時常量池(Runtime Constant Pool)

存放的為類中的固定常量信息、方法和Field的引用信息等,其空間從方法區域中分配。

本地方法堆棧(Native Method Stacks)

JVM采用本地方法堆來支持native方法的執行,此區域用于存儲每個native方法調用的狀態。

JVM垃圾回收

GC的基本原理:將內存中不再被使用的對象進行回收,GC中用于回收的方法稱為收集器,由于GC需要消耗一些資源和時間,Java在對對象生命周期特征進行分析后,按照新生代、舊生代的方式來對對象進行收集,以盡可能的縮短GC對應用造成的暫停。

對新生代的對象收集稱為minor GC

對舊生代的對象收集稱為Full GC

程序中主動調用System.gc()強制執行的GC為Full GC。

不同的對象引用類型,GC會采用不同的方法進行回收,JVM對象的引用分為了四種類型:

強引用:默認情況下,對象采用的均為強引用(這個對象的實例沒有其他對象引用時, GC時才會被回收)

軟引用:軟引用是Java中提供的一種比較適合于緩存場景的應用(只有內存不夠的情況下才會被GC)

弱引用:在GC時一定會被GC回收。

虛引用:虛引用只是用來得知對象是否被GC。

責任編輯:武曉燕 來源: 簡書
相關推薦

2018-03-12 11:52:44

2022-02-15 15:38:02

人工智能機器學習Meta

2024-12-12 12:00:00

代碼C++

2022-03-23 08:01:04

Python語言代碼

2025-01-10 08:41:54

2023-09-26 11:59:48

ChatGPT人工智能

2024-05-27 08:00:00

2021-04-19 11:40:15

瀏覽器路徑

2023-02-03 15:21:52

2020-05-20 22:13:26

JVM加載機制虛擬機

2019-07-31 15:56:57

Jvm虛擬機Content

2012-01-11 11:28:00

JavaJVM

2021-05-08 13:26:30

IDP首席信息官內部開發者平臺

2021-06-22 10:14:44

Kubernetes容器運維

2019-07-18 09:17:19

Kafka消息隊列服務器

2019-12-04 09:18:40

HTTPS協議HTTP

2023-04-26 08:19:48

Nacos高可用開發

2021-07-05 07:51:43

JVM底層Python

2020-07-21 14:19:18

JVM編程語言

2015-07-28 14:52:35

IOS技巧
點贊
收藏

51CTO技術棧公眾號

久久久久久久久久久久| 亚洲人一区二区| 日韩精品手机在线| 欧美老女人另类| 欧美三区免费完整视频在线观看| 在线不卡日本| 五月婷婷丁香花| 美女在线观看视频一区二区| 欧美大片第1页| 成人在线手机视频| 国产精品国产| 欧美日韩视频在线第一区| 精品久久久久久无码中文野结衣| 九色视频成人自拍| 国产精品一区二区无线| 日本高清视频精品| 欧美人妻精品一区二区免费看| 国产aⅴ精品一区二区三区久久| 91麻豆精品久久久久蜜臀| 免费高清在线观看免费| 色呦呦呦在线观看| 国产精品美女久久久久久久网站| 好吊色欧美一区二区三区视频| 一级片视频播放| 久久精品麻豆| 9.1国产丝袜在线观看| 麻豆精品一区二区三区视频| 日韩成人a**站| 精品香蕉一区二区三区| 中文字幕一区二区三区人妻在线视频 | 亚洲永久无码7777kkk| 视频在线日韩| 欧美日韩一区二区在线播放| 日韩欧美视频免费在线观看| 日韩理伦片在线| 久久久91精品国产一区二区精品| 国产精品日韩欧美一区二区三区| 国产有码在线观看| 日韩电影一二三区| 日韩免费观看高清| 黑人精品无码一区二区三区AV| 国产精品豆花视频| 久久在线精品视频| 国产精品18在线| 欧美综合久久| 一区二区三区视频观看| 自拍偷拍视频亚洲| 免费短视频成人日韩| 日韩av中文字幕在线播放| 国模无码视频一区| 激情亚洲另类图片区小说区| 精品国内二区三区| 性xxxxxxxxx| 综合视频一区| 欧美成人乱码一区二区三区| 日本网站在线看| av在线亚洲一区| 欧美高清www午色夜在线视频| 国产主播中文字幕| 欧美色片在线观看| 欧美日韩情趣电影| 在线观看日本一区二区| www久久久| 日韩片之四级片| 人妻换人妻a片爽麻豆| 久久动漫网址| 亚洲人成在线播放| 免费成人深夜蜜桃视频| 午夜精品久久久久久久四虎美女版| 自拍视频国产精品| 99久久99久久精品免费看小说. | 在线播放欧美女士性生活| 亚洲欧美国产日韩综合| 国产日韩在线观看视频| 欧美不卡视频一区| 国产精品九九视频| 九九精品在线| 日韩视频免费在线观看| 欧美日韩国产精品一区二区三区| 今天的高清视频免费播放成人| 国内成人精品一区| 精品国产午夜福利| 精品制服美女久久| 国产精品麻豆免费版| 日本私人网站在线观看| 国产精品看片你懂得 | 久久久久久自在自线| 国产精品劲爆视频| 国内精品久久久久久久久久久| 成人免费视频视频在线观看免费 | 欧美日韩一区二区国产| 81精品国产乱码久久久久久| 中文字幕 自拍偷拍| 国产老妇另类xxxxx| 精品乱码一区二区三区| av二区在线| 亚洲国产日韩av| 国产高清视频网站| 久久夜色精品国产噜噜av小说| 亚洲欧美日韩在线高清直播| 国产免费一区二区三区四区| 国产午夜精品一区二区三区欧美| 国产精品视频区| 欧美一级淫片aaaaaa| 欧美激情一区二区三区蜜桃视频| 日本福利视频网站| 国产a亚洲精品| 亚洲国产日韩欧美综合久久| 精品亚洲乱码一区二区| 久久久久久黄| 国内精品**久久毛片app| 亚洲精品成人无码毛片| 国产精品va视频| 亚洲色图18p| 国产第100页| 激情文学综合丁香| 日本欧洲国产一区二区| 久久av色综合| 制服丝袜一区二区三区| 91精品国自产在线| 性8sex亚洲区入口| 国产麻豆乱码精品一区二区三区| 久久bbxx| 欧美性猛交xxxx乱大交退制版| 亚洲天堂资源在线| 国产精品v亚洲精品v日韩精品| 青青草成人在线| 黄色片网站免费在线观看| 中文字幕一区二| 天堂av在线网站| 国产综合久久久| 欧美性受xxxx白人性爽| 欧性猛交ⅹxxx乱大交| 亚洲精品五月天| 岛国av免费在线| 俺要去色综合狠狠| 国产91精品在线播放| 午夜视频免费在线| 精品久久久香蕉免费精品视频| 国产精品嫩草69影院| 午夜亚洲福利| 99国产超薄肉色丝袜交足的后果 | www.国产在线播放| 精品国产青草久久久久96| 成人黄色综合网站| 亚洲av首页在线| 91麻豆精品一二三区在线| 在线精品国产欧美| 97人妻精品视频一区| 欧洲亚洲精品| segui88久久综合9999| 久久激情久久| 成人精品水蜜桃| 国内精品久久久久久野外| 欧美日韩色综合| 中文字幕求饶的少妇| 久久成人18免费观看| 正在播放一区二区三区| 国产精品4hu.www| 色综合天天在线| 国产精品久久久久久久久久东京| 日本黄色免费视频| 午夜精品福利在线| 欧产日产国产精品98| 欧美特黄视频| 国产欧美日韩一区二区三区| 三妻四妾的电影电视剧在线观看| 久久在线精品| 九色91在线视频| 在线日韩影院| 国产亚洲精品一区二555| 中文字幕+乱码+中文乱码www| 国产精品免费视频观看| 国产黑丝在线视频| 一区二区三区高清视频在线观看| 欧美激情www| 欧美性生活一级| 欧美国产乱视频| 无码国产精品96久久久久| 在线一区二区视频| 91精品国产闺蜜国产在线闺蜜| 国产成人一区二区精品非洲| 国产精品一区二区免费在线观看| 欧洲福利电影| 999热视频在线观看| 色黄视频在线观看| www.日韩欧美| 欧美性猛交 xxxx| 欧美午夜电影网| 久久久久久久蜜桃| 国产网红主播福利一区二区| 99视频在线观看视频| 中文在线不卡| 久久久久亚洲av无码专区喷水| 大型av综合网站| 国产精品久久久久免费a∨大胸| 免费的黄网站在线观看| 日韩风俗一区 二区| 姑娘第5集在线观看免费好剧| 一区二区欧美在线观看| 久久久久久九九九九九| 国产激情精品久久久第一区二区| 亚洲自偷自拍熟女另类| 欧美一区91| 日韩国产精品一区二区三区| 欧洲大片精品免费永久看nba| 欧美最猛性xxxxx(亚洲精品)| 国产在线激情| 伊人久久精品视频| 日本免费不卡视频| 91精品国产一区二区三区| 99超碰在线观看| 亚洲大片一区二区三区| 青青青手机在线视频| 91免费国产视频网站| 91福利视频免费观看| 美腿丝袜在线亚洲一区| 欧美 日韩 激情| 国产精品草草| 400部精品国偷自产在线观看| 久久综合欧美| 精品日韩欧美| jizz国产精品| 99热99热| av在线播放一区二区| 国产精品香蕉国产| 中文在线中文资源| 国产69精品久久久久9| 成人短视频在线| 深夜成人在线观看| 成人欧美亚洲| 亚洲男人天堂久| 性感美女福利视频| 亚洲国产成人精品久久久国产成人一区| 国产精品欧美久久久久天天影视| 欧洲亚洲国产日韩| 国产精品久久久久久久久久精爆| 亚洲大型综合色站| 国产五月天婷婷| 亚洲一区二区三区不卡国产欧美 | 97国产一区二区| 在线播放av网址| 国产suv精品一区二区883| www.成人黄色| 狠狠色狠狠色综合| 午夜啪啪小视频| 国产在线一区二区综合免费视频| 伊人网在线综合| 美女网站在线免费欧美精品| 奇米影音第四色| 麻豆成人久久精品二区三区小说| 国产三级日本三级在线播放| 日精品一区二区| 妓院一钑片免看黄大片| 日韩和欧美的一区| www.com黄色片| 久久97超碰色| 宇都宫紫苑在线播放| 国产精品系列在线播放| 美女露出粉嫩尿囗让男人桶| 成人av免费在线播放| 久久久久亚洲AV成人无码国产| 99久久精品99国产精品| 加勒比综合在线| 国产欧美一区二区三区在线看蜜臀 | 久久久久久久久一| 精品人伦一区二区| 国产精品国产三级国产aⅴ原创| 日本少妇aaa| 樱花影视一区二区| 日本少妇激情舌吻| 色哟哟国产精品免费观看| 在线观看视频二区| 欧美一区二区三区免费在线看| 国产黄色片av| 亚洲国产小视频| 国产对白叫床清晰在线播放| zzjj国产精品一区二区| 后进极品白嫩翘臀在线播放| 欧美一级大片在线观看| 欧美成人高清视频在线观看| 97超碰最新| 综合干狼人综合首页| 午夜视频久久久| 国模大胆一区二区三区| 大肉大捧一进一出好爽视频| 美女脱光内衣内裤视频久久影院| 一级黄色大片儿| 久久综合色综合88| 极品色av影院| 欧美色videos| 亚洲中文字幕在线观看| 亚洲大胆人体av| 国产二区视频在线观看| 欧美国产日韩一区二区三区| 老司机2019福利精品视频导航| 亚洲xxxxx电影| 奇米亚洲欧美| 妺妺窝人体色www看人体| 久久男女视频| 国产二级一片内射视频播放 | 性欧美videosex高清少妇| 欧美午夜a级限制福利片| 国产视频一区二区三区在线播放| 国产精品香蕉一区二区三区| 卡一卡二卡三在线观看| 亚洲国产精品久久艾草纯爱 | 蜜臀国产一区| 国产精品一区二区a| 成人三级视频| 国产午夜大地久久| 国产一区二区伦理| 最近中文字幕免费视频| 亚洲成a人v欧美综合天堂下载| 中文字幕 欧美激情| 日韩精品欧美国产精品忘忧草| a毛片在线看免费观看| 国产精品高潮呻吟久久av无限| 第四色在线一区二区| 男人的天堂成人| 日本在线不卡视频| 极品粉嫩小仙女高潮喷水久久| 亚洲另类在线一区| 在线观看免费视频a| 一本色道久久综合亚洲精品小说 | 国产视频一区二区三区四区| 婷婷综合久久| 日日干夜夜操s8| 久久精品视频免费| www成人在线| 欧美精品一区二| 欧美黄色视屏| 7777精品伊久久久大香线蕉语言| 日本电影一区二区| 在线观看免费黄网站| 国产欧美日韩在线| 无码人妻精品一区二区蜜桃色欲| 日韩av在线网页| 韩国久久久久久| 欧美不卡福利| 香蕉av777xxx色综合一区| 熟女人妻在线视频| 天天综合网 天天综合色| 亚洲成a人片在线| 欧美麻豆久久久久久中文| 国产精品99久久免费| 8x8x华人在线| 国产成人精品1024| 精品99在线观看| 精品成人在线观看| xxx.xxx欧美| 久久99精品久久久久子伦| 宅男噜噜噜66国产日韩在线观看| 国产免费一区二区三区最新6| 亚洲夂夂婷婷色拍ww47 | 日本高清一区二区视频| 成人听书哪个软件好| 日韩av男人天堂| 日韩成人中文字幕| 91看片一区| 在线观看日韩片| 国产福利一区二区三区视频在线| 久久久久无码国产精品不卡| 亚洲国产毛片完整版| 中文在线免费视频| 亚洲精品中文字幕在线| 精品综合久久久久久8888| 草视频在线观看| 亚洲激情在线视频| 欧美极品免费| 在线观看福利一区| 风间由美性色一区二区三区| 久久不卡免费视频| 国产亚洲精品久久久| 91精品网站在线观看| 男人添女人下部视频免费| 99精品热视频| 亚洲性猛交富婆| 久久99精品视频一区97| 校花撩起jk露出白色内裤国产精品| 国产激情在线观看视频| 中文字幕中文字幕一区二区 | 国产成人精品一区二区三区网站观看| 欧美人妻精品一区二区免费看| 精品中文视频在线| 永久免费观看精品视频| 国产91xxx| 国产精品久久久久aaaa| 丁香花免费高清完整在线播放 | 日本一区二区视频在线观看| 国产乱淫av片免费| 国产91精品久久久| 99久久夜色精品国产亚洲狼| 岛国精品资源网站| 欧美军同video69gay| 欧美伦理91| 一本色道久久88亚洲精品综合| 久久免费美女视频| 欧美一级爱爱视频| 免费视频一区|