gpt4 book ai didi

java - 限制java类的内存使用

转载 作者:行者123 更新时间:2023-12-04 06:24:04 25 4
gpt4 key购买 nike

我正在编写一个将与 java MOA 框架一起运行的 java 类。
该类具有聚类点流的功能。这个类由 MOA 应用程序调用。我想限制这个类的总内存(至少是堆上使用的内存,可以排除堆栈内存)的使用(不包括 MOA 应用程序使用的内存)。

是否可以?我希望很清楚该类正在被 MOA 应用程序实例化和调用。我首先运行 MOA 应用程序,然后选择从 GUI 运行 myclass 来执行集群。由于这个原因,像 -Xmx 这样的 JVM 选项对我不起作用。

最佳答案

您可以在类中嵌入逻辑以每隔一段时间检查 Runtime.freeMemory() 和 Runtime.maxMemory() 并在限制似乎接近时采取措施(刷新缓存等)。有点“不确定”,因为不同的平台报告堆统计数据不同。

您还可以对某些“可选”存储使用 SoftReference 方案。如果需要堆,GC 将删除对象。 (虽然这个方案是用大锤打蚊子。)

当然,您可以简单地计算对象分配。

关于java - 限制java类的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6226407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com