gpt4 book ai didi

java - 比构造函数快?

转载 作者:搜寻专家 更新时间:2023-11-01 03:43:14 24 4
gpt4 key购买 nike

我正在对一些需要快速构建几千个对象的 Java 代码进行性能调优。我已经看过一些显而易见的事情,比如确保对象适本地简单并且构造函数精简。我也在寻找不使用某些对象的选项等。

是否有具体的事情可以让构造函数本身花费更少的时间?是否有另一种方法可以在不调用构造函数的情况下获得正确数量的对象,也许可以使用 clone() 或其他一些运行时 API?还是我可以给 VM 或编译器一些提示,以帮助简化这部分程序?

最佳答案

最好的方法是尽可能避免创建对象。不仅对象创建有其成本,垃圾收集器随后清理它们也有成本。

一些想法是:尝试将您的数据压缩为基本类型,用预先分配的简单类型的并行数组替换简单的类似结构的对象,使您的对象可变,并重置它们并在它们不再使用时重新使用它们需要(使用池或临时),使用 Javolution 将类似结构的数据放置在预先分配的 ByteBuffers/数组中。如果您必须创建新对象,请避免使用 Java 集合 - 它们有很多开销(在内存使用和对象分配方面),请尝试使用数组或 Trove。

也许您还可以简化您的逻辑,这样您一开始就不需要那么多对象。

无论如何,请运行分析,以便您知道您正在优化真正成为瓶颈的部分。通常,性能热点位于与直觉不同的位置。

关于java - 比构造函数快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9472766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com