国产精品无码一区二区三区太,亚洲一线产区二线产区区别,欧美A区,人妻jealousvue人妻

×

Java虛擬機(jī)-JVM特性總結(jié)分享

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-02 17:59:48

大家好!最近看這本書,頗有心得,自己也算深入的了解到了不少知識,從這本書里提取了自己認(rèn)為比較重要的知識點(diǎn)分享給大家,還有自己的一些圖例總結(jié)。

   大家好!最近看這本書,頗有心得,自己也算深入的了解到了不少知識,從這本書里提取了自己認(rèn)為比較重要的知識點(diǎn)分享給大家,還有自己的一些圖例總結(jié)。

t0168e141ebeb2a01ea.jpg

 

<div>  側(cè)重于本書的以下幾章內(nèi)容:第2章-java內(nèi)存區(qū)域與內(nèi)存溢出異常、第3章-垃圾收集器與垃圾回收策略、第6章-類文件結(jié)構(gòu)、第7章-虛擬機(jī)類加載機(jī)制、第8章-虛擬機(jī)字節(jié)碼執(zhí)行引擎。
  這幾個(gè)主要章節(jié)是有一定的內(nèi)在聯(lián)系。虛擬機(jī)中內(nèi)存占用最大的就是堆內(nèi)存,而對象的實(shí)例就存在堆中,所以這部分內(nèi)存的使用效率最高。java語言是面向?qū)ο蟮?,而對象是怎樣來占用堆中這部分內(nèi)存的呢?下面內(nèi)容或者下面幾期我會(huì)為大家揭開迷霧!
  當(dāng)然,java虛擬機(jī)中不僅僅只有堆占用內(nèi)存還有:java虛擬機(jī)棧、程序計(jì)數(shù)器、本地方法棧、方法區(qū)這5類瓜分虛擬機(jī)內(nèi)存。如上圖所示,由java虛擬機(jī)管理的這五部分?jǐn)?shù)據(jù)區(qū)域,可分為兩大類:一類是線程共享的,一類是線程私有的。而線程私有的數(shù)據(jù)區(qū),每一部分的內(nèi)存和線程的生命周期相同,每個(gè)線程之間互不影響,獨(dú)立存儲(chǔ)。
  線程共享的區(qū)域可分為:java堆(占用的內(nèi)存最大)、方法區(qū)
  java堆:在虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建,幾乎所有對象的實(shí)例都在堆上分配內(nèi)存。是垃圾收集器管理的主要區(qū)域
  方法區(qū):主要存儲(chǔ)運(yùn)行時(shí)常量池、常量、靜態(tài)變量、已被虛擬機(jī)加載的類信息、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)
  線程私有的區(qū)域可分為:程序計(jì)數(shù)器、java虛擬機(jī)棧、本地方法棧
  程序計(jì)數(shù)器: 存儲(chǔ)當(dāng)前線程執(zhí)行的字節(jié)碼的行號指示器
  java虛擬機(jī)棧: 是描述java方法執(zhí)行的內(nèi)存模型,每個(gè)方法在執(zhí)行時(shí)都會(huì)申請一段內(nèi)存存放方法執(zhí)行時(shí)的數(shù)據(jù),稱為棧幀;其包含局部變量、操作數(shù)棧、動(dòng)態(tài)鏈接、方法出口等數(shù)據(jù)。JVM是基于棧的,所以每個(gè)方法從開始執(zhí)行到結(jié)束,對應(yīng)這一個(gè)棧幀在虛擬機(jī)中入棧到出棧的過程。

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading