Tag: 堆内存

什么是64位JVM最大的堆大小?

在32位系统中使用-Xmx设置的理论最大堆值当然是2^32字节,但通常(请参阅: 了解最大JVM堆大小 – 32位与64位 )不能使用全部4GB。 对于在64位机器上运行在64位操作系统上的64位JVM,除了2^64字节或16 EB字节的理论极限之外是否还有其他限制? 我知道,由于各种原因(主要是垃圾收集),过大的堆可能不是明智的 ,但从阅读有RAM的服务器的angular度来看,我想知道什么是可能的 。

Java堆空间内存不足

我的应用程序目前消耗相当多的内存,因为它正在运行物理模拟。 问题在于,在第五十一次模拟中,java通常会因为内存空间不足而抛出一个错误(我的程序最终会运行数千次模拟)。 有没有反正我不能只增加堆空间,但修改我的程序,以便在每次运行后清空堆空间,以便我可以运行任意数量的模拟? 谢谢 -编辑- 多谢你们。 事实certificate,模拟器软件在每次运行后都没有清除信息,并且我将这些运行全部存储在数组列表中。

为什么两个不同的概念都被称为“堆”?

为什么C风格语言中用于dynamic内存分配的运行时堆和数据结构都称为“堆”? 有一些关系吗?

空闲后将variables设置为NULL

在我的公司有一个编码规则,说释放任何内存后,将该variables重置为NULL。 例如 … void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } 我觉得,在像上面显示的代码的情况下,设置为NULL没有任何意义。 还是我错过了什么? 如果在这种情况下没有意义的话,我会去接受“质量小组”去除这个编码规则。 请指教。

Java堆术语:年轻的,老的和永久的世代?

我试图理解Java堆术语中年轻 , 老年和永久代的概念,尤其是三代之间的相互作用。 我的问题是: 年轻一代是什么? 老一辈是什么? 什么是永久的一代? 三代人如何互相交stream?

java.lang.OutOfMemoryError:Java堆空间

我正在执行multithreading程序时出现以下错误 java.lang.OutOfMemoryError: Java heap space 上述错误发生在其中一个线程中。 根据我的知识,堆空间仅由实例variables占用。 如果这是正确的,那么为什么这个错误在运行正常之后发生,因为在创build对象时分配了实例variables的空间。 有没有办法增加堆空间? 我应该对我的程序做些什么改变,以便占用更less的堆空间?

增加Java中的堆大小

我正在使用8 GB RAM的Windows 2003服务器(64位)。 我怎样才能增加堆内存的最大值? 我正在使用-Xmx1500m标志将堆大小增加到1500 Mb。 我可以将堆内存增加到物理内存的75%(6 GB堆)吗?

错误java.lang.OutOfMemoryError:超出GC开销限制

我执行我的JUnittesting时遇到此错误消息: java.lang.OutOfMemoryError: GC overhead limit exceeded 我知道什么是OutOfMemoryError ,但GC开销限制是什么意思? 我该如何解决这个问题?

如何处理“java.lang.OutOfMemoryError:Java堆空间”错误(64MB堆大小)

我正在Java 5上编写客户端Swing应用程序(graphics字体devise器)。 最近,我正在运行java.lang.OutOfMemoryError: Java heap space错误,因为我不是保守的内存使用情况。 用户可以打开无限数量的文件,程序将打开的对象保存在内存中。 经过一个快速的研究,我发现5.0 Java虚拟机中的人机工程学和其他人在Windows机器上的JVM默认最大堆大小为64MB 。 鉴于这种情况,我该如何处理这个约束呢? 我可以使用java的命令行选项来增加最大堆大小 ,但是这需要找出可用的RAM并编写一些启动程序或脚本。 此外,增加一些有限的最大值不会最终摆脱这个问题。 我可以重写一些我的代码来经常保存对象到文件系统(使用数据库是一样的)来释放内存。 它可以工作,但也可能是很多工作。 如果你能指出我的细节以上的想法或像自动虚拟内存一样的select,dynamic扩展堆大小 ,这将是伟大的。