私有方法最终是否有益?这会改善表现吗?
我认为"私人决赛"没有多大意义,因为私有方法无法被覆盖.所以方法查找应该像使用final时一样高效.
私有帮助方法是静态的(如果可能的话)会更好吗?
什么是最好用的?
private Result doSomething()
private final Result doSomething()
private static Result doSomething()
private static final Result doSomething()
Run Code Online (Sandbox Code Playgroud)
Tom*_*ine 66
添加final到方法不会提高Sun HotSpot的性能.在哪里final可以添加,HotSpot会注意到该方法永远不会被覆盖,因此对待它是相同的.
在Java中,private方法是非虚拟的.您无法覆盖它们,甚至可以使用嵌套类,它们可以被子类访问.例如,instructoin调用privates的方法与用于非私有的方法不同.添加final到私有方法没有任何可能性.
与以往一样,这种微观优化并不值得花时间.
Bin*_*ony 21
private static Result doSomething(),如果此方法不使用任何实例变量.在任何情况下,由于访问者是私有的,因此将它们作为final是没有意义的.
不,它不会.私有方法不是继承的.因此,让他们成为最终是一个有争议的问题.另请注意,您不应将方法设为最终性能.JVM比这更聪明.这种优化没有太大用处.您应该根据语义和设计使事物成为最终的,私有的,私有的,受保护的,私有的等.
| 归档时间: |
|
| 查看次数: |
17033 次 |
| 最近记录: |