0

据我所知,Java 只是引用调用。如果一个实体必须通过远程接口,它还能有引用吗?现在实体基本都在另一个容器里了,怎么还有对象的引用呢?换句话说:“通过”远程接口的实体是否可能不仅仅是引用,而是对象的副本(按值调用)?

抱歉,如果这是一个愚蠢的想法,但是整个引用调用(或引用传递?)概念在 Java EE 中让我感到困惑。

编辑:换句话说:会话 bean 中的对象总是作为引用传递吗?

4

2 回答 2

4

Java 始终是按值调用的。这是一个让事情变得清晰的例子:

class Operation{  
int data=50;  

void change(int data){  
  data=data+100;//changes will be in the local variable only  
}  

public static void main(String args[]){  
  Operation op=new Operation();  
  System.out.println("before change "+op.data);  
  op.change(500);  
  System.out.println("after change "+op.data);   

}
}

Output:before change 50
       after change 50               
于 2015-06-23T10:43:25.540 回答
0

它是实体对象的副本而不是引用,我的意思是这就是为什么实体对象的序列化在这里非常重要,当实体对象通过远程接口而不是引用传输时,序列化有助于获取实体对象的副本,因为这个引用会在另一个容器中没有价值..

于 2015-06-23T10:44:34.347 回答