Java EE中对象的引用。远程和本地接口的区别?

时间:2015-06-23 10:35:28

标签: java java-ee call-by-value

据我所知,Java只是按引用调用。如果实体必须通过远程接口,它仍然可以有引用吗?现在实体基本上在另一个容器中,它怎么还能有对象的引用?换句话说:是否有可能让人感受到这种情况。远程接口不只是引用,而是对象的副本(按值调用)?

很抱歉,如果这是一个愚蠢的想法,但是整个call-by-reference(或通过refrence?)概念让我在Java EE中感到困惑。

编辑:换句话说:来自会话bean的对象是否总是作为参考传递?

2 个答案:

答案 0 :(得分: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               

答案 1 :(得分:0)

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