欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:開(kāi)發(fā)語(yǔ)言 Java之 jvm

柚子快報(bào)邀請(qǐng)碼778899分享:開(kāi)發(fā)語(yǔ)言 Java之 jvm

http://yzkb.51969.com/

jvm之管理內(nèi)存

程序計(jì)數(shù)器:當(dāng)前線(xiàn)程所執(zhí)行的字節(jié)碼的行號(hào)指示器。程序計(jì)數(shù)器是唯一一個(gè)不會(huì)出現(xiàn)?OutOfMemoryError?的內(nèi)存區(qū)域,它的生命周期隨著線(xiàn)程的創(chuàng)建而創(chuàng)建,隨著線(xiàn)程的結(jié)束而死亡。Java虛擬機(jī)棧? 方法調(diào)用 一個(gè)方法調(diào)用都會(huì)有對(duì)應(yīng)的棧幀被壓入棧中? 局部變量表:各種數(shù)據(jù)類(lèi)型、對(duì)象引用類(lèi)型? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 操作數(shù)棧:用于存放方法執(zhí)行過(guò)程中產(chǎn)生的中間計(jì)算結(jié)果。另外,計(jì)算過(guò)程中產(chǎn)生的臨時(shí)變量也會(huì)放在操作數(shù)棧中。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?棧的內(nèi)存不允許動(dòng)態(tài)鏈接,棧會(huì)出現(xiàn)StackOverFlowError,當(dāng)可以動(dòng)態(tài)擴(kuò)展,但是在擴(kuò)展的時(shí)候沒(méi)有辦法申請(qǐng)到足夠的內(nèi)存空間,則拋出OutOfMemoryError異常。Java 方法有兩種返回方式,一種是 return 語(yǔ)句正常返回,一種是拋出異常。不管哪種返回方式,都會(huì)導(dǎo)致棧幀被彈出。也就是說(shuō), 棧幀隨著方法調(diào)用而創(chuàng)建,隨著方法結(jié)束而銷(xiāo)毀。無(wú)論方法正常完成還是異常完成都算作方法結(jié)束。Java本地方法棧:本地方法棧則為虛擬機(jī)使用到的 Native 方法服務(wù)。? 堆??大部分情況,對(duì)象都會(huì)首先在 Eden 區(qū)域分配,在一次新生代垃圾回收后,如果對(duì)象還存活,則會(huì)進(jìn)入 S0 或者 S1,并且對(duì)象的年齡還會(huì)加 1(Eden 區(qū)->Survivor 區(qū)后對(duì)象的初始年齡變?yōu)?1),當(dāng)它的年齡增加到一定程度(默認(rèn)為 15 歲),就會(huì)被晉升到老年代中。這里最容易出現(xiàn)OutOfMemoryError 當(dāng)jvm花太多時(shí)間執(zhí)行垃圾回收比關(guān)切只能回收很少的堆空間的時(shí)候,就會(huì)報(bào)這個(gè)錯(cuò)誤 元空間是永久代的實(shí)現(xiàn) 把永久代換成元空間的原因——整個(gè)永久代有一個(gè) JVM 本身設(shè)置的固定大小上限,無(wú)法進(jìn)行調(diào)整(也就是受到 JVM 內(nèi)存的限制),而元空間使用的是本地內(nèi)存,受本機(jī)可用內(nèi)存的限制,雖然元空間仍舊可能溢出,但是比原來(lái)出現(xiàn)的幾率會(huì)更小。 運(yùn)行時(shí)常量池:常量池表會(huì)在類(lèi)加載后存放到方法區(qū)的運(yùn)行時(shí)常量池中。 字符串常量池?是 JVM 為了提升性能和減少內(nèi)存消耗針對(duì)字符串(String 類(lèi))專(zhuān)門(mén)開(kāi)辟的一塊區(qū)域,主要目的是為了避免字符串的重復(fù)創(chuàng)建。 直接內(nèi)存:直接內(nèi)存是一種特殊的內(nèi)存緩沖區(qū),并不在 Java 堆或方法區(qū)中分配的,而是通過(guò) JNI 的方式在本地內(nèi)存上分配的。 對(duì)象的創(chuàng)建——類(lèi)加載檢查、分配內(nèi)存(指針碰撞、空閑列表,分配方式由Java堆是否規(guī)整決定?而 Java 堆是否規(guī)整又由所采用的垃圾收集器是否帶有壓縮整理功能決定。)——初始化零值——設(shè)置對(duì)象頭(這個(gè)對(duì)象是哪個(gè)類(lèi)的實(shí)例、如何才能找到類(lèi)的元數(shù)據(jù)信息、對(duì)象的哈希碼、對(duì)象的 GC 分代年齡等信息。?這些信息存放在對(duì)象頭中。)——執(zhí)行init方法 ?對(duì)象在內(nèi)存中的布局可以分為 3 塊區(qū)域:對(duì)象頭(Header)、實(shí)例數(shù)據(jù)(Instance Data)和對(duì)齊填充(Padding)。對(duì)齊填充起到占位作用,8字節(jié)的整數(shù)倍對(duì)象的訪(fǎng)問(wèn)內(nèi)存分配以及回收原則

優(yōu)先在Eden區(qū)分配,當(dāng)內(nèi)存不夠的時(shí)候會(huì)觸發(fā)Minor GC,Survivor空間內(nèi)存足夠的情況下轉(zhuǎn)入,并將對(duì)象年齡設(shè)為 1(Eden 區(qū)->Survivor 區(qū)后對(duì)象的初始年齡變?yōu)?1)。不足的情況下通過(guò)?分配擔(dān)保機(jī)制?把新生代的對(duì)象提前轉(zhuǎn)移到老年代中去大對(duì)象直接進(jìn)老年代長(zhǎng)期存活的對(duì)象將進(jìn)入老年代,對(duì)象在 Survivor 中每熬過(guò)一次 MinorGC,年齡就增加 1 歲,當(dāng)它的年齡增加到一定程度(默認(rèn)為 15 歲),就會(huì)被晉升到老年代中。 Java之垃圾回收

死亡對(duì)象判斷方法

引用計(jì)數(shù)法 有地方引用就加1,引用失效減一。 問(wèn)題:循環(huán)引用可達(dá)性分析算法??GC Roots引用類(lèi)型總結(jié):?強(qiáng)引用:不會(huì)回收,內(nèi)存不足,拋出OutOfMemoryError 錯(cuò)誤,軟引用:可有可無(wú),內(nèi)存不足會(huì)回收,與引用隊(duì)列聯(lián)合使用弱引用:一旦發(fā)現(xiàn),不管內(nèi)存是否足夠,都會(huì)回收。但是垃圾回收器是一個(gè)優(yōu)先級(jí)很低的線(xiàn)程,因此不一定會(huì)很快發(fā)現(xiàn)。與引用隊(duì)列聯(lián)合使用虛引用:任何時(shí)候都可能被回收。主要用來(lái)跟蹤對(duì)象被垃圾回收的活動(dòng)。如何判斷一個(gè)常量是廢棄常量?運(yùn)行時(shí)常量池主要回收的是廢棄的常量如何判斷一個(gè)類(lèi)是無(wú)用的類(lèi)?? (1)該類(lèi)所有的實(shí)例都已經(jīng)被回收,也就是 Java 堆中不存在該類(lèi)的任何實(shí)例。(2)加載該類(lèi)的 ClassLoader 已經(jīng)被回收。(3)該類(lèi)對(duì)應(yīng)的 java.lang.Class 對(duì)象沒(méi)有在任何地方被引用,無(wú)法在任何地方通過(guò)反射訪(fǎng)問(wèn)該類(lèi)的方法。

垃圾收集算法

標(biāo)記清除算法:創(chuàng)建對(duì)象,標(biāo)記o;然后可達(dá)對(duì)象標(biāo)記為1 ,掃描階段清除為o的 。內(nèi)存碎片復(fù)制算法: 內(nèi)存縮小為原來(lái)的一半標(biāo)記-整理算法:老年代,標(biāo)記之后不是直接對(duì)可回收對(duì)象回收,而是讓所有存活的對(duì)象向一端移動(dòng),然后清理掉端邊界以外的內(nèi)存分代收集算法:根據(jù)對(duì)象存活周期的不同將內(nèi)存分為幾塊,采用不同的收集算法

垃圾收集器

serial收集器:暫停其他所有的工作線(xiàn)程,只用一條垃圾收集線(xiàn)程完成垃圾收集工作。 新生代采用標(biāo)記-復(fù)制算法,老年代采用標(biāo)記-整理算法。 簡(jiǎn)單高效 parNew收集器:只是使用多線(xiàn)程區(qū)進(jìn)行垃圾收集 parallel scavenge收集器? 關(guān)注吞吐量 以及cpu資源的場(chǎng)合 CMS收集器?是一種以獲取最短回收停頓時(shí)間為目標(biāo)的收集器。第一款真正意義上的并發(fā)收集器,它第一次實(shí)現(xiàn)了讓垃圾收集線(xiàn)程與用戶(hù)線(xiàn)程(基本上)同時(shí)工作。 G1收集器?一款面向服務(wù)器的垃圾收集器,主要針對(duì)配備多顆處理器及大容量?jī)?nèi)存的機(jī)器. 以極高概率滿(mǎn)足 GC 停頓時(shí)間要求的同時(shí),還具備高吞吐量性能特征。G1 收集器在后臺(tái)維護(hù)了一個(gè)優(yōu)先列表,每次根據(jù)允許的收集時(shí)間,優(yōu)先選擇回收價(jià)值最大的 Region

柚子快報(bào)邀請(qǐng)碼778899分享:開(kāi)發(fā)語(yǔ)言 Java之 jvm

http://yzkb.51969.com/

精彩文章

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀(guān)點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19344298.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪(fǎng)問(wèn)

文章目錄