`
subject
  • 浏览: 40347 次
  • 性别: Icon_minigender_1
  • 来自: 墨尔本
社区版块
存档分类
最新评论

java 堆溢出例子

阅读更多
引用
本次测试为idea 工具
 
引用
idea 内存分配,参考附件



import com.googl :wink: e.common.collect.Lists;

import java.util.List;

/**
 * @Author admin Date: 2017/6/19 10:40
 * @description:
 */
public class HeapOOM {

    static class  OOMObject{

    }
    public static void main(String[] args){
        List<OOMObject> list = Lists.newArrayList();
        while (true){
            list.add(new OOMObject());
        }
    }
}

 


引用
结果输出:

"C:\Program Files\Java\jdk1.8.0_101\bin\java" -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.1\lib\idea_rt.jar=50551:C:\Program Files\JetBrains\IntelliJ IDEA 2017.1.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_101\jre\lib\charsets.jar;C:\Program ...
 HeapOOM
[GC (Allocation Failure) [PSYoungGen: 7709K->1022K(9216K)] 7709K->3562K(19456K), 0.0048906 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[GC (Allocation Failure) [PSYoungGen: 8067K->1022K(9216K)] 10607K->10342K(19456K), 0.0080288 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] 
[Full GC (Ergonomics) [PSYoungGen: 1022K->0K(9216K)] [ParOldGen: 9320K->8114K(10240K)] 10342K->8114K(19456K), [Metaspace: 3440K->3440K(1056768K)], 0.0939976 secs] [Times: user=0.14 sys=0.02, real=0.09 secs] 
[Full GC (Ergonomics) [PSYoungGen: 5123K->1503K(9216K)] [ParOldGen: 8114K->10126K(10240K)] 13237K->11630K(19456K), [Metaspace: 3441K->3441K(1056768K)], 0.0882936 secs] [Times: user=0.16 sys=0.00, real=0.09 secs] 
[Full GC (Ergonomics) [PSYoungGen: 8192K->7167K(9216K)] [ParOldGen: 10126K->9040K(10240K)] 18318K->16207K(19456K), [Metaspace: 3441K->3441K(1056768K)], 0.1115602 secs] [Times: user=0.17 sys=0.00, real=0.11 secs] 
[Full GC (Ergonomics) [PSYoungGen: 7915K->7865K(9216K)] [ParOldGen: 9040K->9040K(10240K)] 16955K->16905K(19456K), [Metaspace: 3441K->3441K(1056768K)], 0.0706948 secs] [Times: user=0.13 sys=0.00, real=0.07 secs] 
[Full GC (Allocation Failure) Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Arrays.java:3210)
	at java.util.Arrays.copyOf(Arrays.java:3181)
	at java.util.ArrayList.grow(ArrayList.java:261)
	at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:235)
	at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:227)
	at java.util.ArrayList.add(ArrayList.java:458)
	at HeapOOM.main(HeapOOM.java:17)
[PSYoungGen: 7865K->7865K(9216K)] [ParOldGen: 9040K->9014K(10240K)] 16905K->16880K(19456K), [Metaspace: 3441K->3441K(1056768K)], 0.1130058 secs] [Times: user=0.14 sys=0.00, real=0.11 secs] 
Heap
 PSYoungGen      total 9216K, used 8131K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)
  eden space 8192K, 99% used [0x00000000ff600000,0x00000000ffdf0d60,0x00000000ffe00000)
  from space 1024K, 0% used [0x00000000fff00000,0x00000000fff00000,0x0000000100000000)
  to   space 1024K, 0% used [0x00000000ffe00000,0x00000000ffe00000,0x00000000fff00000)
 ParOldGen       total 10240K, used 9014K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000)
  object space 10240K, 88% used [0x00000000fec00000,0x00000000ff4cda80,0x00000000ff600000)
 Metaspace       used 3472K, capacity 4600K, committed 4864K, reserved 1056768K
  class space    used 378K, capacity 424K, committed 512K, reserved 1048576K

Process finished with exit code 1
  • 大小: 48.9 KB
分享到:
评论

相关推荐

    Java 内存溢出解决办法

    在上述例子中,增大了这些值,如 `-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=600m`,可以有效地增加Java程序可用的内存。 2. 优化代码:避免创建不必要的大量对象,减少内存消耗。例如,合理使用对象池...

    vfmh#JavaBooks#堆溢出的小例子1

    堆溢出例子启动参数:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryErrorpublic static void main

    完美解决java读取excel内存溢出问题.rar

    在Java开发中,处理大型Excel文件时,可能会遇到内存溢出的问题。这通常是由于Java的默认内存设置不足以处理大量数据导致的。本解决方案主要针对使用Apache POI库进行Excel读取时遇到的这类问题。 首先,Apache POI...

    关于static的小结(Java内存溢出)

    ### 关于static的小结(Java内存溢出) #### 标题和描述中的知识点 在《关于static的小结(Java内存溢出)》这篇文章中,作者主要探讨了与Java中的`static`关键字相关的知识点,以及如何可能导致内存溢出的情况。...

    Java中堆内存和栈内存详解

    本文将深入探讨Java中堆内存与栈内存的概念、特点以及它们之间的关系,并通过具体的例子来帮助读者理解这些概念。 #### 二、栈内存 栈内存是用于存储函数调用过程中的局部变量、方法参数等信息的一种内存区域。当...

    Java常见内存溢出异常分析与解决

    在堆溢出的例子中,当列表容量超过JVM堆大小限制时,系统会抛出异常。解决此类问题的方法是增大堆空间(调整-Xms和-Xmx参数),或者优化代码以减少内存消耗。 总的来说,理解和处理Java内存溢出异常是每个开发者...

    java正则表达式例子

    此外,"JAVA内存溢出异常解决方案"讨论了Java内存管理,当程序使用过多内存时,了解如何排查和解决内存溢出问题是非常重要的。 总的来说,Java正则表达式是处理字符串的强大工具,理解其工作原理和用法对提升代码...

    Flash+Java上传例子(含源码)

    本示例“Flash+Java上传例子”提供了一种实现文件上传的解决方案,结合了前端的Flash技术和后端的Java处理。以下是关于这个主题的详细解释: 1. **Flash技术**:Flash是一款用于创建交互式动画、多媒体内容和富...

    JavaService.exe例子

    - `-Xms1000m -Xmx1000m`:设置最小和最大堆内存大小。 - `-starttest.Test`:指定启动类的全限定名。 - `-out "F:\MyTest\out.log"`:指定日志输出文件。 - `-err "F:\MyTest\err.log"`:指定错误日志输出文件...

    Java中易于溢出的比较Overflow-proneomparisonsnava)1

    在Java编程语言中,溢出问题是一个常见的编程错误,尤其在进行数值比较时。本文将探讨一个关于"Java中易于溢出的比较"的主题,主要关注整数和长整数在循环条件中的比较可能导致的无限循环问题。我们将通过CodeQL查询...

    JAVA-memcached简单例子

    在这个例子中,我们将使用spymemcached,因为它相对轻量级且易于使用。 3. **集成spymemcached** - 添加spymemcached依赖到你的项目。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    2014年最新JAVA面试题汇总经典例子及其答案

    8. **JVM内存模型**:堆内存、栈内存、方法区、本地方法栈的结构,垃圾回收机制(GC),内存溢出问题的分析,以及如何优化JVM参数。 9. **设计模式**:单例、工厂、观察者、装饰器、适配器、策略、代理等常见设计...

    关于java例子一百例

    在初学者和深入学习者的学习过程中,通过实践和分析各种例子是掌握Java知识的重要方式。以下是一些基于提供的Java代码例子的关键知识点: 例1.1 展示了如何创建一个简单的Java Applet,即在网页上运行的小程序。`...

    java下载文件案例

    在这个Spring MVC的例子中,`FileSystemResource`用于封装文件,然后使用`ResponseEntity`构造响应,设置相应的头信息。 总结一下,Java文件下载涉及的关键知识点包括:HTTP响应头的设置,文件I/O操作,Servlet编程...

    达内个人笔记java经典例子

    在Java中,整型变量如`int`类型具有固定的最大值和最小值,这些值由`Integer.MAX_VALUE`和`Integer.MIN_VALUE`常量表示。 #### 示例代码: ```java public class Test3 { public static void main(String[] args) ...

    java读取到处excel例子

    在"java读取到处excel例子"这个主题中,我们将深入探讨如何使用POI库来读取、修改和导出Excel文件。下面将详细介绍相关的知识点。 1. **Java POI库** - POI是一个强大的API,它允许Java开发者创建、修改和显示...

    编写Java代码制造一个内存溢出的情况

    在Java编程中,内存溢出(Out of Memory,OOM)是一种常见的运行时错误,通常由于程序消耗了过多的系统资源,导致系统无法分配更多的内存。本文将深入探讨如何通过Java代码故意制造内存溢出的情况,以帮助理解这个...

    处理bitmap内存溢出问题

    在这个例子中,`inSampleSize`被设置为4,这意味着原始图像的宽度和高度将分别被缩小到1/4,从而减少了内存消耗。 ### 2. 使用`inJustDecodeBounds` 在确定合适的`inSampleSize`之前,通常需要先获取原始图像的...

    JAVA线程池例子

    - 使用合适的队列类型,避免内存溢出或阻塞问题。 - 避免长时间保持大量空闲线程,考虑设置合理的`keepAliveTime`。 - 监控线程池状态,定期调整参数以优化性能。 在`TestThreadPool`这个示例中,很可能会包含...

Global site tag (gtag.js) - Google Analytics