上下文为:Java EE 5。
我有一台服务器在运行一些巨大的应用程序。我需要重构这些类,使它们的内存占用率低(尽可能低),以换取CPU时间(其中有很多)。
我已经知道如何使用位运算将多个布尔值、short或bites填充到int中(例如)。
我需要你的其他优化想法,比如,我该如何处理字符串,什么集合更适合使用,以及你碰巧知道的任何其他想法。
Thx,你们统治!
您可能会对这篇关于java内存效率的pdf感兴趣。
尤其是标准集合似乎是巨大的内存浪费。但是,在进行任何微观优化之前的第一步是评测应用程序,创建堆转储并分析这些转储。
需要考虑的几件事
- 如果您处理完一个对象,并且它将保留在作用域中,请将其设置为null
- 请改用StringBuilder(如果需要线程安全,则使用StringBuffer)串联字符串
然而,如果内存使用是这样一个问题,那么可能是代码的体系结构问题。