java - 在构造函数中使用多个参数的性能

标签 java android performance constructor

有谁知道与 setter 相比,在构造函数(10+)中使用许多参数对性能有何影响?

我的情况是,如果没有任何这些参数,模型对象将无效,因此我使用单个构造函数。

我知道这两种方式都没有显着差异,但我想问一下是否有人知道这两种情况的实际情况。

我要求性能,因为该应用程序是 Android 应用程序,可以在没有 JIT 的情况下在旧设备上运行。

如果我们知道最优解就好了。

最佳答案

使用 setter 与构造函数的性能影响可以忽略不计,因为在这两个实例中发生的事情大致相同:传递给方法的数据存储在实例变量中。

如果使用 10 个 setter,您需要为 9 个额外的方法调用付出代价,但它们非常便宜,您不太可能发现任何差异,尤其是当它们被 JIT 编译器内联时。

逻辑上的影响要严重得多:如果你的对象在你设置所有十个实例变量之前是无效的,那么你肯定需要使用具有十个参数的构造函数:性能增益,无论真实与否,都是次要的逻辑完整性你的类(class),这不应该受到损害。

关于java - 在构造函数中使用多个参数的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9329789/

相关文章:

javascript - 这个 JavaScript 函数的时间复杂度是线性的还是二次的?

java - 如何从cachedActions Libgdx继续序列/并行操作

java - Gradle Eclipse : 'Referenced Libraries' vs 'Project and External Dependencies'

java - 502 错误网关和 "Please try again in 30 seconds"消息

java - getResourceAsStream 在新环境下失败?

java - 如何在parcelable android studio java中传递一个具有抽象类类型的类作为参数

python - 使用 sqlite3 与自定义表实现的优缺点

android - "Add method contract to ..."Android Studio的主要用途是什么

android - 在动态特性模块中无法访问资源文件

python - 如何在 Python 中创建具有相应索引条件的 bool 矩阵?