我在我的代码中使用 joda 时间。当我添加这行代码时,使用的内存将增加30M!
LocalDateTime _currDate = new LocalDateTime();
我发现几乎所有的java程序员都推荐使用joda time。所以我想也许我没有以正确的方式使用它。有谁知道原因,请帮帮我。非常感谢!
最佳答案
JVM 非常复杂,仅仅因为您实例化了一个新对象并不意味着它会在该行代码处消耗内存。在某些情况下,即使您显式实例化它们,JVM 也永远不会为未使用的对象分配内存。 您需要使用内存分析器来查看到底发生了什么。Joda 是一个构建良好的库,这个类实例化导致您的内存增加 30m 的可能性很小。 p>
一个好的分析器会向您显示该类消耗了多少内存、堆中发生了什么,以及其他一些有用的见解。 可能只是 JVM 在堆上腾出更多空间来处理代码中发生的其他事情。
我敢肯定其他人会赞同一些优秀的分析器,但某些 IDE 会将它们直接内置。从这里开始,祝你好运。
关于java - joda时间消耗太多内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16319512/