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

标签 java java-8 jvm

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/

相关文章:

json - Jackson 支持 java 8 stream() 吗?

java - 是否可以获得用于在 java 中启动 jvm 的命令?

java - 我试图让球逐渐移动

java - 微服务实例间JPA同步

java - 为什么 Temporal 不在 Java 8 jsr310 中扩展 Comparable

java permGen内存不足错误tomcat-liferay服务器

java - Kotlin 中的哪些语言功能可能导致内存泄漏?

Java:如何在 Java 中将 File 对象转换为 String 对象?

java - 如何使用正则表达式获取包含或不包含引号的参数

java - 使用Optional.of()方法进行方法链接是个好主意吗?