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

thinkhejie 2009-10-31 09:32:38
把java方法和类定义成final会加快速度吗?
听说编译器 会内联。 请懂的高手 指导一下哦。
...全文
345 24 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
icekay Song 2009-11-16
  • 打赏
  • 举报
回复
受教!
feizm 2009-11-16
  • 打赏
  • 举报
回复
mark
老牛同学 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
  • 打赏
  • 举报
回复
理论上是可以提高速度!!

HelloAldis 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楼的
加载更多回复(4)

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧