问题标签 [java-heap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 java-selenium 运行黄瓜测试时出现“java.lang.OutOfMemoryError”异常
使用 java-selenium 运行黄瓜测试时,在以下行出现错误:
PageFactory.initElements(driver,LandingPage.class);
下面是页面对象类的完整代码:
下面是步骤定义文件代码:
收到以下错误:
注意:我尝试增加 java 堆内存但仍然遇到相同的错误,可能的解决方案是什么。
java - TreeMap 需要多少内存细化收集?
TreeMap<Long, Long>
用 1000 个(所有唯一的)键值对填充的集合需要多少内存?
是的,我可以只看内存转储,但需要详细了解原因:
Long
= n 字节Entry<Long, Long >
= 2n 字节,因此 1000 个条目 = 2000n 字节- 树节点中的引用:k 字节,1 个节点有 2 个到子节点的链接,所以 2k 字节,
- 等等
总计:X ?
java - 在while循环内逐行读取文件时出现java堆错误
我正在使用 weblogic 和 java ee。当我尝试读取一个文本文件(大约 100mb)并从中创建一个数组时,java 堆大小超出并且 weblogic 出现故障。我scanner
用来避免读取内存中的文件,也尽量不在循环内创建任何新变量以防止 java 堆错误。但不幸的是,我收到了那个错误并weblogic exit on panic
在控制台中收到了消息,它崩溃了。
我知道增加 Xmx 大小会有所帮助(在我的情况下不会),我正在寻找一个真正的解决方案。为什么当我没有在循环内存储任何新实例时超出堆大小?
还要考虑情况。我需要从CensusData
文件中获取一个数组。因此我迭代文本文件的每一行并将其拆分以获得创建该数组所需的数据。
loops - 在水壶中使用循环获取记录
我试图运行水壶,将我的输入视为文本文件。它包含大约 130 万条记录。我需要为每条 记录创建文件输出。因此,给出文本文件输出并执行每条记录会引发 java 堆空间错误。
那么有什么方法可以在其中使用循环。例如,运行 50,000 个文件并推送输出并像这样运行下一个 50,000?我从未在水壶中使用过循环。我可以使用的条件是直到记录是我需要运行一次输出 50k 个文件的作业的最后一个记录
java - G1 GC分配的内存大于堆大小
我将 GC 更改为应用程序服务器。现在我使用 G1 GC。我有 30 GB 内存。对于初始测试,我仅将 Xms 和 Xmx 值设置为相同的23040 mb。
我使用的设置:
如果我使用 G1 GC,我会有有趣的 GCEasy Metrics。
总共是 36.05 GB怎么来的?GCEasy 图链接在这里。
我不明白为什么分配的内存大于最大堆大小?
GC 初始日志:
GC 暂停日志:
这是否意味着 GCEasy.io 存在显示正确指标的错误?当我使用Parallel GC时,我没有类似的问题。(分配的内存不超过Xmx)