zoukankan      html  css  js  c++  java
  • jvm(二)------各个运行时数据库常见内存溢出分析与模拟

    一、堆溢出

    jvm参数  -Xms11m -Xmx40m 

    运行代码

        public static void main(String[] args)  {
            List<byte[]> list = new ArrayList<>();
            int i=0;
            while(true){
                list.add(new byte[5*1024*1024]);
                System.out.println("分配次数:"+(++i));
            }
        }

     运行结果

    分配次数:1
    分配次数:2
    分配次数:3
    分配次数:4
    分配次数:5
    分配次数:6
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    	at Stack.main(Stack.java:15)
    
    Process finished with exit code 1
    

      分析:堆在jvm中是所有线程共享的一部分区域,其主要是存放实例对象,当实例对象需要分配的内存超过堆的最大内存,则会有堆溢出的问题。

    哎不想写了 网上写了好多了

  • 相关阅读:
    Hoder.js介绍
    vim折叠方法
    tensorflow最基础分类实例--iris分类
    语音识别GMM-HMM
    亨元模式
    责任链模式
    命令模式
    策略模式
    工厂模式
    Java高并发程序设计(十)--无锁
  • 原文地址:https://www.cnblogs.com/lxoy/p/9238451.html
Copyright © 2011-2022 走看看