Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Время жизни апплета 
:(
    Опции темы
sergejzr
Дата 14.10.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



приветы!
Собственно вопрос, сколько может "жить" апплет? Можно ли создать апплет, который будет грузится один раз и который можно после этого использовать на других страничках?


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
batigoal
Дата 14.10.2007, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 3
Всего: 151



По моему небольшому опыту, браузеры обычно жестоко кешируют апплеты. Не сборисив кеш, даже новую версию не подобрать.
Но о расшаривании апплета между страницами - я такого не встречал.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
sergejzr
Дата 14.10.2007, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Я вот как раз думаю, что если в апплете статическая переменная... У меня просто аплетище больно тяжёлый и всё для того, чтобы создать малёхонький обьект. А использовать его потом надо во время всего браузинга по разным страницам. Интересно так же, это надо будет делать ThreadSafe или нет...


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
batigoal
Дата 14.10.2007, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 3
Всего: 151



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


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Alexandr87
Дата 15.10.2007, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 5
Всего: 39



Насчет использования на других страничках - видел следующую схему.
Создавался невидимый фрейм, куда и помещался апплет. Подходит для апплетов, которые реализуют логику и не имеют gui.
PM Jabber   Вверх
COVD
Дата 15.10.2007, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 1
Всего: 43



Цитата

Собственно вопрос, сколько может "жить" апплет? Можно ли создать апплет, который будет грузится один раз и который можно после этого использовать на других страничках?


Апплет должен умирать при закрытии страницы. Но виртуальная машина жива пока хотя бы одно окно браузера открыто. Следовательно, загруженные классы могут остаться в памяти. А следовательно, и статические переменные тоже. При открытии новой страницы, где описан тот же апплет, что и на закрытой, будет создан новый инстанс апплета. Если классы уже загружены, то они могут быть использованы и значения статических переменных, определенные в закрытом апплете, будут доступны в новом инстансе. По этой причине использовать статические переменные обычно не рекомендуется. 

В разных браузерах могут быть нюансы. 

Это сообщение отредактировал(а) COVD - 15.10.2007, 16:36
PM MAIL   Вверх
LSD
Дата 15.10.2007, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Alexandr87 @  15.10.2007,  13:15 Найти цитируемый пост)
Насчет использования на других страничках - видел следующую схему.
Создавался невидимый фрейм, куда и помещался апплет. Подходит для апплетов, которые реализуют логику и не имеют gui. 

Мы используем такую схему, глюков с ней выше крыши. Решили поместить в апплет логотип smile

Цитата(sergejzr @  14.10.2007,  21:10 Найти цитируемый пост)
Интересно так же, это надо будет делать ThreadSafe или нет... 

Если все обращения к этим переменным, будут из GUI, то нет. Т.к. dispatch thread всегда один.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Alexandr87
Дата 16.10.2007, 04:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 5
Всего: 39



Цитата(LSD @  15.10.2007,  20:31 Найти цитируемый пост)
Мы используем такую схему, глюков с ней выше крыши.

можно поподробней, а то иногда приходится с ней работать.
PM Jabber   Вверх
LSD
Дата 16.10.2007, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



У апплета не всегда вызывается stop/destroy методы, когда они буду вызваны, а когда нет совершено не понятно. И была ошибка в dispatch thread - java.lang.IllegalArgumentException: null source (еще до запуска апплета).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
COVD
Дата 20.10.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 1
Всего: 43



Цитата

У апплета не всегда вызывается stop/destroy методы 



Когда закрывается окно браузера с апплетом, но остаются открытыми другие окна браузера, то закрытие апплета происходит достаточно четко. Виртуальная машина в этом случае не закрывается и успевает отработать все что ей предписано в методах stop или destroy.

Если же закрываемое окно с апплетом является последним, то браузер также останавливает и саму java виртуальную машину. 
В этом случае, похоже, виртуальная машина не всегда успевает выполнить методы stop, destroy должным образом. Например, если апплет в методе stop шлет сообщение на сервер о том, что он отсоединяется, то не всегда сервер это сообщение получает. 

В webstart нет браузера, и, следовательно, нет препятствий виртуальной машине делать все должным образом. 
PM MAIL   Вверх
LSD
Дата 22.10.2007, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(COVD @  20.10.2007,  19:16 Найти цитируемый пост)
Если же закрываемое окно с апплетом является последним, то браузер также останавливает и саму java виртуальную машину. 
В этом случае, похоже, виртуальная машина не всегда успевает выполнить методы stop, destroy должным образом. Например, если апплет в методе stop шлет сообщение на сервер о том, что он отсоединяется, то не всегда сервер это сообщение получает. 

1. Я конечно не пробовал, но уверен, что shutdown hook в данном случае отработает как надо.
2. На перезагрузку страницы и переходы между страницами это не влияет.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0986 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.