您好,歡迎來到賦能網(wǎng)!

堆參數(shù)調(diào)優(yōu)_java培訓(xùn)

賦能網(wǎng) 2023-06-13 239

1.java7堆內(nèi)存分布

參數(shù)-Xms:初始內(nèi)存大小
參數(shù)-Xmx:最大內(nèi)存大小

2.Java8堆內(nèi)存分布

3.堆內(nèi)存調(diào)優(yōu)

  • 調(diào)優(yōu)參數(shù)

代碼:

public static void main(String[] args){

long maxMemory = Runtime.getRuntime().maxMemory() ;//返回 Java 虛擬機(jī)試圖使用的最大內(nèi)存量。

long totalMemory = Runtime.getRuntime().totalMemory() ;//返回 Java 虛擬機(jī)中的內(nèi)存總量。

System.out.println(“MAX_MEMORY = ” + maxMemory + “(字節(jié))、” + (maxMemory / (double)1024 / 1024) + “MB”);

System.out.println(“TOTAL_MEMORY = ” + totalMemory + “(字節(jié))、” + (totalMemory / (double)1024 / 1024) + “MB”);

}

  • 調(diào)整內(nèi)存大小

發(fā)現(xiàn)默認(rèn)的情況下分配的內(nèi)存是總內(nèi)存的“1 / 4”、而初始化的內(nèi)存為“1 / 64”

參數(shù)調(diào)整:-Xms1024m -Xmx1024m -XX:+PrintGCDetails

  • 運(yùn)行后結(jié)果(Java7)

  • 內(nèi)存調(diào)小,出現(xiàn)OOM

代碼:

堆參數(shù)調(diào)優(yōu)_java培訓(xùn)

String str = “www.atguigu.com” ;

while(true)

{

str += str + new Random().nextInt(88888888) + new Random().nextInt(999999999) ;

堆參數(shù)調(diào)優(yōu)_java培訓(xùn)

}

調(diào)整內(nèi)存大?。?Xms8m -Xmx8m -XX:+PrintGCDetails

運(yùn)行結(jié)果:

4.內(nèi)存溢出定位

4.1 內(nèi)存溢出定位工具——MAT

4.2 MAT下載

官網(wǎng)訪問地址:https://projects.eclipse.org/projects/tools.mat/downloads

安裝插件

4.2 MAT使用

運(yùn)行參數(shù)-XX:+HeapDumpOnOutOfMemoryError如果出現(xiàn)OOM時導(dǎo)出堆到文件

  • 安裝好插件后,調(diào)整參數(shù)-Xms1m -Xmx8m -XX:+HeapDumpOnOutOfMemoryError
  • 刷新eclipse目錄列表,打開dump文件,查看內(nèi)存溢出分析報告

Java培訓(xùn)


相關(guān): 上海大數(shù)據(jù)培訓(xùn)哪個值得選擇呢——java培訓(xùn)課程之GC

本文鏈接:

本文章“堆參數(shù)調(diào)優(yōu)_java培訓(xùn)”已幫助 239 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579

如果本頁不是您要找的課程,您也可以百度查找一下: