我尝试创建一个网站,有时我遇到了 PermGen 异常。
所以我开始寻找减少创建对象数量并减少内存消耗的方法。
我读了一些文章。但有些事情我不确定。
例如,是在方法外部声明列表(全局)更好,还是在方法内部创建列表更好?在这种情况下,内存消耗有什么区别?如果我将它们声明为本地的,这意味着在使用它们后,垃圾收集器将收集它们,从而释放堆上的空间?
任何人都可以提出减少更多内存消耗并减少创建对象数量的方法(@Autowired 是在对象上声明的更好方法吗)?
最佳答案
如果您遇到有关 PermGen 的内存不足异常,那么减少对象的数量和大小很可能不会有帮助(因为它们将占用堆中的空间,而不是 PermGen)
这个答案PermGen Out of Memory reasons应该有助于解决 PermGen 问题的原因
关于java - JAVA 字节消耗的全局与局部(变量和列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11473281/