关闭

Java中关于final关键字的几个小知识点

175人阅读 评论(0) 收藏 举报
分类:

参考资料来自《Java编程思想》

1.final方法会提高运行效率

2.private方法会被隐式地指定为final方法

3.final类中所有的方法都已经是指定为final方法

关于第一点的一些解释摘抄:

final修饰的函数会被编译器优化,优化的结果是减少了函数调用的次数。如何实现的,举个例子给你看: 

public class Test{ 
final void func(){System.out.println("g");}; 
public void main(String[] args){ 
for(int j=0;j<1000;j++)   
func(); 
}
} 


经过编译器优化之后,这个类变成了相当于这样写: 

public class Test{ 
final void func(){System.out.println("g");}; 
public void main(String[] args){ 
for(int j=0;j<1000;j++)  
{System.out.println("g");} 
}
} 


看出来区别了吧?编译器直接将func的函数体内嵌到了调用函数的地方,这样的结果是节省了1000次函数调用,当然编译器处理成字节码,只是我们可以想象成这样,看个明白。 
不过,当函数体太长的话,用final可能适得其反,因为经过编译器内嵌之后代码长度大大增加,于是就增加了jvm解释字节码的时间。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:19258次
    • 积分:461
    • 等级:
    • 排名:千里之外
    • 原创:26篇
    • 转载:17篇
    • 译文:0篇
    • 评论:2条
    文章分类