静态与内部类方法 - 性能 [java 8]

java 8中的静态方法和类中的普通方法在性能上有什么区别吗?


class First {

    public static String methodStatic1() {

       //performance

    }

}

对比


class Second {

    public String method2() {

       //performance

    }

}


摇曳的蔷薇
浏览 118回答 1
1回答

慕慕森

解决性能方面的问题:不必毫无意义地创建实例的成本更低,但差异很可能完全无关紧要。随着时间的推移,专注于清晰的设计可能变得更加重要。实用方法通常是静态的,如果一个类中的所有方法都是静态的,那么将类设为 final 并包含一个私有构造函数以防止实例化可能是值得的。从根本上说,对于不代表任何真实“事物”的实用程序类,构造一个实例没有逻辑意义——所以要避免它。另一方面,这确实降低了灵活性:如果这些实用方法中的任何一个包含您可能希望以多态方式改变的功能(例如,出于测试目的),那么请考虑将它们保留为实例方法 - 并尝试提取一些有意义的类名来表示涉及的“事物”。(例如, FooConverter 实例化是有意义的 - FooUtil 没有。)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java