手動寫java OOM記憶體溢位 java.lang.OutOfMemoryError: GC overhead limit exceeded
package com.hcmony.test.memory;
import java.io.Serializable;
/**
* <h3>Shenjue.java基本描述</h3>
* <p></p>
*
* @author hcmony
* @since V1.0.0, 2018/09/04 14:43
*/
public class User implements Serializable{
private static final long serialVersionUID = 353900218049881029L;
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User(int id, String name) {
this.id = id;
this.name = name;
}
}
package com.hcmony.test.memory;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* <h3>Shenjue.java基本描述</h3>
* <p>
* java.lang.OutOfMemoryError:GCoverheadlimitexceeded
* 【解釋】:JDK6新增錯誤型別,當GC為釋放很小空間佔用大量時間時丟擲;一般是因為堆太小,導致異常的原因,沒有足夠的記憶體。
* 【解決方案】:
* 1、檢視系統是否有使用大記憶體的程式碼或死迴圈;
* 2、通過新增JVM配置,來限制使用記憶體:
* -XX:-UseGCOverheadLimit
* </p>
*
* @author hcmony
* @since V1.0.0, 2018/09/04 14:42
*/
public class GcMemory {
private static List<User> userList = new ArrayList<User>();
public static void main(String[] args) {
while (true){
int i = 0 ;
User user = new User(i++, UUID.randomUUID().toString());
userList.add(user);
}
}
}
結果如下:
Connected to the target VM, address: '127.0.0.1:58216', transport: 'socket'
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOfRange(Arrays.java:3664)
at java.lang.String.<init>(String.java:201)
at java.lang.String.substring(String.java:1921)
at java.util.UUID.digits(UUID.java:386)
at java.util.UUID.toString(UUID.java:376)
at com.hcmony.test.memory.GcMemory.main(GcMemory.java:21)
Disconnected from the target VM, address: '127.0.0.1:58216', transport: 'socket'
Process finished with exit code 1
相關文章
- 手動寫java OOM記憶體溢位 java.lang.OutOfMemoryError: Java heap spaceJavaOOM記憶體溢位Error
- 手動寫java記憶體溢位 java.lang.OutOfMemoryError: PermGen spaceJava記憶體溢位Error
- 【idea】編譯java專案時出現java.lang.OutOfMemoryError: GC overhead limit exceededIdea編譯JavaErrorGCMIT
- 一次OutOfMemoryError: GC overhead limit exceededErrorGCMIT
- 手動寫java記憶體溢位 java.lang.StackOverflowErrorJava記憶體溢位Error
- Java記憶體溢位(OOM)異常完全指南Java記憶體溢位OOM
- 解決Android Studio出現GC overhead limit exceededAndroidGCMIT
- Java棧溢位|記憶體洩漏|記憶體溢位Java記憶體溢位
- Jmeter記憶體溢位:java.lang.OutOfMemoryError: Java heap space解決思路JMeter記憶體溢位JavaError
- Java記憶體溢位Java記憶體溢位
- java 程式記憶體溢位Java記憶體溢位
- Java記憶體溢位情況Java記憶體溢位
- 模擬實戰排查堆記憶體溢位(java.lang.OutOfMemoryError: Java heap space)問題記憶體溢位JavaError
- 記憶體溢位記憶體溢位
- 異常、堆記憶體溢位、OOM的幾種情況記憶體溢位OOM
- 阿里大佬講解Java記憶體溢位示例(堆溢位、棧溢位)阿里Java記憶體溢位
- JAVA記憶體區域與記憶體溢位異常Java記憶體溢位
- [Java基礎]記憶體洩漏和記憶體溢位Java記憶體溢位
- JBOSS記憶體溢位記憶體溢位
- 記憶體溢位:native溢位 和 上層溢位記憶體溢位
- 【轉】java中的記憶體溢位和記憶體洩漏Java記憶體溢位
- java記憶體溢位和記憶體洩漏的區別Java記憶體溢位
- 誰動了我的記憶體之 PHP 記憶體溢位PHP記憶體溢位
- 誰動了我的記憶體之PHP記憶體溢位PHP記憶體溢位
- 記憶體溢位和記憶體洩露記憶體溢位記憶體洩露
- 記憶體洩漏和記憶體溢位記憶體溢位
- java 匯出 excel 最佳實踐,java 大檔案 excel 避免OOM(記憶體溢位) excel 工具框架JavaExcelOOM記憶體溢位框架
- WebLogic: 記憶體溢位Web記憶體溢位
- 記憶體溢位問題記憶體溢位
- 記憶體溢位的分析記憶體溢位
- JVM(2)-Java記憶體區域與記憶體溢位異常JVMJava記憶體溢位
- Java虛擬機器4:記憶體溢位Java虛擬機記憶體溢位
- 【記憶體洩漏和記憶體溢位】JavaScript之深入淺出理解記憶體洩漏和記憶體溢位記憶體溢位JavaScript
- JVM——記憶體洩漏與記憶體溢位JVM記憶體溢位
- Android記憶體溢位分析Android記憶體溢位
- 記憶體溢位的問題記憶體溢位
- Flume記憶體溢位錯誤記憶體溢位
- JNI練習-記憶體溢位記憶體溢位