Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
#вопросы_с_собеседований
Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.

☕️Существуют статические и нестатические блоки инициализации.
☕️Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
☕️Несколько блоков инициализации выполняются в порядке следования в коде класса.
☕️Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
#вопросы_с_собеседований
Какое исключение выбрасывается при возникновении ошибки в блоке инициализации класса?
Если возникшее исключение - наследник RuntimeException:

☕️ для статических блоков инициализации будет выброшено java.lang.ExceptionInInitializerError;
☕️ для нестатических будет проброшено исключение-источник.

Если возникшее исключение - наследник Error, то в обоих случаях будет выброшено java.lang.Error. Исключение: java.lang.ThreadDeath - смерть потока. В этом случае никакое исключение выброшено не будет.
Научись программировать на самом востребованном языке в сфере IT и стань Java-разработчиком.

Чем интересна именно эта профессия? Повторимся, что Java — самый востребованный язык, работать с ним несложно и интересно, заработок немаленький, и еще один большой плюс — можно работать удаленно из любой точки мира. Круто, да?

📌 Тогда забирай курс «Профессия Java-разработчик»
📌 Все подробности по ссылке: https://clc.to/PzMf0w

Что тебя ждет:
✔️ интересная и продуманная программа курса;
✔️ решение бизнес-задач компании;
✔️ много часов практики;
✔️ доступ к этому курсу на веки-вечные (ну а вдруг ты что-то забудешь);
✔️ Бесплатные 2 месяца английского языка в EnglishDom

И самое главное, после обучения Skillbox гарантирует трудоустройство в IT-компанию!
#вопросы_с_собеседований
Какое влияние оказывают на сериализуемость модификаторы полей static и final?
При стандартной сериализации поля, имеющие модификатор static, не сериализуются. Соответственно, после десериализации это поле значения не меняет. При использовании реализации Externalizable сериализовать и десериализовать статическое поле можно, но не рекомендуется этого делать, т.к. это может сопровождаться трудноуловимыми ошибками.

Поля с модификатором final сериализуются как и обычные, за одним исключением – их невозможно десериализовать при использовании Externalizable, поскольку final поля должны быть инициализированы в конструкторе, а после этого в readExternal() изменить значение этого поля будет невозможно. Соответственно, если необходимо сериализовать объект с final полем, необходимо использовать только стандартную сериализацию.
Внимание-внимание! Если ты крутой IT-спец или мечтаешь им стать, обязательно участвуй в Онлайн-Чемпионате проекта «Цифровой Прорыв» 2020! 💥

Регистрируйся: https://leadersofdigital.ru

С 25 июня по 25 июля в режиме онлайн состоится индивидуальный чемпионат, где участников ждут задачи по Big Data, Machine Learning, Data science и AI, а также уникальная возможность попасть на финал конкурса «Цифровой Прорыв»! 😎

Участие бесплатное, а призовой фонд чемпионата составляет 2.000.000 рублей! 🏆

Регистрируйся уже сейчас по ссылке: https://leadersofdigital.ru/

Покажи, что ты умеешь, и стань частью цифрового будущего!
Java Performance (2020)
Автор: Scott Oaks

Кодинг и тестирование обычно рассматриваются как отдельные области. В этой практической книге эксперт по Java Скотт Оукс придерживается подхода, согласно которому любой, кто работает с Java, должен понимать, как работает код в виртуальной машине, включая настройки, которые могут повысить производительность. Данное обновленное второе издание поможет вам получить глубокие знания о производительности приложений Java, используя как JVM, так и платформу Java.

Скачать книгу
#вопросы_с_собеседований
Расскажите про основные понятия ООП: «класс», «объект», «интерфейс».
Класс – это способ описания сущности, определяющий состояние и поведение, зависящее от этого состояния, а также правила для взаимодействия с данной сущностью (контракт).

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

С точки зрения структуры программы класс является сложным типом данных.

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

Интерфейс – это набор методов класса, доступных для использования. Интерфейсом класса будет являться набор всех его публичных методов в совокупности с набором публичных атрибутов. По сути, интерфейс специфицирует класс, чётко определяя все возможные действия над ним.
Интерфейс FileFilter применяется для проверки, попадает ли объект File под некоторое условие. Этот интерфейс содержит единственный метод boolean accept(File pathName). Этот метод необходимо переопределить и реализовать. Пример прикреплен.