![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
приветы!
Собственно вопрос, сколько может "жить" апплет? Можно ли создать апплет, который будет грузится один раз и который можно после этого использовать на других страничках? |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 3 Всего: 151 |
По моему небольшому опыту, браузеры обычно жестоко кешируют апплеты. Не сборисив кеш, даже новую версию не подобрать.
Но о расшаривании апплета между страницами - я такого не встречал. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
Я вот как раз думаю, что если в апплете статическая переменная... У меня просто аплетище больно тяжёлый и всё для того, чтобы создать малёхонький обьект. А использовать его потом надо во время всего браузинга по разным страницам. Интересно так же, это надо будет делать ThreadSafe или нет...
|
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 3 Всего: 151 |
Теориетически, ничто не мешает пользователю убить процесс виртуальной машины при переходе со страницы на страницу. Так что я не стал бы полагаться на статические поля.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 5 Всего: 39 |
Насчет использования на других страничках - видел следующую схему.
Создавался невидимый фрейм, куда и помещался апплет. Подходит для апплетов, которые реализуют логику и не имеют gui. |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 1 Всего: 43 |
Апплет должен умирать при закрытии страницы. Но виртуальная машина жива пока хотя бы одно окно браузера открыто. Следовательно, загруженные классы могут остаться в памяти. А следовательно, и статические переменные тоже. При открытии новой страницы, где описан тот же апплет, что и на закрытой, будет создан новый инстанс апплета. Если классы уже загружены, то они могут быть использованы и значения статических переменных, определенные в закрытом апплете, будут доступны в новом инстансе. По этой причине использовать статические переменные обычно не рекомендуется. В разных браузерах могут быть нюансы. Это сообщение отредактировал(а) COVD - 15.10.2007, 16:36 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Мы используем такую схему, глюков с ней выше крыши. Решили поместить в апплет логотип ![]() Если все обращения к этим переменным, будут из 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. |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 5 Всего: 39 |
||||
|
||||
LSD |
|
|||
![]() 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. |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 1 Всего: 43 |
Когда закрывается окно браузера с апплетом, но остаются открытыми другие окна браузера, то закрытие апплета происходит достаточно четко. Виртуальная машина в этом случае не закрывается и успевает отработать все что ей предписано в методах stop или destroy. Если же закрываемое окно с апплетом является последним, то браузер также останавливает и саму java виртуальную машину. В этом случае, похоже, виртуальная машина не всегда успевает выполнить методы stop, destroy должным образом. Например, если апплет в методе stop шлет сообщение на сервер о том, что он отсоединяется, то не всегда сервер это сообщение получает. В webstart нет браузера, и, следовательно, нет препятствий виртуальной машине делать все должным образом. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
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. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Апплеты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |