java 静态方法调用效率

Efficiency of java static method calling

我的教授说,每当我使用 class 中的静态方法时,整个 class 都会加载到内存中,然后执行该方法。

我的问题是:如果 class 包含 100 个方法和 50 个不同的变量,并且如果我从中调用一个静态方法 class.the 完成 class(100 个方法和 50 个变量)被加载到内存中,这在内存和性能方面是低效的。 java 如何处理此类问题?

是的,当您调用 static 方法时会加载 class 字节码(但 一次 ,而不是 每次).. 调用非静态方法时也会发生同样的情况。在后一种情况下,还必须创建一个实例。因此,就您的问题而言,这是一种错误的二分法。因为 Java 是一种动态语言和平台(带有 JIT),所以运行时效率可以在方法调用之间显着提高。因此,最好编写清晰简洁的代码(即Write Dumb Code)。如果实现解决方案的最清晰方法是 static 方法,那么请使用它们。