Ссылки на объекты в Java EE. Разница для удаленных и локальных интерфейсов?

Насколько я знаю, Java - это только вызов по ссылке. Если объект должен пройти через удаленный интерфейс, может ли он иметь ссылку? Теперь сущность находится в основном в другом контейнере, как она все еще может иметь ссылку на объект? Другими словами: возможно ли, чтобы объекты, которые "проходят" через удаленные интерфейсы, были не просто ссылками, а копией объекта (вызов по значению)?

Извините, если это глупая идея, но вся концепция вызова по ссылке (или передачи по ссылке?) Сбивает меня с толку в Java EE.

РЕДАКТИРОВАТЬ: Другими словами: объекты из сессионных компонентов ВСЕГДА передаются в качестве ссылки?

2 ответа

Решение

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               

Это копия объекта сущности, а не ссылка, я имею в виду, поэтому сериализация объектов сущности здесь очень важна, сериализация помогает получить копию объекта сущности при передаче через удаленный интерфейс, а не ссылку, потому что эта ссылка будет иметь нет значения в другом контейнере..

Другие вопросы по тегам