java中举个内存溢出的例子,以及如何解决这个问题的
有实例代码就最好啦
所谓内存溢出
就是当前内存的使用已经超过了当前内存的供给,虽然有垃圾回收, 但是如果单位时间内你申请的频率太高,导致来不及及时释放,也会耗尽内存。
比如你虚拟机限制最大1G的内存 你不断用循环往容器(list, vector之类)添加对象,最后不会溢出吗?内存难道没有上限吗?就算你调用了垃圾回收函数请求
也解决不了 都是设计本身或者系统吞吐本身的限制
检查是否有死循环,大数据频繁创建而且不释放
class A
{
int[] arr = new int[100000];
public A a;
}
调用代码
A a = new A();
while (true)
{
A.a = new A();
a = a.a;
}
单位时间申请内存太高,内存量不够