把java方法和类定义成final会加快速度吗?

thinkhejie 2009-10-31 09:32:38
把java方法和类定义成final会加快速度吗?
听说编译器 会内联。 请懂的高手 指导一下哦。
...全文
269 点赞 收藏 24
写回复
24 条回复
icekay Song 2009年11月16日
受教!
回复 点赞
feizm 2009年11月16日
mark
回复 点赞
obullxl 2009年11月16日
感觉没有必要为了提高速度而加上final关键字的,final关键字的设计目标并不在于此的。
回复 点赞
Get_Nb 2009年11月16日
如果将一个方法指明为final,就是同意编译器将针对该方法的甩有调用都都转为内嵌调用,可以消除调用的开销!
回复 点赞
a85400448 2009年11月02日
学习了
结论:以后少用final,就算没有申明final,编译器也有可能优化成final
回复 点赞
feng_jyie 2009年11月02日
mark
回复 点赞
木木水夕 2009年11月02日
恩,会的,因为定义成final类型后,他的状态在编译时候就已经确定 具体细节编程思想里面有。
回复 点赞
lsdb 2009年11月02日
学习,速度应该跟是不是final没什么关系,就算有关系,在这里下功夫对速度的提高也可以忽略不计
回复 点赞
网络咖啡 2009年11月01日
肯定会提高,但是提高的很有限
回复 点赞
ZangXT 2009年11月01日
[Quote=引用 5 楼 downmeim 的回复:]
如果类里面的方法比较精短,在5行内,会提高性能
如果final方法很大,jvm会对final方法的情况作出是否执行内嵌的抉择
同意4楼的
[/Quote]
一般方法越长内联越有好处的,因为编译器可以进行更大范围的优化。
回复 点赞
bigbro001 2009年11月01日
进来学习了
回复 点赞
whut0802 2009年11月01日
学习。。。
回复 点赞
liumingwei2009 2009年11月01日
回复 点赞
lz12366007 2009年11月01日
理论上是可以提高速度!!

回复 点赞
AldisZhan 2009年11月01日
性能的提高从其他的方面考虑吧 大师都说不要依靠将方法定义为final来提高速度
这样可能会影响到以后的开发 方法中不变的变量可以尽量用final修饰这样可以提高性能而不会
将影响扩散到方法外
回复 点赞
frankgoahead 2009年11月01日
final修饰成员变量,表明该变量不能在声明后进行修改
final修饰方法,表明该方法为最终方法,子类不能覆盖超类所声明的final方法

如果没必要,尽量不要改!!!
回复 点赞
lxxzhy 2009年11月01日
还是从面向对象的角度去考虑是否用final吧.
回复 点赞
groovy2007 2009年10月31日
《effective java》:不要试图通过final来提高速度
回复 点赞
Sodino 2009年10月31日
学习
回复 点赞
downmeim 2009年10月31日
如果类里面的方法比较精短,在5行内,会提高性能
如果final方法很大,jvm会对final方法的情况作出是否执行内嵌的抉择
同意4楼的
回复 点赞
发动态
发帖子
Java SE
创建于2007-09-28

3.4w+

社区成员

30.7w+

社区内容

Java 2 Standard Edition
社区公告
暂无公告