传递方法参数时java引用如何工作

时间:2014-03-20 21:40:09

标签: java multithreading

public void synchronized method1(Class_Instance_Variables instanceVar, int classprimitive)
public void method2(Class_Instance_Variables instanceVar, int classprimitive)

将参数传递给方法时,java会创建对方法的新引用或 它是否使用现有引用传递给方法?

Thread-1 获取同步method1的锁并传递“类实例变量”和类实例原语变量。 Thread-2 传递method2传递相同的“类实例变量”和类实例原语变量。

在这种情况下参考如何工作?它是否为每次传递创建新的参考?

1 个答案:

答案 0 :(得分:0)

引用只是一个地址值(以堆管理中固有的间接为模)。谈论两个引用之间的区别就像在谈论两个整数之间的区别 - 在它们占据的内存位置之外,如果它们是相同的值,它们之间没有区别。

您可能会感到困惑,因为您假设Java堆管理是引用计数的,在这种情况下,引用是独立的对象。它不是; Java使用标记/扫描GC,而引用只是一个指针。

没有“新参考”。只有参考。线程与否。