【发布时间】:2014-10-19 20:56:08
【问题描述】:
我想知道类成员变量和方法局部变量在性能方面的区别。这里解释一下;
这是类成员变量;
public class Foo{
static String ref;
public static void union(String a, String b){
ref= a+b;
}
}
这是用于方法局部变量的;
public class Foo{
public static void union(String a, String b){
String ref= a+b;
}
}
假设我经常调用这个函数,在第二个例子中,JVM 是在每次 ref 引用时创建(如果是这样我应该像第一个例子那样写吗?)还是 JVM 创建一次并始终使用它?
【问题讨论】:
-
您的第一个示例无法编译:您无法从静态上下文访问实例字段。您应该删除
static方法修饰符。 -
抱歉我编辑了。我忘了写静态关键字@tt_emrah
-
不要担心什么是最有效的,担心什么是正确的,相信 Java 会做正确的事。
-
@Louis Wasserman 是的,你是对的,只是好奇 :)
标签: java class methods reference