java内存溢出,到底是堆溢出还是栈溢出。虚拟机到底能用多少内存。
请给出有力证据。
请给出有力证据。
解决方案 »
- 奇怪的编码!!jsp页面用gbk编码, 被编译后报错? 奇怪!!!!!!!!!! 奇怪!!!!!!!!!!!!!!
- JAVA基础
- java的输出格式问题,请人帮忙回答
- 谁能给我写个java集合里hashtable.hashset的几个例子。谢谢。
- Java处理图片的分辨率问题
- 我的WIN2000环境变量中为什么没有classpath也可以运行JAVA?
- 请问怎样可以实现整形数组,其长度可以动态变化
- sql2000的jdbc驱动问题
- 请问第一次用jdk1.3时候,如何设置路径
- 求救:如何向preparedStatement中set值?sql语句中包含like
- 新手求助。关于类成员定义以及内存分配问题!!
- 如何从字符串中提取出数字
如果你的对象new得过多了,那就是Out of Memory了。
JVM虚拟机能用多少堆内存,也得看硬件什么配置了。至于栈内存,大小无所谓了,反正再大也不过10MB,小了也得1-2MB。但是你程序的递归调用不对,100MB也不够玩的。
static int callMyself(){
return callMyself();
}
运行这个方法,你会得到:
Exception in thread "main" java.lang.StackOverflowError int[] a = new int[123456789];
运行时会出现:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size