Библиотека джависта | 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
加入频道
#вопросы_с_собеседований
Что происходит, когда в потоке выбрасывается исключение?
☕️ Если исключение не поймано – поток «умирает» (переходит в состяние мёртв (dead)).
☕️ Если установлен обработчик непойманных исключений, то он возьмёт управление на себя. Thread.UncaughtExceptionHandler – интерфейс, определённый как вложенный интерфейс для других обработчиков, вызываемых, когда поток внезапно останавливается из-за непойманного исключения. В случае, если поток собирается остановиться из-за непойманного исключения, JVM проверяет его на наличие UncaughtExceptionHandler, используя Thread.getUncaughtExceptionHandler(), и если такой обработчик найдет, то вызовет у него метод uncaughtException(), передав этот поток и исключение в виде аргументов.
Hands-On Microservices with Kotlin (2018)
Автор: Juan Antonio Medina Iglesias
Количество страниц: 416

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

Скачать книгу
💻 30 лучших ноутбуков для программиста в 2020 году

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

https://proglib.io/sh/UxDQ6z0Iqa
#вопросы_с_собеседований
Дайте определение понятию «синхронизация».
Синхронизация - это процесс, который позволяет выполнять потоки параллельно.

В Java все объекты имеют одну блокировку, благодаря которой только один поток одновременно может получить доступ к критическому коду в объекте. Такая синхронизация помогает предотвратить повреждение состояния объекта. Если поток получил блокировку, ни один другой поток не может войти в синхронизированный код, пока блокировка не будет снята. Когда поток, владеющий блокировкой, выходит из синхронизированного кода, блокировка снимается. Теперь другой поток может получить блокировку объекта и выполнить синхронизированный код. Если поток пытается получить блокировку объекта, когда другой поток владеет блокировкой, поток переходит в состояние Блокировки до тех пор, пока блокировка не снимется.
#вопросы_с_собеседований
Каким образом можно получить синхронизированные объекты стандартных коллекций?
С помощью статических методов synchronizedMap() и synchronizedList() класса Collections. Данные методы возвращают синхронизированный декоратор переданной коллекции. При этом все равно в случае обхода по коллекции требуется ручная синхронизация.

Map m = Collections.synchronizedMap(new HashMap());
List l = Collections.synchronizedList(new ArrayList());

Начиная с Java 6 JCF был расширен специальными коллекциями, поддерживающими многопоточный доступ, такими как CopyOnWriteArrayList и ConcurrentHashMap.
18 ноября в 18:30 пройдет онлайн-митап для студентов и недавних выпускников – Deutsche Bank Junior IT Meetup.

Хотите подготовиться к старту карьеры на стыке IT и финансов?

Подключайтесь к трансляции и вы узнаете:
— какая профессия подойдет вам и как сделать первые шаги на пути к успешной карьере,
— как пройти отбор на программу для выпускников или летнюю стажировку в Технологическом Центре Дойче Банка: что нужно знать перед тестированием и интервью,
— с какими задачами сталкиваются начинающие разработчики и тестировщики в Технологическом Центре.

Регистрируйтесь на мероприятие на TimePad, чтобы получить ссылку на трансляцию: https://deutschebanktech.timepad.ru/event/1472760
Наиболее используемые методы класса File:

☕️ boolean createNewFile(): делает попытку создать новый файл;
☕️ boolean delete(): делает попытку удалить каталог или файл;
☕️ boolean mkdir(): делает попытку создать новый каталог;
☕️ boolean renameTo(File dest): делает попытку переименовать файл или каталог;
☕️ boolean exists(): проверяет, существует ли файл или каталог;
☕️ String getAbsolutePath(): возвращает абсолютный путь для пути, переданного в конструктор объекта;
☕️ String getName(): возвращает краткое имя файла или каталога;
☕️ String getParent(): возвращает имя родительского каталога;
☕️ boolean isDirectory(): возвращает значение true, если по указанному пути располагается каталог;
☕️ boolean isFile(): возвращает значение true, если по указанному пути находится файл;
☕️ boolean isHidden(): возвращает значение true, если каталог или файл являются скрытыми;
☕️ long length(): возвращает размер файла в байтах;
☕️ long lastModified(): возвращает время последнего изменения файла или каталога;
☕️ String[] list(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге;
☕️ File[] listFiles(): возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге.
AGIMA (крупнейший интегратор digital‑решений) ищет классного Technical Lead (Java)

https://www.agima.ru/
Мы создаем веб-сервисы и мобильные приложения для бизнеса на основе данных и здравого смысла.

Уровень: senior
Основные требования:
— Опыт: java разработчик от 5 лет и 1 год опыт тимлида
— Java, Spring boot, mongo
— Опыт работы с Magnolia CMS (будет большим плюсом)
— Приветствуется опыт работы с другими CMS
— Git + gitlab, Jira, confluence

Описание проекта: интернет-магазин цифровой/бытовой техники и электроники

Задачи: Нужно будет не только лидить команду, но и решать некоторые архитектурные вопросы. Также предстоит решать разные задачи, связанные с хранением и управлением контента для интернет-магазина, с интеграциями со сторонними системами.

Условия:
— Возможность сосредоточиться над задачами одного продукта;
— Сформированная команда крутых специалистов;
— Удалённая работа, оформление по ГПХ (договор гражданско-правового характера), ИП или как самозанятый.
— ЗП от 250 000 рублей

Контакты: [email protected] @jgribova
☕️ ☁️ 👍 Начало работы с IntelliJ IDEA и распределенным SQL

Всерьез задумались о переносе инфраструктуры в облако? Тогда этот материал придется вам кстати. Попробуем разбираться, что это такое и с чем его едят.

https://proglib.io/sh/NZOYcsKetL
Surviving the Whiteboard Interview (2019)
Автор: William Gant
Количество страниц: 136

Whiteboard-этап интервью может показаться большой проблемой для начинающих разработчиков. Опытные разработчики могут взять себя в руки и справиться с возрастающим напряжением, но как быть тем, кто собеседуется на позицию Junior'а? Автор книги использует свои реальные знания и опыт, чтобы помочь вам преодолеть психологические препятствия, связанные с интервью, а также предлагает образцы задач. При наличии достаточной подготовки и уверенности в себе вы сможете пройти whiteboard-собеседование в любой организации. Автор также дает общие советы по прохождению собеседования, например, рассказывает, как произвести наилучшее впечатление на интервьюера.

Скачать книгу
#вопросы_с_собеседований
В каких пакетах расположены классы потоков ввода/вывода?
java .io, java .nio. Для работы с потоками компрессированных данных используются классы из пакета java .util .zip
#вопросы_с_собеседований
Как получить доступ к переопределенным методам родительского класса?
С помощью ключевого слова super мы можем обратиться к любому члену родительского класса - методу или полю, если они не определены с модификатором private.

super.method();
☕️ Топ 10 фреймворков тестирования для Java в 2020 году

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

https://proglib.io/sh/S0BPeYg4rt
19–21 ноября в 19.00 по МСК пройди трёхдневное обучение от разработчика с 15-летним опытом Даниила Пилипенко!

Бесплатный доступ по ссылке: 👉 https://clc.to/qkf6vA.

Что дадут 3 дня обучения:

📌 познакомишься с синтаксисом языка Java;

📌 научишься работать с файлами, создавать потоки, подключать внешние библиотеки;

📌 разработаешь приложение, которое записывает звук с микрофона компьютера и отправляет записи в Dropbox;

📌 попробуешь написать код и обучишься вносить в него изменения.


🎁 Авторы трёх лучших проектов получат сертификаты на 30 000 рублей для поступления на любой онлайн-курс университета Skillbox.

🎁🎁🎁 Все участники, дошедшие до конца, — электронную книгу Кей Петерсон и Дэвида Колба «Век живи — век учись» от издательства «МИФ».