java get方法 性能

leon_rock 发布于 2012/03/15 11:26
阅读 1K+
收藏 0

java中往往用到set和get方法

我想知道get方法多次调用进行判断和 通过get赋值给一个变量再多次进行判断,在性能上有什么区别?

例如:

if(null !=userInfo.getUserName())               String userName =userInfo.getUserName();

{...}                                                             if(null != userName){...}

 

加载中
0
一号男嘉宾
一号男嘉宾
这个跟 set和get方法有关系么?你不用 set和get,在其他地方还不是一样要判断?你说呢
0
canghailan
canghailan
get理论是效率低些,但是jvm可以优化(内联等)。从代码清晰度上用get更好。其实这个性能比较没有什么必要。
0
Andre.Z
Andre.Z
get理论上多一个查询传递过程。但是你赋值的时候,多了一个变量引用。实际区别,基本忽略了。get多了,直接赋值,省点代码 - -,少了,直接copy下好了。
0
m
marslei
你可以写一个测试代码,对两种方式分别直接10万次或者更多,并分别记录前后的时间戳,通过耗时来作一个大概的估算。 仅供参考
0
leon_rock
leon_rock
连个差别不大,几乎一样~~~
0
xpbug
xpbug
宏观来讲,区别不大。微观来说,还是有区别的。如果编译器不做优化的话,从JVM的内存管理来说,get方法是被变为指令存在方法区内,而对于程序计数器,肯定会多走一条指令。
返回顶部
顶部