社区
Java SE
帖子详情
把java方法和类定义成final会加快速度吗?
thinkhejie
2009-10-31 09:32:38
把java方法和类定义成final会加快速度吗?
听说编译器 会内联。 请懂的高手 指导一下哦。
...全文
345
24
打赏
收藏
把java方法和类定义成final会加快速度吗?
把java方法和类定义成final会加快速度吗? 听说编译器 会内联。 请懂的高手 指导一下哦。
复制链接
扫一扫
分享
转发到动态
举报
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)
java
中
final
与效率
关于
final
关键字,总是那么些疑惑,今天就总结一下。 一.
final
的概念:在
Java
中, 可以使用
final
关键字修饰
类
、
方法
以及
成
员变量。 1.
final
标记的
类
不能被继承; 在设计
类
时候,如果这个
类
不需要有子
类
,
类
的实现细节不允许改变,并且确信这个
类
不
会
载被扩展,那么就设计为
final
类
。 2.
final
标记的
方法
不能被子
类
复写; 如果一个
类
不允许其子
类
覆盖
为什么jdk中把String
类
设计
成
final
?
为什么jdk中把String
类
设计
成
final
? 最佳答案: 主要是为了“效率” 和 “安全性” 的缘故。若 String允许被继承, 由于它的高度被使用率, 可能
会
降低程序的性能,所以String被
定义
成
final
。 其它答案一: String和其他基本
类
型不同,他是个对象
类
型.既然是对象
类
型,如果是在静态
方法
下是必须调用静态
方法
或值的,如果是非静态的
方法
,就必须要实例化.
java
中
final
的回收_
java
中的
final
、
final
ly和
final
ize
最近在读Thinking In
Java
,秉着有些地方还能知道自己不
会
的精神,都去好好查阅了一些资料,在内存分配这一章,看到
final
ize()这个
方法
,刚开始很不理解,查阅了一些资料,顺带看了一下
final
、
final
ly,现在分享一下。一、
final
的介绍
final
可用在4个地方,分别是变量(static 或者 !static),形式参数,
方法
和
类
,每种情况都有不同的含义,下面分别介绍之:fi...
java
静态
方法
调用快_
Java
中static、private、public
方法
哪个更快
本文是我多年之前的老博客(android-performance.com)的一篇文章,老博客很久没有维护了,把一些有用的文章转移过来。在
java
中,同样的
方法
被声明不通的
类
型在访问速度上
会
有不同吗?如果不通
会
有多大差异?让我们功过实验来证明这一切。我们有下面三段代码,运算逻辑相同,我们分别用static, private, public 来声明,然后分别对他们的运行时间:public class ...
java
代码编写细节-提升性能
根据提供的数据,getter/setter的性能已经接近直接属性访问,大约慢50%,这意味着在大多数情况下,没有必要担心getter/setter的性能而采用直接属性访问1。在
Java
中,过度的封装可能
会
导致一些潜在的问题,如增加了系统的复杂性、可能降低了系统的性能、可能降低了代码的可读性和可维护性。可能降低了系统的性能:在
Java
中,访问对象的私有属性需要通过getter和setter
方法
,这可能
会
导致一定的性能损失。适度封装:在保证代码可读性和可维护性的前提下,适当的封装是必要的。
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章