Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,246

Загрузка заставки и ленивый загрузчик классов в свете совета от Хорстманна

25.08.2013, 12:25. Показов 2979. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот кусок из Core Java. Между прочим, revised and updated for Java SE 6 (8 издание).

At startup, the class containing your mainmethod is loaded. It loads all classes that it
needs. Each of those loaded classes loads the classes that it needs, and so on. That can
take a long time for a big application, frustrating the user. You can give users of your program the illusion of a faster start with the following trick. Make sure that the class containing
themainmethod does not explicitly refer to other classes. First display a splash screen. Then
manually force the loading of other classes by calling Class.forName.

Иными словами, сначала грузится main(). Он тянет все необходимые классы. Каждый класс загружает необходимые ему классы. Чтобы у пользователя сложилась иллюзия быстрого старта, надо делать что-то типа этого:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class FastSplasher {
    public static void main(String[] args) {
         SplashWindow.splash(Splasher.class.getResource("splash.gif"));
         SplashWindow.invokeMain("TheActualApplication", args);
         SplashWindow.disposeSplash();
     }
 }
 
public class SlowSplasher {
    public static void main(String[] args) {
         SplashWindow.splash(Splasher.class.getResource("splash.gif"));
         TheActualApplication.main(args);
         SplashWindow.disposeSplash();
     }
 }
Однако, загрузчики бывают ленивые (lazy) и усердные (eager).
Вот тут http://publib.boulder.ibm.com/infocenter/javasdk/v1r4m2/index.jsp?topic=/com.ibm.java.doc.diagnostics.142/html/eagerandlazy.html"]http://publib.boulder.ibm.com/infocenter/javasdk/v1r4m2/index.jsp?topic=/com.ibm.java.doc.diagnostics.142/html/eagerandlazy.html"]http://publib.boulder.ibm.com/infocenter/javasdk/v1r4m2/index.jsp?topic=/com.ibm.java.doc.diagnostics.142/html/eagerandlazy.html, что такое загрузчики lazy и eager.

Eager грузит все классы сразу - при загрузке. А lazy не грузит, а ждет, когда класс понадобится, и только тогда он его загрузит. Я про Oracle JDK что-то не нашел ничего, а вот про IBM - пожалуйста. Ну, я думаю, там принцип такой же.

Так вот, загрузчик у нас ленивый. Вот этот совет Хорстманна, в свете вышеизложенного вообще имеет ценность или это туфта, если классы все равно сразу не грузятся?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.08.2013, 12:25
Ответы с готовыми решениями:

Формат обмена данными в свете использования классов
Волнует такой момент: вот у меня некая система, которая построена на классах. На одной странице у меня есть обращение к классу и вывод...

Загрузка заставки-формы
Добрый день форумчане. Дано: 1) Создана форма-заставка, которая загружается перед основной программой и при окончании вызывает...

Загрузка ЦП 100% после заставки
Переустановил вин 7, все было хорошо. Но после простоя компьютера появляется черный экран (заставка) и вот тут начинаются проблемы....

30
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
26.08.2013, 14:56
Студворк — интернет-сервис помощи студентам
MbICJIuTeJIb_u3, Мирончик не мог ошибиться. Я смотрел его видео не раз(от начала и до конца) и ни разу не заметил ошибки.
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Вроде она там создал иерархию на +100500 классов и не переопределив абстрактные методы и пытаясь потом создать объект класса.
Тем запутал и себя и все остальных.
Есть такое видео у него. Не помню номер. Там он:
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
создал иерархию на +100500 классов
...абстрактных классов. Этот момент мне действительно очень понравилось. Очень круто. Но ниразу не видел чтобы он создавал объект абстрактного класса.
0
KeM6Pug}I{a
49 / 49 / 1
Регистрация: 23.08.2013
Сообщений: 202
26.08.2013, 15:07
Цитата Сообщение от animator404 Посмотреть сообщение
..абстрактных классов. Этот момент мне действительно очень понравилось. Очень круто. Но ниразу не видел чтобы он создавал объект абстрактного класса.
Я честно не помню видео какого года я смотрел ... вроде 2010, и там нечего крутого не было так как он не доделал до конца ,а что-то там уже не помню...
0
145 / 113 / 31
Регистрация: 12.06.2011
Сообщений: 1,246
26.08.2013, 15:13  [ТС]
MbICJIuTeJIb_u3, нет, я не буду думать о том, что можно создать экземпляр абстрактного класса.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
26.08.2013, 19:52
Цитата Сообщение от Kifsif Посмотреть сообщение
MbICJIuTeJIb_u3, нет, я не буду думать о том, что можно создать экземпляр абстрактного класса.
Тем более, что я объяснил, что именно я создал.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
26.08.2013, 22:24
Странные тут ребята, Мирончик потрудился и подготовил отличный курс, который вполне вправляет голову новичкам о архитектуре и JVM и EE в целом, но всегда находятся люди с "мнением" книгу не читал, но знаю что она отстой.
Я смотрел все курсы Мирончика (в том числе и по БД оракл) и хоть я всё что он говорил и в яве и в oracle давно уже знаю, мне было всё равно интересно послушать свежую точку зрения, пусть он даже и делал ошибки местами (кто из нас не делал багов?)
Вопрос не в том что он в мелочах ошибается, вопрос в том что у некоторых самоуверенных глупцов обнаруживших эти ошибки вызывают такое чувство гордости - как будто они сами в силах сделать хоть какой либо мало мальски полезный людям курс.
То же самое касается и Юры Ткача и других видео благотворителей.

Не по теме:

ps: тема не только об абстрактах, а вообще в целом о глупом отношении к курсу
такой же глупый выпендрёж постоянно присутствует и на quiz - фуле, там тоже полно школоты уличающей )))

0
KeM6Pug}I{a
49 / 49 / 1
Регистрация: 23.08.2013
Сообщений: 202
27.08.2013, 02:43
Цитата Сообщение от mutagen Посмотреть сообщение
Странные тут ребята, Мирончик потрудился и подготовил отличный курс, который вполне вправляет голову новичкам о архитектуре и JVM и EE в целом, но всегда находятся люди с "мнением" книгу не читал, но знаю что она отстой.
Я смотрел все курсы Мирончика (в том числе и по БД оракл) и хоть я всё что он говорил и в яве и в oracle давно уже знаю, мне было всё равно интересно послушать свежую точку зрения, пусть он даже и делал ошибки местами (кто из нас не делал багов?)
Вопрос не в том что он в мелочах ошибается, вопрос в том что у некоторых самоуверенных глупцов обнаруживших эти ошибки вызывают такое чувство гордости - как будто они сами в силах сделать хоть какой либо мало мальски полезный людям курс.
То же самое касается и Юры Ткача и других видео благотворителей.

Не по теме:

ps: тема не только об абстрактах, а вообще в целом о глупом отношении к курсу
такой же глупый выпендрёж постоянно присутствует и на quiz - фуле, там тоже полно школоты уличающей )))

Если вы намекаете на меня , то я где-то сказал что курс ПЛОХОЙ? Как то не так обозвал автора курса?Что-то ещё не так не сделал?

Не по теме:

Что ещё за гематогены тут...

0
 Аватар для Gibby
154 / 154 / 10
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
27.08.2013, 09:44
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Если вы намекаете на меня , то я где-то сказал что курс ПЛОХОЙ? Как то не так обозвал автора курса?Что-то ещё не так не сделал?
Ну, например вот здесь:
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Пытался посмотреть его , но потом увидел как он пытается создать объект Абстрактного класса (точно не помню но что то связано с Абстрактными классами) удалил видео )
Вы буквально говорите следующее: "Я увидел, как автор делает детскую ошибку (правда, потом я не смог объяснить ни где я это видел, ни в чем точно заключалась ошибка), значит автор некомпетентен, и значит нет смысла смотреть то, что он там наваял в виде каких-то там лекций"

Обвинение кого-то в некомпетентности - вещь сильная (если это, конечно, не форум юных анонимусов, где ни у кого нет никакой репутации или ответственности и можно крыть друг друга известно чем в каждой второй теме). Лично я в таких случаях не полагаюсь на память, а перепроверяю обоснованность подобного обвинения. А то может конфуз выйти вроде вашего.
1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
27.08.2013, 12:04
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
де-то сказал что курс ПЛОХОЙ? Как то не так обозвал автора курса?Что-то ещё не так не сделал?
не надо играть словами и включать "мопед не мой", мы все прекрасно понимаем что означает фраза - "начал смотреть, увидел ошибку - удалил видео"
Уже поздновато включать заднюю - мнение сложилось.
0
27.08.2013, 13:32

Не по теме:

Трололололо какой умный гематоген... Что у вас там сложилось мне как то наплевать, я нечего такого не говорил. А так это вы мастер "Я где-то такое говорил ???" это к гематогену относится

0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
27.08.2013, 15:12
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Трололололо какой умный гематоген... Что у вас там сложилось мне как то наплевать, я нечего такого не говорил. А так это вы мастер "Я где-то такое говорил ???" это к гематогену относится
К большому сожалению для Вас сложилось у всех, а не только у mutagen-а. И это "тролололололо" теперь очень долго будет определять отношение к Вашим вопросам и комментариям.
0
 Аватар для animator404
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
27.08.2013, 16:41
Цитата Сообщение от MbICJIuTeJIb_u3 Посмотреть сообщение
Пользователь получил красную карточку за это сообщение.
так и знал что этим закончится
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.08.2013, 16:41

Загрузка не идёт дальше заставки материнской платы
Вчера выключил компьютер, всё было нормально. Сегодня включаю, всё как обычно, только при появленит заставки материнской платы он...

ASUS N53S Светиться питание и диоды клавиш,но не идет загрузка дальше. Прошу совета специалистов
Здравствуйте,прошу помощи, с ноутбуками я на ты, но тут такая ситуация, что не знаю что делать Краткая предыстория - Заказал себе...

ошибки в учебнике Хорстманна
Помогите разобраться в коде, давно сижу не могу разобраться. На выходе пишет "name=null, salary=0.0, hireDay=null" а должны быть...

После установки драйвера на видео GeForse 7600 GS и перезагрузки компа, после заставки "загрузка Виндоуз" пропадает изображение
Доброго времени суток! Посоветуйте что делать. Проблема такая: переустановил Винду с.п.2. После установки драйвера на видео GeForse 7600...

Посоветуйте, как читать Хорстманна
Читаю-читаю. Тут восхищаюсь понятно поданным материалом, а тут понять не могу. Поделитесь, пожалуйста, своим опытом. Мне кажется, понять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru