Я должен явно назвать System.exit () в приложении Webstart?

Val :: Int -> Expr a

для любой a. Таким образом,

Val x <*> _ = Val x

является действительным, как и

_ <*> Val y = Val y

, как и

Val x <*> Val y = Val (something about x and y)

, поэтому, к сожалению, теперь у вас есть выбор, что означает, что вы собираетесь сделать неправильный К счастью, только один из них совместим с экземпляром Monad (какой?).

Что касается рекурсивного случая, у вас есть

Add e e' <*> fb = ...
     -- e :: Expr (a -> b)
     -- e' :: Expr (a -> b)
     -- fb :: Expr a

И вы должны использовать всю входящую информацию для создания Expr b, а также для сохранения «структуры» (Add). Каким образом вы можете сделать Expr b из этого (помните, что вы можете использовать аппликативный оператор рекурсивно)?

8
задан 4 revs, 2 users 97% 23 May 2017 в 12:12
поделиться

5 ответов

Из-за ошибок в WebStart, да. WebStart запускает "безопасный поток" в своих собственных целях, который взаимодействует с EDT. Этот SecureThread предотвращает автоматическое завершение процесса Java, который можно было бы ожидать, когда все окна и ресурсы AWT расположены.

Для получения дополнительной информации см. http://www.pushing-pixels.org/?p=232

6
ответ дан 5 December 2019 в 21:23
поделиться

EDT AWT обычно является преступником. В течение нескольких лет теперь это имело некоторую логику для завершения работу, когда нет никаких не склонных окон. Однако существуют текущие проблемы с утечками, включая в рамках реализации AWT и Swing. Поэтому я настоятельно рекомендую использовать System.exit в производственных выпусках (Вы могли бы возможно хотеть пропустить его, чтобы некоторое тестирование обнаружило утечки).

Поток WebStart должен все быть демоном, когда нет никаких системных окон (консоль, javax.jnlp сервисы и другие диалоговые окна) показа.

1
ответ дан 5 December 2019 в 21:23
поделиться

Рассмотрите присоединение с jconsole и получите взгляд на то, что делает JVM.

0
ответ дан 5 December 2019 в 21:23
поделиться

Webstart запускает Консоль (Вы можете отключать это). Консоль используется для наблюдения stdout/err процесса webstart, а также элементарного журнала/отладки, но имеет побочный эффект созданных окно AWT/Swing верхнего уровня. Так как AWT/EDT только заканчивается, когда окно LAST расположено, консоль держит Ваше приложение. Необходимо, вероятно, назвать System.exit (), чтобы быть на 100% уверенными выходы приложения (если Вы не можете gurantee определенная клиентская конфигурация, webstart выключенная консоль),

0
ответ дан 5 December 2019 в 21:23
поделиться

Я испытываю ту же проблему с веб-запуском. Если я выключаю консоль Java, процесс не зависает. Какой-либо известный идентификатор ошибки от Sun?

0
ответ дан 5 December 2019 в 21:23
поделиться
Другие вопросы по тегам:

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