亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java內存設置詳解(含內存溢出問題的解決)

發布時間:2020-07-31 20:51:28 來源:網絡 閱讀:425 作者:wx5d78c87dd0584 欄目:編程語言

一、常見的Java內存溢出有以下三種:
1.java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出

JVM在啟動的時候會自動設置JVM Heap的值,其初始空間(即-Xms)是物理內存的1/64,最大空間(-Xmx)不可超過物理內存。

可以利用JVM提供的-Xmn -Xms -Xmx等選項可進行設置。Heap的大小是Young Generation 和Tenured Generaion 之和。

在JVM中如果98%的時間是用于GC,且可用的Heap size 不足2%的時候將拋出此異常信息。

解決方法:手動設置JVM Heap(堆)的大小。

2.java.lang.OutOfMemoryError: PermGen space ---- PermGen space溢出

PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域。

為什么會內存溢出,這是由于這塊內存主要是被JVM存放Class和Meta信息的,Class在被Load的時候被放入PermGen space區域,它和存放Instance的Heap區域不同,sun的 GC不會在主程序運行期對PermGen space進行清理,所以如果你的APP會載入很多CLASS的話,就很可能出現PermGen space溢出。

解決方法: 手動設置MaxPermSize大小

3.java.lang.StackOverflowError ---- 棧溢出

棧溢出了,JVM依然是采用棧式的虛擬機,這個和C和Pascal都是一樣的。函數的調用過程都體現在堆棧和退棧上了。

調用構造函數的 “層”太多了,以致于把棧區溢出了。

通常來講,一般棧區遠遠小于堆區的,因為函數調用過程往往不會多于上千層,而即便每個函數調用需要 1K的空間(這個大約相當于在一個C函數內聲明了256個int類型的變量),那么棧區也不過是需要1MB的空間。通常棧的大小是1-2MB的。通常遞歸也不要遞歸的層次過多,很容易溢出。

解決方法:修改程序。

二、方法具體步驟
1.linux下的tomcat:

修改TOMCAT_HOME/bin/catalina.sh 位置cygwin=false前。

JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m" 

2.如果tomcat 5 注冊成了windows服務,以services方式啟動的,則需要修改注冊表中的相應鍵值。

修改注冊表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\Java,右側的Options

原值為:

-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"

-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"

-Xrs

加入

-Xms256m -Xmx512m 

重起tomcat服務,設置生效

**3.如果tomcat 6 注冊成了windows服務,或者windows2003下用tomcat的安裝版,在/bin/tomcat6w.exe里修改就可以了 。

4.如果要在myeclipse中啟動tomcat,上述的修改就不起作用了,可如下設置:

Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:

-Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武威市| 大姚县| 胶南市| 沅江市| 修文县| 厦门市| 买车| 岐山县| 宜城市| 西乌珠穆沁旗| 黎城县| 红河县| 定远县| 阿坝县| 玉屏| 兰考县| 嘉义县| 公主岭市| 郑州市| 昂仁县| 柯坪县| 平陆县| 蓬莱市| 苍山县| 双牌县| 沁阳市| 苍南县| 太仓市| 大同县| 班玛县| 崇左市| 平湖市| 杭州市| 永靖县| 涟源市| 北宁市| 嘉义县| 苍山县| 山阳县| 宽甸| 扶余县|