我有一个具有巨大堆(大约100GB)的应用程序,并且在初始化期间,它使用不同的缓存分配几乎所有可用内存。问题是这个初始化阶段会分配大量的对象,这些对象会导致旧代的痛苦的碎片化。所以我的想法是强制完整的gc作为初始化阶段的最后一步来对齐/压缩旧的gen并降低运行时“并发模式失败”的概率。
有没有办法强迫这样的收藏?
谢谢
答案 0 :(得分:0)
基本上,你应该用完你的记忆,然后打电话给gc
。
考虑这种方式http://www.informit.com/articles/article.aspx?p=19703
你也可以尝试这个https://stackoverflow.com/a/6915221/1137529,但我不确定它是否真的能正常工作。