удаленная отладка jnlp приложения с затмением

Как может A переживать B?:

Использование В качестве примера B и A:

public static main(args) {
    B myB = new B();
    myB = null;
}

Поведение я ожидал бы:

GC удалит myB, и в myB экземпляре должен был только сослаться к экземпляр, таким образом, это будет удалено также. Со всеми их присвоенными слушателями?

Сделал Вас, возможно, имейте в виду:

class B {
    private A a;
    B(A a) {
        this.a = a;
        a.addListener(new Listener() {
            void listen() {}
        }
}

С использованием:

public static main(args) {
    A myA = new A();
    B myB = new B(myA);
    myB = null;
}

, поскольку тогда я действительно задался бы вопросом, что происходит с тем анонимным классом....

8
задан Jill Renee 3 November 2009 в 19:39
поделиться

2 ответа

Мой босс нашел ответ:

Похоже, что теги «» в файле jnlp более строгие с более новой JRE. Согласно Документация Sun :

«Для ненадежного приложения система свойства, установленные в файле JNLP, будут устанавливается только Java Web Start, если они считаются безопасными, или если имя свойства начинается с «jnlp». или «челюсти». »

Похоже на недоверенный статус заставляет приложение запускать второй раз с соответствующим properties.

после перекомпиляции и исправления, надеюсь, несвязанной проблемы, когда новые строки приводили к тому, что подписанные APPLICATION.JNLP и launch.jnlp не выглядели «одинаковыми», отладчик теперь работает.

4
ответ дан 5 December 2019 в 20:17
поделиться

This blog post has environment variables you can set to debug jnlp. This has always worked for me.

  set JAVAWS_TRACE_NATIVE=1

  set JAVAWS_VM_ARGS=-Xdebug -Xnoagent -Djava.compiler=NONE 
            -Xrunjdwp:transport=dt_socket,address=8989,server=y,suspend=y
  javaws http://server:port/descriptor.jnlp
4
ответ дан 5 December 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: