第 7 章 堆内存最佳实践
第 5 章和第 6 章详细探讨了如何调优垃圾收集器,以使其尽可能不影响程序。调优垃圾收集器非常重要,但是应用更好的编程实践往往可以获得更好的性能。本章就探讨一些在 Java 中使用堆内存的最佳实践方法。
这里有两个相互冲突的目标。第一个一般规则是,有节制地创建对象并尽快丢弃。使用更少的内存,这是提升垃圾收集器效率的最好方法。相反,频繁地重建某类对象会导致整体性能变得更糟(即便 GC 的性能有所改进)。然而,如果重用那些对象,程序的性能则有可能会得到改善。对象的重用方式有很多种,包括线程局部变量、特殊的对象引用以及对象池。重用对象意味着这些对象会长期存活,而且会影响垃圾收集器,但如果能合理利用,整体性能就会得到改进。
本章会探讨这两种方法以及在它们之间的权衡。不过,我们首先要看一下可以帮助理解堆内正在发生什么的工具。
