java 8中静态方法和类中的普通方法在性能上有什么区别吗?
class First {
public static String methodStatic1() {
//performance
}
}
对比
class Second {
public String method2() {
//performance
}
}
最佳答案
解决性能方面的问题:不必毫无意义地创建某个实例会更便宜,但差异很可能是完全无关的。随着时间的推移,专注于清晰的设计可能会变得更加重要。
实用程序方法通常是静态的,如果类中的所有方法都是静态的,则很值得将类设为最终类并包含私有(private)构造函数以防止实例化。从根本上讲,对于不代表任何真实“事物”的实用程序类,构造实例没有逻辑意义 - 所以要防止它。
另一方面,这确实降低了灵 active :如果这些实用方法中的任何一个包含您可能想要多态变化的功能(例如出于测试目的),那么请考虑将它们保留为实例方法 - 并尝试提取一些有意义的类名代表所涉及的“事物”。 (例如,实例化 FooConverter 有意义,而 FooUtil 则不然。)关于java - 静态方法与内部类方法 - 性能 [java 8],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54403964/