• (一)深入java虚拟机之内存溢出与分析


    一、内存溢出程序

    public class Test {
        public static void main(String[] args) {
            List<User> userList=new ArrayList<User>();
            while(true) {
                userList.add(new User());
            }
        }
    }
    public class User implements Serializable {
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
    
        private Integer id;
        private String userName;
        private String pwd;
    //省略getset方法
    • 当程序运行起来后一段时间内存就会溢出。

    二、查看内存溢出情况

      2.1  安装内存分析工具

      2.2  运行参数配置

    Run as-->Run Configurations-->Arguments-->VM arguments:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError,配置20M当做内存溢出上限,方便测试,具体大小大家可以自己控制。-XX:+HeapDumpOnOutOfMemoryError 配置后,当存溢出就会生成文件。

       2.3  运行程序

     

    • 刷新工程,生成文件

     

    •  双击打开

     

    如上图可知,是main线程的ArrayList内存溢出

  • 相关阅读:
    文本分类的研究学习
    Python中的TfidfVectorizer参数解析
    Newsgroups数据集介绍
    鸢尾花数据读取的总结
    Knapsack Problems
    3.1.6 Stamps
    3.1.5 Contact
    3.1.4 Shaping Regions
    3.1.3 Humble Numbers
    3.1.2 Score Inflation
  • 原文地址:https://www.cnblogs.com/shyroke/p/8137694.html
Copyright © 2020-2023  润新知