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

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

Для обратной связи: @proglibrary_feeedback_bot

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
🪜 Как программисту попросить о повышении зарплаты и что говорить
Иногда бывает так: работаешь за всех, а зарплату не повышают. Тогда нужно брать инициативу в свои руки и поговорить с руководством тет-а-тет. Но как правильно это сделать и выйти победителем? Постараемся разобраться.

🔗 Основной сайт
🔗 Зеркало
Что такое абстрактный метод в языке Java?

Абстрактный метод – это метод без тела. Вы просто объявляете метод, не определяя его, с использованием ключевого слова abstract в объявлении метода. Все объявленные внутри интерфейса в языке Java методы – по умолчанию абстрактные. Пример абстрактного метода в языке Java представлен на картинке.

Теперь для реализации этого метода необходимо расширить абстрактный класс и этот метод переопределить.
Что такое Map.of()?

Map.of() — это метод, представленный в Java 9, который позволяет разработчикам создавать неизменяемый Map, содержащий до десяти пар ключ-значение. Он обеспечивает удобный и лаконичный способ создания Map без необходимости написания большого количества кода.

Map.of() является улучшением по сравнению с предыдущим способом создания небольших Map с использованием конструктора класса HashMap, который может быть довольно громоздким и многословным.
#вопросы_с_собеседований
Что выведет код сверху?

Ответ:
Программа не выдаст ошибки компиляции. Поскольку a больше 20, а b больше 25, будет выведена 1. Второй оператор if не будет истинным, так как a не больше 30, поэтому будет выполнен блок else, который выведет 3. Таким образом, на выходе будет 1, а затем 3. Обратите пристальное внимание на операторы if и else if. Если бы вместо второго оператора if был оператор else if, то на выходе была бы только 1.
#код
🤖 Нейронки кодят за вас: 28 AI-сервисов в помощь разработчику

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

🔗 Основной сайт
🔗 Зеркало
Получаем наиболее распространенный элемент в списке

Сделать это можно с помощью следующего фрагмента кода, подробнее о котором можно почитать здесь.
#код
Перечислите примитивные типы данных в Java.

• byte — целые числа в пределах -128 до 127, весит 1 байт;
• short — целые числа в пределах -32768 до 32767, весит 2 байта;
• int — целые числа -2147483648 до 2147483647, весит 4 байта;
• long — целые числа в пределах 9223372036854775808 до 9223372036854775807, весит 8 байтов;
• float — числа с плавающей запятой в пределах -3.4E+38 до 3.4E+38, весит 4 байта;
• double — числа с плавающей запятой в пределах -1.7E+308 до 1.7E+308, весит 8 байтов;
• char — одиночные символы в UTF-16, весит 2 байта;
• boolean значения true/false, весит 1 байт.
#вопросы_с_собеседований
6 типичных ошибок, которые допускают программисты при составлении резюме

Рассказываем, что не так с резюме большинства программистов и как сделать так, чтобы работодатель обратил на вас внимание.

🔗 Основной сайт
🔗 Зеркало
LWJGL (Lightweight Java Game Library) — кроссплатформенная игровая библиотека с доступом к возможностям OpenGL, OpenAL и OpenCL. Библиотека позволяет управлять графикой, звуком, игровыми контроллерами разного типа.

Целью создания LWJGL был выход «за флажки» Java-платформы — работа с ресурсами, обычно недоступными джавистам. Библиотека используется в игровых Java-движках и фреймворках, таких как jPCT 3D для Android, LibGDX, Ardor3D.

https://www.lwjgl.org/
Сколько компаний успели поменять за свой рабочий стаж программистом?
Расскажите в комментариях ⬇️
Метод ensureCapacity

Увеличивает размер внутреннего массива, чтобы в него поместилось количество элементов, переданных в minCapacity. Если массив достаточно вместителен, никакие преобразования не производятся.

Этот метод полезен, когда возникает потребность вместить большое количество элементов в несколько итераций. Например, при создании списка емкость его внутреннего массива — 10. При загрузке данных по сети они обрабатываются асинхронно порциями и результаты помещаются в массив. Если ожидается доставка 10 000 элементов, может быть неэффективно просто добавлять эти данные каждый раз: достаточно будет в начале обработки вызвать метод ensureCapacity(10000) и записывать туда данные по мере необходимости.
#код
Извлекаем имя из адреса электронной почты

Метод extractNameFromEmail принимает строку с адресом электронной почты и возвращает подстроку до символа "@" (если символ "@" присутствует в строке) в качестве имени.
#код
Что такое «поток-демон» (daemon thread)?

Потоками-демонами называются потоки, работающие в фоновом режиме для нашей программы.

В Java процесс завершается тогда, когда завершается последний его поток. Даже если метод main() уже завершился, но еще выполняются порожденные им потоки, система будет ждать их завершения.
Однако это правило не относится к особому виду потоков — демонам. Если завершился последний обычный поток процесса, и остались только потоки-демоны, то они будут принудительно завершены и выполнение процесса закончится. Чаще всего потоки-демоны используются для выполнения фоновых задач, обслуживающих процесс в течение его жизни.
#вопросы_с_собеседований
Бинарный поиск в массивах

Допустим, мы хотим вставить новый элемент в отсортированную таблицу. Arrays.binarySearch() возвращает индекс ключа поиска, если он содержится в таблице. В противном случае она возвращает точку вставки, которую мы можем использовать для подсчета индекса для нового ключа: -(insertion point)-1. Более того, метод binarySearch является самым простым и эффективным методом поиска элемента в отсортированном массиве в Java.

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