jvm------各个运行时数据库常见内存溢出分析与模拟
Posted lxoy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中是所有线程共享的一部分区域,其主要是存放实例对象,当实例对象需要分配的内存超过堆的最大内存,则会有堆溢出的问题。
哎不想写了 网上写了好多了
以上是关于jvm------各个运行时数据库常见内存溢出分析与模拟的主要内容,如果未能解决你的问题,请参考以下文章