我的应用程序中有一个全局HashMap
,其中包含自定义对象作为键。第三方将其作为 API 调用,他们将创建一个新的自定义对象,如果 HashMap
中尚不存在该对象,他们会将其放入映射中。在这种情况下,随着 HashMap 大小不断增加,并且部署后增加 JVM 内存非常繁琐,如何管理 OutOfMemoryError。
最佳答案
如果这个映射可以无限增加,那么您需要一个不同的解决方案,而不仅仅是内存中的HashMap
。即使您不断增加 JVM 的限制,您使用的实际硬件也是有限的。
您可以将这些 key 保存在数据库(或文件)中,然后对其进行查询。为了提高性能,您可以决定将 N 个最近使用的键保留在内存中作为缓存。
关于java - 处理java中的OutOfMemory错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51056598/