2017-10-15 79 views
1

在java中,如果我重载方法如下所示Java方法过载共享同一存储器或不同的存储器中不同的nethod

public void test (int a,int b) 
public int test(String str) 
public boolean test (float a) 

然后,所有的上述方法将使用同一存储器或不同的每个测试。 如果他们共享相同的内存位置,那么它将如何在多线程环境中工作。

感谢

+1

的,是三个完全不同的方法 - 就像独立出来,因为如果他们有d不同的名字。 – slim

回答

2

没有被分配的方法本身内存。存储器被分配:

  • 对于类 - 对于所有static成员的一个共享分配(每类加载器一次,要准确)
  • 对于实例 - 其实例/非静态成员
  • 对于方法调用 - 每次调用将分配一个独立的堆栈帧的参数等
  • 局部变量 - 在这里没有任何共享
相关问题