Библиотека джависта | 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
加入频道
С помощью ключевого слова super мы можем обратиться к любому члену родительского класса - методу или полю, если они не определены с модификатором private.
Прежде всего, в классе PrintWriter применен усовершенствованный способ работы с символами Unicode и другой механизм буферизации вывода: в классе PrintStream буфер вывода сбрасывался всякий раз, когда вызывался метод print() или println(), а при использовании класса PrintWriter существует возможность отказаться от автоматического сброса буферов, выполняя его явным образом при помощи метода flush().

Кроме того, методы класса PrintWriter никогда не создают исключений. Для проверки ошибок необходимо явно вызвать метод checkError().
В 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 (внедрение зависимости) - это набор паттернов и принципов разработки программного обеспечения, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.