哪种方法消耗更多资源:静态或getter / setter?

时间:2011-12-20 13:15:25

标签: java memory java-me resources hardware

特别是在J2ME中,哪种方法消耗更多资源:操纵public static变量或操纵set()get()方法?

5 个答案:

答案 0 :(得分:2)

这是不可能的,因为它取决于实际的运行时环境。 JIT,AOT或Hotspot编译器可以很好地优化潜在的方法开销。

答案 1 :(得分:2)

使用get()set()方法可能比直接访问属性要贵一些(尽管编译器或JIT通过内联来优化方法调用),但无论如何差异可以忽略不计。此外,通常您不应将所有属性声明为static,而只应声明常量值。

另一方面,使用get()set()方法是强制执行数据封装的首选方法,它是一种很好的面向对象编程实践。没有这些方法会迫使您将属性暴露给外部,从而降低了类隐藏实现细节并使实现中的未来更改更加困难的能力。

答案 2 :(得分:2)

引入访问器方法会显着增加类文件的大小。但是:

  • 静电是邪恶的
  • 更喜欢OO,用行为方法封装,而不是用无意义的样板文字编写结构
  • 您可能会找到一个将为您压缩目标代码的混淆器

答案 3 :(得分:0)

设置并获得比正常字段访问更多的消费。你可能并不是指static

答案 4 :(得分:0)

public static字段访问会比setter / getter方法花费更少的资源。如果您使用的是现代热点JVM,那么差别很小。