首页 > 解决方案 > 如何限制java HashMap的最大内存大小?

问题描述

我有一个要求,我从大文件中读取字符串并在 HashMap 中处理它。当 HashMap 大小> 5GB 时,我想抛出异常。如何设置 HashMap 的最大内存大小?

标签: javajvm

解决方案


您继承HashMap和覆盖方法以跟踪分配和释放的内容,并自己抛出异常。

但是,请注意,确定一个对象占用多少内存本身就是一项重要任务……如果该对象包含对其他对象的引用,您会走多远?

这是一个决定你的意思和你想要跟踪的内容的重要问题。没有一刀切的答案。

而且,正如@ModusTollens 在评论中所建议的那样,这可能是一个XY Problem


推荐阅读