java - 如何限制java HashMap的最大内存大小?
问题描述
我有一个要求,我从大文件中读取字符串并在 HashMap 中处理它。当 HashMap 大小> 5GB 时,我想抛出异常。如何设置 HashMap 的最大内存大小?
解决方案
您继承HashMap
和覆盖方法以跟踪分配和释放的内容,并自己抛出异常。
但是,请注意,确定一个对象占用多少内存本身就是一项重要任务……如果该对象包含对其他对象的引用,您会走多远?
这是一个决定你的意思和你想要跟踪的内容的重要问题。没有一刀切的答案。
而且,正如@ModusTollens 在评论中所建议的那样,这可能是一个XY Problem。
推荐阅读
- c# - C# 无法从与实例化不同的方法访问类实例
- python - Jupyter笔记本没有读取现有文件
- entity-framework - 嵌套实体集合
- python - 如何计算python pandas的平均时间
- automated-tests - REST 服务的 SOAP UI 中的参数传输到 URI
- peoplesoft - 如何在应用程序设计 PeopleSoft 中编写 Max effe date < 2 年
- tensorflow - TensorFlow - 使用 interleave 或 parallel_interleave 时出错
- c# - 将字典和列表相交以返回另一个字典
- json - 如何使用 SwiftyJSON 解析 UTF8 字符串?
- sql-server - 将数据动态插入到临时表中,变量为like