中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

深入了解java內(nèi)存分配和回收策略-創(chuàng)新互聯(lián)

一、導(dǎo)論

創(chuàng)新互聯(lián)建站長期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為巴彥淖爾企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站制作,巴彥淖爾網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

java技術(shù)體系中所提到的內(nèi)存自動化管理歸根結(jié)底就是內(nèi)存的分配與回收兩個(gè)問題,之前已經(jīng)和大家談過java回收的相關(guān)知識,今天來和大家聊聊java對象的在內(nèi)存中的分配。通俗的講,對象的內(nèi)存分配就是在堆上的分配,對象主要分配在新生代的Eden上(關(guān)于對象在內(nèi)存上的分代在垃圾回收中會補(bǔ)上,想了解的也可以參考《深入理解java虛擬機(jī)》),如果啟動了本地線程分配緩沖,講按線程優(yōu)先在TLAB上分配。少數(shù)情況下也是直接在老年代中分配。

二、經(jīng)典的分配策略

1、對象優(yōu)先在Eden上分配

一般情況下對象都是優(yōu)先分配在Eden上,當(dāng)Eden沒有足夠的空間進(jìn)行分配時(shí),jvm會發(fā)起一次Minor GC。如果還是沒有足夠的空間分配,后面還有另外的措施,下面會提到。

設(shè)置虛擬機(jī)的偶記日志參數(shù)-XX:+PrintGCDetails,在垃圾回收的時(shí)候會打印內(nèi)存的回收日志,并且在進(jìn)程退出的時(shí)候會輸出當(dāng)前內(nèi)存各區(qū)域的分配情況。下面來看下具體的例子,首先需要設(shè)置jvm的參數(shù)-Xms20m -Xmx20m -Xmn10m,這三個(gè)參數(shù)說明java堆大小為20M,且不可擴(kuò)展,其中10M分配給新生代,剩下的10M分配給老年代。-XX:SurvivorRatio=8是jvm默認(rèn)的新生代中Eden和Survivor比例,默認(rèn)為8:1。原因是新生代中的對象98%都會在下一次GC的時(shí)候回收掉,所以很適合采用復(fù)制算法進(jìn)行垃圾回收,所以新生代10M的內(nèi)存中,8M是Eden,1M是Survivor,另外的1M是未使用配合復(fù)制算法的內(nèi)存塊,也是Survivor。

public class ReflectTest {

  private static final int _1MB = 1024*1024;
  
  public static void testAllocation(){
    byte[] allocation1 , allocation2 , allocation3 , allocation4;
    allocation1 = new byte[2 * _1MB];
    allocation2 = new byte[2 * _1MB];
    allocation3 = new byte[2 * _1MB];
    allocation4 = new byte[6 * _1MB];
  }
  
  public static void main(String[] args) {
    ReflectTest.testAllocation();
  }
  
}

分享題目:深入了解java內(nèi)存分配和回收策略-創(chuàng)新互聯(lián)
文章URL:http://www.rwnh.cn/article2/ceccoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、關(guān)鍵詞優(yōu)化外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)、企業(yè)網(wǎng)站制作、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(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)

成都網(wǎng)站建設(shè)
沙洋县| 图片| 清镇市| 航空| 海伦市| 全南县| 犍为县| 抚顺县| 红安县| 淮滨县| 海盐县| 长垣县| 岳阳县| 上虞市| 桂林市| 瑞丽市| 尼木县| 大邑县| 吉木萨尔县| 漳州市| 济源市| 宣汉县| 安岳县| 西畴县| 林口县| 枝江市| 壤塘县| 延川县| 四会市| 大兴区| 远安县| 博野县| 老河口市| 洪洞县| 张家口市| 诸城市| 铅山县| 宁海县| 汕头市| 巴彦淖尔市| 阜南县|