Библиотека джависта | 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
加入频道
В Java все исключения делятся на два типа:

☕️ checked (контролируемые/проверяемые исключения) должны обрабатываться блоком catch или описываться в объявлении метода (например throws IOException). Наличие такого обработчика/модификатора проверяется на этапе компиляции;

☕️ unchecked (неконтролируемые/непроверяемые исключения), к которым относятся ошибки Error (например OutOfMemoryError), обрабатывать которые не рекомендуется и исключения времени выполнения, представленные классом RuntimeException и его наследниками (например NullPointerException), которые могут не обрабатываться блоком catch и не быть описанными в объявлении метода.
#вопросы_с_собеседований
Существуют ли ситуации, когда блок finally в try-catch не будет выполнен?
Например, когда JVM «умирает» - в такой ситуации finally недостижим и не будет выполнен, так как происходит принудительный системный выход из программы.
#вопросы_с_собеседований
Какое худшее время работы метода add() для ArrayList?
O(N). Вставка элемента в конец списка осуществляется за время O(1), но если вместимость массива недостаточна, то происходит создание нового массива с увеличенным размером и копирование всех элементов из старого массива в новый.
#вопросы_с_собеседований
Что такое класс Object? Какие в нем есть методы?
Object - это базовый класс для всех остальных объектов в Java. Любой класс наследуется от Object и, соответственно, наследуют его методы:

public boolean equals(Object obj) – служит для сравнения объектов по значению; int hashCode() – возвращает hash код для объекта; String toString() – возвращает строковое представление объекта; Class getClass() – возвращает класс объекта во время выполнения; protected Object clone() – создает и возвращает копию объекта; void notify() – возобновляет поток, ожидающий монитор; void notifyAll() – возобновляет все потоки, ожидающие монитор; void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
#вопросы_с_собеседований
Почему строка является популярным ключом в HashMap в Java?
Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.
Real-World Software Development (2019)
Авторы: Raoul-Gabriel Urma, Richard Warburton

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

Скачать книгу
Android Studio 4.0: новые инструменты работы с макетами, улучшенное профилирование и анализ билдов

Рассказываем, чем нас порадовала четвёртая версия Android Studio: редактор движения объектов, инспектор макетов, улучшенный CPU Profiler, интеллектуальный редактор и анализатор сборки.

https://proglib.io/w/94d35152
Вакансия: Разработчик Java (микросервисы)
По
договоренности | Полная занятость | Удаленно или в офисе (выбирает кандидат) | Россия

#Java #Микросервисы #Spring #Трудоустройство

Компания: EPAM, ведущий мировой поставщик услуг по разработке ПО и цифровых платформ.

👨‍🎓 Требования:
- Опыт работы в роли Java-разработчика от 3 лет;
- опыт разработки микросервисов и понимание особенностей микросервисной архитектуры обязателен;
- опыт использования Spring Framework (boot, mvc, data, security и др.);
- опыт работы с многопоточностью и асинхронностью;
- понимание процессов и методологий гибкой разработки ПО.

📌 Обязанности:
- Разработка приложений на Java и фреймворке Spring boot;
- разработка приложений в рамках микросервисной архитектуры;
- работа в тесном сотрудничестве со специалистами front-end разработки, тестирования и аналитиками;
- работа по гибким методологиям разработки.

➡️ Подробности - https://proglib.io/vacancies/razrabotchik-java-mikroservisy-epam-2020-06-08
Dependency Injection (внедрение зависимости) - это набор паттернов и принципов разработки программного обеспечения, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.
LinkedHashSet отличается от HashSet только тем, что в его основе лежит LinkedHashMap вместо HashMap. Благодаря этому порядок элементов при обходе коллекции является идентичным порядку добавления элементов (insertion-order). При добавлении элемента, который уже присутствует в LinkedHashSet (т.е. с одинаковым ключом), порядок обхода элементов не изменяется.
#вопросы_с_собеседований
Чем отличаются конструктор по умолчанию, конструктор копирования и конструктор с параметрами?
This media is not supported in your browser
VIEW IN TELEGRAM
Как построить надежное приложение на базе Event Sourcing

Рассказываем о проекте JoomAds, который помогает продвигать товары на маркетплейсе.

https://proglib.io/w/32e98317