社区
Java SE
帖子详情
java内存问题,欢迎高手进来探讨
Ark032425
2010-08-06 04:50:18
java内存溢出,到底是堆溢出还是栈溢出。虚拟机到底能用多少内存。
请给出有力证据。
...全文
237
7
打赏
收藏
java内存问题,欢迎高手进来探讨
java内存溢出,到底是堆溢出还是栈溢出。虚拟机到底能用多少内存。 请给出有力证据。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
salever
2010-08-06
打赏
举报
回复
补充一点:堆和栈的大小是可以设置的,CMD下java -Xms 、java -Xmx、java -Xss
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
salever
2010-08-06
打赏
举报
回复
StackOverflowError 栈空间不足,JVM中,方法的执行用栈,当分配的占空间不足时,比如无限递归调用,就会出现这个错误(某也就遇到过无限递归调用时出现过栈空间问题)
OutOfMemoryError 堆空间不足,(忽略GC),堆是用来分配对象的地方,简单地说,new一个新的对象就发生在堆上,一般JVM的堆大小是可以设置的,默认好像是64M。如果你拼命new对象很快就会看到这个错误的。
举个例子:
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
healer_kx
2010-08-06
打赏
举报
回复
Java的栈溢出,都是由于递归调用引发的,而Java的数组越界了,引发的out of boundary一类的异常,
如果你的对象new得过多了,那就是Out of Memory了。
JVM虚拟机能用多少堆内存,也得看硬件什么配置了。至于栈内存,大小无所谓了,反正再大也不过10MB,小了也得1-2MB。但是你程序的递归调用不对,100MB也不够玩的。
YangWenChaoX
2010-08-06
打赏
举报
回复
堆溢出 是怎样的?
栈溢出 又是怎样的?
michaellufhl
2010-08-06
打赏
举报
回复
StackOverflowError
vs
OutOfMemoryError
哆来咪法索拉西
2010-08-06
打赏
举报
回复
经常outofmemoryerror
knightzhuwei
2010-08-06
打赏
举报
回复
栈溢出和堆溢出应该都有可能吧 虚拟机能用多少内存不是应该可以设置的么
为什么你不应该恨
Java
!,东华软件
java
面试题
Java
是VERBOSE,VERBOSE是一个很好的特性,也是一个不太好的特性。您根本无法使一个
内存
高效的程序处理巨大的数据,同时仍在程序中保留良好的面向对象的抽象。这种额外的
内存
消耗并不重要,如果您是一个小规模的应用程序。但我错了,我甚至不知道这些语言之间的区别,我只是简单地比较它们。即使你想执行小程序,你也必须强制地将它包装成类-对象形式,这对许多初学者或其他语言的开发人员来说是没有意义的。所以,在构建高效的应用程序之前,使用哪种语言并不重要,这些应用程序最终会驱动更多的用户:D。(备注
Java
)**
Java
中多线程的ABA
问题
探讨
本文是笔者在日常开发过程中遇到的对 CAS 、 ABA
问题
以及 JUC()中相关类的设计的一些思考记录。对需要处理 ABA
问题
,或有诸如笔者一样的设计疑问探索好奇心的读者可能会带来一些启发。首先阐述多线程场景数据同步的常用语言工具接着阐述什么是 ABA
问题
,以及产生的原因和可能带来的影响再探索 JUC 中官方为解决 ABA
问题
而做一些工具类设计文章的最后会对多线程数据同步常用解决方案做了简短地经验性总结与概括。
Java
内存
模型详解
前几天,发了一篇文章,介绍了一下JVM
内存
结构、
Java
内存
模型以及
Java
对象模型之间的区别。有很多小伙伴反馈希望可以深入的讲解下每个知识点。
Java
内存
模型,是这三个知识点当中最晦涩难懂的一个,而且涉及到很多背景知识和相关知识。 网上有很多关于
Java
内存
模型的文章,在《深入理解
Java
虚拟机》和《
Java
并发编程的艺术》等书中也都有关于这个知识点的介绍。但是,很多人读完之后还是搞不清楚,甚...
内存
泄露的原因找到了,罪魁祸首居然是
Java
TheadLocal
这个实习生不能留了!
深入
探讨
Java
中的
内存
泄漏与如何避免?一文学会!
在
Java
开发中,
内存
管理是不可忽视的重要课题之一。虽然
Java
的垃圾回收机制(GC)大大简化了
内存
管理的复杂度,但随着程序的不断增长和复杂度的增加,
内存
泄漏的
问题
依然常常困扰着开发者。
内存
泄漏不仅会影响应用的性能,还可能导致系统崩溃。了解
内存
泄漏的原因,如何检测它,并采取适当的预防措施,是每个
Java
开发者都应该具备的基本技能。本文将深入
探讨
内存
泄漏的概念、成因,并介绍一些常见的检测工具和最佳实践,帮助你在开发过程中有效避免
内存
泄漏
问题
。
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章