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

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

賦能網(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 虛擬機試圖使用的最大內(nèi)存量。

long totalMemory = Runtime.getRuntime().totalMemory() ;//返回 Java 虛擬機中的內(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)默認的情況下分配的內(nèi)存是總內(nèi)存的“1 / 4”、而初始化的內(nèi)存為“1 / 64”

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

  • 運行后結(jié)果(Java7)

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

代碼:

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

String str = “www.atguigu.com” ;

while(true)

{

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

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

}

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

運行結(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使用

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

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

Java培訓


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

本文鏈接:

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

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

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

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