JAVA中怎么實(shí)現(xiàn)內(nèi)存管理

JAVA中怎么實(shí)現(xiàn)內(nèi)存管理,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站制作、成都網(wǎng)站制作、網(wǎng)站營銷推廣,空間域名,網(wǎng)絡(luò)空間,網(wǎng)站改版維護(hù)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請聯(lián)系成都創(chuàng)新互聯(lián)公司。

內(nèi)存劃分 

set JAVA_OPTS=-server -Xms1024m -Xmx1024m -XX:PermSize=512M  -XX:MaxPermSize=512m -XX:MaxNewSize=512M

虛擬機(jī)棧和本地方法棧溢出:StackOverflowError

-Xoss:設(shè)置本地方法棧大小

java堆溢出:OutOfMemoryError   java heap space

-Xmx:設(shè)置虛擬機(jī)堆參數(shù)的最大值

-Xms:設(shè)置虛擬機(jī)堆參數(shù)的最小值

運(yùn)行時(shí)常量池溢出:OutOfMemoryError  PermGen space

-XX:PermSize ,-XX:MaxPermSize:限制方法區(qū)的大小

1.程序計(jì)數(shù)器

當(dāng)前線程所執(zhí)行的字節(jié)碼的行號指示器
這類內(nèi)存區(qū)域?yàn)椤熬€程私有”的內(nèi)存
此內(nèi)存區(qū)域是唯一一個(gè)在Java虛擬機(jī)規(guī)范中沒有規(guī)定任何OutOfMemoryError情況的區(qū)域

2.Java虛擬機(jī)棧

這類內(nèi)存區(qū)域?yàn)椤熬€程私有”的內(nèi)存
它的生命周期與線程相同。虛擬機(jī)棧描述的是Java 方法執(zhí)行的內(nèi)存模型:每個(gè)方法被執(zhí)
行的時(shí)候都會(huì)同時(shí)創(chuàng)建一個(gè)棧幀(Stack Frame ①)用于存儲局部變量表、操作棧、動(dòng)態(tài)
鏈接、方法出口等信息。每一個(gè)方法被調(diào)用直至執(zhí)行完成的過程,就對應(yīng)著一個(gè)棧幀在
虛擬機(jī)棧中從入棧到出棧的過程。

3.本地方法棧

本地方法棧(NativeMethodStacks)與虛擬機(jī)棧所發(fā)揮的作用是非常相似的,其區(qū)別不過是虛擬機(jī)棧為虛擬機(jī)執(zhí)行Java方法(也就是字節(jié)碼)服務(wù),而本地方法棧則是為虛擬機(jī)使用到的Native方法服務(wù)。與虛擬機(jī)棧一樣,本地方法棧區(qū)域也會(huì)拋出StackOverflowError和OutOfMemoryError異常

4.堆

垃圾回收的主要區(qū)域

是虛擬機(jī)所管理的內(nèi)存中最大的一塊,在虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建。此內(nèi)存區(qū)域的唯一目的就是存放對象實(shí)例,幾乎所有的對象實(shí)例都在這里分配內(nèi)存,但是隨著JIT編譯器的發(fā)展和逃逸分析技術(shù)逐漸成熟,棧上分配、標(biāo)量替換優(yōu)化技術(shù)將會(huì)導(dǎo)致一些微妙的變化發(fā)生,所有的對象都分配在堆上就變得不是那么絕對了。

5.方法區(qū)

方法區(qū)用于存儲已被虛擬機(jī)加載的類信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)。
運(yùn)行時(shí)常量池是方法區(qū)的一部分,用于存放編譯器生成的各種字面量和符號引用。

標(biāo)記清除算法

標(biāo)記死亡和存活的類,然后清除掉。碎片化可能比較嚴(yán)重

復(fù)制算法

內(nèi)存劃分兩部分,存活的移動(dòng)到一邊,然后另一邊清除,吃內(nèi)存

標(biāo)記整理

存活的移動(dòng)到一邊,另一部分清理掉

分代回收算法

新生代用復(fù)制算法
老年代用標(biāo)記清除、標(biāo)記整理算法

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

文章名稱:JAVA中怎么實(shí)現(xiàn)內(nèi)存管理
文章來源:http://bm7419.com/article30/pceiso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站策劃App開發(fā)、定制網(wǎng)站、企業(yè)建站商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化