java程序堆内存溢出错误如何解决?

java程序堆内存溢出错误如何解决?,第1张

把eclipse的内存调大一点,在eclipse的目录下面有一个eclipse.ini文件,打开调一下-XX:MaxPermSize=250m的大小!除了这点以外,如果你的代码写的有问题,那就是需要你自己改下代码的!

堆栈段是一个特殊的段,在程序中可以定义它,也可以不定义。除了要生成COM型执行文件的源程序外,一个完整的源程序一般最好定义堆栈段。如果在程序中不定义堆栈段,那么, *** 作系统在装入该执行程序时将自动为其指定一个64K字节的堆栈段,所以你没申明堆栈当然也可以用push。

在程序没有定义堆栈段的情况下,在由连接程序生成执行文件时,将会产生一条如下的警告信息,但程序员可以不理会它,所生成的执行文件是可以正常运行的。

堆栈段一般是拿来保存局部变量用的,函数调用,中断返回都需要栈的支持。良好的程序员和优美的代码不应该没有堆栈段。

栈是线程的,不是进程的

是一个进程一个堆,一个线程一个栈吗

堆≈虚拟内存大小-1GB

栈通常为4MB

下面是一些说明文件:

Visual C++ 编译器选项

/F(设置堆栈大小)

请参见 发送反馈意见

设置程序堆栈大小(以字节为单位)。

/F[ ]number

参数

number

堆栈大小(以字节为单位)。

备注

如果不使用此选项,堆栈大小默认为 1 MB。number 参数可以用十进制或 C 语言表示法表示。参数的范围可以在 1 到链接器接受的最大堆栈大小之间。链接器将指定值向上舍入为最接近的 4 个字节。/F 和 number 之间的空格可选的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11020152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存