final与性能 标签: swt编译器优化 20080327 11:49 284人阅读 评论(0) 收藏

在SWT的snippets中,final关键字出现的非常频繁,让我迷惑的是,很多时候final会用于修饰main函数中创建的widget。后来经过资料查询才知道,这么做会带来性能上的提升,也就是说,final修饰的局部变量同样可以被编译器优化成为inline变量。

要注意的是,尽量在仅做一次调用的类中使用,不要在会重复使用的类中大量使用fianl修饰符,否则会造成大量的资源浪费。

另外,局部变量不会涉及继承错位的问题。所谓继承错位,就是例如,编译时的ClassA有final变量,其子类编译时得到inline的该变量,但运行时ClassA的变量取消了final修饰,因某些原因其子类未能重新编译,这将造成很严重的错误。
原文地址:https://www.cnblogs.com/zerofire/p/7162179.html