2015-03-05 20 views
1

Возможно ли получить объект из кучи в JVM и вызвать на нем метод.Вызвать метод объекта в куче jvm

Допустим, у меня есть это:

public class TestObjectOnHeap { 
    private String name; 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
     } 
    } 
} 

И я создал веб-приложение, которое инстанцированный класс, как этот

TestObjectOnHeap obj = new TestObjectOnHeap(); 
obj.setName("created in webapp"); 

Тогда я хотел создать другое приложение (возможно через javaagent?), которые читают это значение и печатаются "created in webapp"

Возможно ли это?

+1

Вы говорите о попытке получить новую ссылку на иначе полностью неизвестный объект, который существует на куче JVM? – chrylis

+0

Я буду знать имя и тип объекта в куче. Но я действительно хочу получить значение имени из этого объекта после его создания совершенно другим приложением. Поэтому я надеюсь, что смогу это сделать: 'TestObjectOnHeap obj = someMagicToGetObjectFromHeap(); Assert.equals ("created in webapp", obj.getName()); ' – tinytelly

+1

То, о чем вы говорите, называется * поддельной ссылкой * и полностью разрешит модель безопасности JVM, если это разрешено. – chrylis

ответ

1

Нет, это невозможно. Вам нужно будет передать его другой программе или сделать ее доступной для другой программы через службу или сохранить ее в базе данных, где другая программа может ее найти. В любом случае, это будет связано с каким-то serialization.