heap-memory相关内容

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

我在执行 JUnit 测试时收到此错误消息: java.lang.OutOfMemoryError:超出GC开销限制 我知道 OutOfMemoryError 是什么,但是 GC 开销限制是什么意思?我该如何解决这个问题? 解决方案 此消息意味着由于某种原因垃圾收集器占用了过多的时间(默认情况下占进程所有 CPU 时间的 98%)并且恢复得很慢每次运行的内存很少(默认为堆的 2%). ..
发布时间:2021-11-25 10:29:23 Java开发

如何处理“java.lang.OutOfMemoryError: Java heap space"错误?

我正在Java 5 上编写客户端Swing 应用程序(图形字体设计器).最近,我遇到了 java.lang.OutOfMemoryError: Java heap space 错误,因为我对内存使用并不保守.用户可以打开无限数量的文件,程序将打开的对象保存在内存中.经过快速研究,我发现 5.0 Java 虚拟机中的人体工程学和其他人说在 Windows 机器上 JVM 默认最大堆大小为 64MB. ..
发布时间:2021-11-25 10:27:15 Java开发

32 位操作系统上的 JVM 堆大小

我使用的是 32 位 win.7 并使用 Eclipse.还有 4GB 内存. 我想为我的 Java 应用程序分配大约 3 GB 的最大堆大小,但我能够通过 VM 参数 -Xmx1056m 分配最大 1.5GB. 我该怎么办?如果我安装 64 位 win.7.那么它可以为我的应用分配 3GB 堆大小吗? 解决方案 一个普通的 32 位 Windows 进程只能处理 2GB 的内 ..
发布时间:2021-11-25 00:11:07 Java开发

xlConnect R 使用 JVM 内存

我在 R 中使用 XLConnect(Mirai Solutions)时遇到了 JVM 内存问题. 使用 loadWorkbook 或 readWorksheetFromFile 将数据加载到 R 中就好了,但是较大的数据(大约 3MB 的数据帧)在导出期间被写入 JVM 时卡住了导出函数(writeNamedRegion、writeWorksheetToFile 等),R 停止响应. ..
发布时间:2021-11-24 23:41:08 C#

如何在 Borland JBuilder 2005/2006 中增加 javac 进程的最大堆大小

在大多数现代 IDE 中,您可以设置一个参数来确保 javac 获得足够的堆内存来进行编译.由于不值得在这里讨论的原因,我们暂时与JBuilder 2005/2006绑定,并且源代码数量似乎超过了javac可以处理的数量. 请保留特定于 JBuilder 2005/2006 javac 的答案(我们现在无法迁移,并且 Borland Make 编译器不正确支持 Java 1.6) 我意 ..
发布时间:2021-11-22 16:51:10 Java Web开发

Android Studio 1.3.1 中的 Java 堆大小错误

我最近将 Android Studio 从 1.2 更新到 1.3.1.更新 Gradle 同步失败消息后开始显示以增加 Java 堆大小. 以下是错误截图. TIA 解决方案 转到安装它的 Android Studio 文件夹.有文件stduio.exe 和studio64.exe,文件类型为VMOPTIONS,用记事本打开你会看到这样的:> -Xms512m-Xmx128 ..
发布时间:2021-11-21 18:39:37 移动开发

如何使用android studio分析内存

最近从eclipse切换到android studio.如何在android studio中检查应用程序堆和内存分配?在 Eclipse 中,我们有 MAT 工作室中是否有任何东西可以检查堆转储、hprof 文件? 解决方案 我会用简单的方法来解释它: 首先,您需要安装 MAT ( download ) 或使用: brew cask install memoryanalyzer ..
发布时间:2021-11-21 17:59:55 移动开发

如何确定默认的最大 Java 堆大小?

如果我从 Java 命令行中省略 -Xmxn 选项,则将使用默认值.根据 Java 文档 “默认值是在运行时根据系统配置选择的" 哪些系统配置设置会影响默认值? 解决方案 在 Windows 上,您可以使用以下命令找出应用程序运行所在系统的默认设置. java -XX:+PrintFlagsFinal -version |findstr 堆大小 查找选项 MaxHeapSi ..
发布时间:2021-11-19 22:59:49 Java开发

对 Java 堆分析工具的推荐?

列出您最喜欢的堆分析工具(例如 jprofiler、jmap 等).让我们为每个答案保留一个工具,并列出每个工具的优缺点. 解决方案 YourKit : http://www.yourkit.com/ 优点: 界面干净,速度快 它打开了一个 5-gig 的大型堆转储,jProfiler 笑得停了下来.它只需要 1-2 个 JVM 内存就可以做到这一点. 缺点:当然... ..
发布时间:2021-11-19 22:34:53 Java开发

在 Java 中增加堆大小

我正在使用 8 GB RAM 的 Windows 2003 服务器(64 位).如何增加堆内存最大值?我正在使用 -Xmx1500m 标志将堆大小增加到 1500 Mb.我可以将堆内存增加到物理内存(6 GB 堆)的 75% 吗? 解决方案 您可以在 32 位系统上增加到 2GB.如果您使用的是 64 位系统,则可以更高.如果您选择错误,无需担心,如果您在 32 位系统上要求 5g,jav ..
发布时间:2021-11-19 22:32:07 Java开发

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

我在执行 JUnit 测试时收到此错误消息: java.lang.OutOfMemoryError:超出GC开销限制 我知道 OutOfMemoryError 是什么,但是 GC 开销限制是什么意思?我该如何解决这个问题? 解决方案 此消息意味着由于某种原因垃圾收集器占用了过多的时间(默认情况下占进程所有 CPU 时间的 98%)并且恢复得很慢每次运行的内存很少(默认为堆的 2%). ..
发布时间:2021-11-19 22:30:20 Java开发

如何处理“java.lang.OutOfMemoryError: Java heap space"错误?

我正在Java 5 上编写客户端Swing 应用程序(图形字体设计器).最近,我遇到了 java.lang.OutOfMemoryError: Java heap space 错误,因为我对内存使用并不保守.用户可以打开无限数量的文件,程序将打开的对象保存在内存中.经过快速研究,我发现 5.0 Java 虚拟机中的人体工程学和其他人说在 Windows 机器上 JVM 默认最大堆大小为 64MB. ..
发布时间:2021-11-19 22:29:46 Java开发

Java webstart max-heap-size 导致JVM无法启动

我们在客户端使用 java webstart 来实现基于 java swing 的应用程序.最近我们在点击jnlp链接时遇到了一个奇怪的“无法启动java虚拟机"错误. 我们很快就发现了它,因为 jnlp 文件中的 max-heap-size 设置被设置为 1024m,而大多数客户端 PC 只有 1 GB 的物理内存.将最大堆大小设置回 512m 解决了问题.目前,jnlp 文件中的相关行看 ..
发布时间:2021-11-18 22:22:57 Java开发

Fortran 中没有 Allocate() 的可变大小数组

有没有办法在 Fortran 中在堆栈上创建可变大小的数组?Allocate() 对我不起作用,因为它将数组放在堆上.这可能会导致并行化问题(请参阅我的另一个问题:OpenMP:堆数组性能不佳(堆栈数组工作很好)).当然,一些智能内存管理可以解决这个问题,但 Fortran 中的内存管理听起来很傻. 本质上,我在 C 中寻找与以下内容等效的 Fortran: scanf("%d", N); ..
发布时间:2021-11-18 04:04:39 其他开发

堆上的 C++ 多维数组

我将如何动态分配多维数组? 解决方案 如果你已经知道嵌套维度的大小,你也可以直接使用 new 分配一个多维数组: typedef int尺寸[3][4];尺寸 * 暗 = 新尺寸 [10];dim[/* 从 0 到 9 */][/* 从 0 到 2 */][/* 从 0 到 3 */] = 42;删除 [] 暗淡; 代替 10,可以传递运行时确定的值.因为它不是类型运算符 new 返回 ..
发布时间:2021-11-18 04:01:22 C/C++开发

为什么我们甚至需要“删除[]"?操作员?

这是一个困扰我一段时间的问题.我一直认为 C++ 的设计应该使 delete 运算符(不带括号)与 new[] 运算符一起工作. 在我看来,写这个: int* p = new int; 应该相当于分配一个包含 1 个元素的数组: int* p = new int[1]; 如果这是真的,delete 操作符总是可​​以删除数组,我们就不需要 delete[] 操作符. 在 C++ ..
发布时间:2021-11-18 03:04:39 C/C++开发

数组如何存储在内存中?

我有一个简单的程序来初始化一个数组: int a[]={10,20,30,40,50};字符 *p;p=(char*)a; 现在我想通过指针p访问每个字节的值.为此,我需要知道:数组如何存储在内存中?是存放在栈上还是堆上? 解决方案 数组将其元素存储在连续的内存位置. 如果您在本地创建阵列,它将在堆栈中.元素的存储位置取决于存储规范. 例如: 全局或静态声明的数组与本地声明的数组 ..
发布时间:2021-11-18 02:30:31 其他开发

在堆栈和堆上创建对象数组

考虑以下代码: class myarray{国际我;民众:myarray(int a) : i(a){ }} 如何在栈上创建myarray的对象数组,如何在堆上创建对象数组? 解决方案 您可以通过以下方式在堆栈上创建对象数组†: myarray stackArray[100];//100 个对象 在堆上†(或“freestore"): myarray* heapArray = n ..
发布时间:2021-11-18 02:26:21 C/C++开发

Java 原语数组是存储在堆栈中还是堆中?

我有一个这样的数组声明: int a[]; 这里的a 是一个原始int 类型的数组.这个数组存储在哪里?它存储在堆上还是堆栈上?这是一个原始类型int,所有原始类型都不存储在堆上. 解决方案 正如 gurukulki 所说,它存储在堆上.但是,您的帖子暗示了一种误解,这可能是由于某些善意的人传播了“原始人总是生活在堆栈中"的神话.这是不真实的.局部变量在栈上有它们的值,但不是所有的原始 ..
发布时间:2021-11-18 01:29:36 Java开发