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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы

Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека шарписта
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника

💼Каналы с вакансиями

Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Метод Character.toString()

Метод Character.toString() используется для преобразования символа (char) в строку (String).

Метод принадлежит классу Character и полезен, когда нужно конвертировать символ в строку для вывода или конкатенации.
#код
Все о нестатических блоках инициализации в Java

Статья о возможножности инициализировать поля во время создания объекта с помощью нестатических блоков инициализации.

Читать статью
👍7
Метод doPost()

Метод doPost() является одним из методов, используемых для обработки HTTP запросов в Java сервлетах. Сервлеты представляют собой Java классы, которые выполняют обработку HTTP запросов и генерацию HTTP ответов. doPost() используется для обработки HTTP POST запросов от клиентов.

Чтобы связать этот сервлет с определенным URL, вы должны настроить маппинг в файле web.xml вашего веб-приложения или с использованием аннотаций (если ваша версия сервлетов поддерживает аннотации).
#код
👍9
Очередной #дайджест по Java:

Ускоряем java-рефлексию в 2023
Улучшенная статья про рефлексию: когда машина «выходит наружу», копается в своих внутренностях и «возвращается обратно», доставляя пользователю полученную информацию или вызывая методы/конструкторы.

Релиз Jmix 2.0 — новой версии платформы для быстрой разработки бизнес-приложений на Java
Выпуск Jmix 2.0 — важная веха в развитии платформы. В первую очередь разработчики провели глобальное обновление технологического стека, что гарантирует актуальность в долгосрочной перспективе.

Компилирование «железного» бинарника Java-программы Google Closure Stylesheets с GraalVM
Автор рассказывает об улучшениях, которые добавил в свой форк.

Наука о данных с Python и Java: динамичный дуэт для современной аналитики
В постоянно развивающемся мире науки о данных два языка программирования выделяются как гиганты в своих областях: Python и Java. Python приобрел известность как лингва-франка науки о данных, предлагая множество библиотек и инструментов, предназначенных для анализа данных, машинного обучения и визуализации. Между тем Java, известная своей надежностью и масштабируемостью, находит свою нишу в создании высокопроизводительных, готовых к использованию конвейеров данных и приложений.
👍6
Когда вы последний раз использовали Copilot?
#интерактив
👩‍💻 Java. Распараллеливаем вычисления на пуле потоков.

Разбираемся, как можно по простому ускорить вычисления с помощью параллельного выполнения на пуле потоков.
👍7😁1
Что произойдет при вызове Iterator.next() без предварительного вызова Iterator.hasNext()?

Если итератор указывает на последний элемент коллекции, то возникнет исключение NoSuchElementException, иначе будет возвращен следующий элемент.
#вопросы_с_собеседований
👍20
Менеджеры компоновки

Менеджеры компоновки (Layout Manager) в Java используются для управления размещением компонентов в контейнерах, таких как JFrame, JPanel, или другие контейнеры Swing. Они обеспечивают автоматическое распределение компонентов в контейнере в соответствии с определенными правилами размещения.
#код
👍3
Что такое абстрактные классы и методы в Java

Абстрагирование — это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны.

Смотреть статью
👍113😁1
Как вы предпочитаете работать: дистанционно или в офисе?
#интерактив
Прямой обход дерева

Прямой обход дерева (pre-order traversal) — это один из способов обхода бинарного дерева. В этом способе сначала посещается корневой узел, затем левое поддерево и затем правое поддерево. Прямой обход широко используется для вывода структуры дерева и выполнения операций на каждом узле в нужном порядке.
#код
👍102
Очередной #дайджест по Java:

Высокие технологии или дешевые фокусы с двойным дном
Зачем мокать null?

Байки джависта
Автор делится мыслями, накопившимися за годы работы.

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

Параллельность в Java на практике
Статья для начинающих разработчиков.

Динамическое создание слушателей в Kafka
Эта статья обьясняет, как создать слушатель в Kafka на лету в процессе работы приложения.
👍9
Класс Java.io.OutputStream

Java.io.OutputStream — это абстрактный класс, который представляет поток вывода байтов.
Он является базовым классом для всех классов, которые представляют вывод информации в различные места назначения, такие как файл, сетевое соединение и т.д.

Основные подклассы OutputStream:
FileOutputStream, ByteArrayOutputStream, FilterOutputStream и др.

В результате работы кода из примера в файл file.txt будет записано:
Hello World!
#код
👍72
Аудит пользователей Spring Data JPA

Автор статьи написал автоматическое отслеживание пользователей, которые изменили сущность. Больше не нужно добавлять аннотации ко всем методам, которые вносят изменения в сущность, кроме того, нет необходимости по сервисному слою таскать сервис получения пользователя из контекста и «сетать» его в необходимые поля.

Читать статью
👍4🤔3
Метод equalsIgnoreCase()

Метод equalsIgnoreCase() используется для сравнения двух строк без учета регистра (заглавных и строчных букв).
Принимает в качестве аргумента вторую строку для сравнения, сравнивает две строки посимвольно после приведения их к одному регистру и возвращает boolean значение — true или false.

Работает намного быстрее, чем сравнение через toUpperCase/toLowerCase.
Полезен при сравнении пользовательских строк и лучше использовать его вместо ручного сравнения через equals.
#код
👍21
В чем разница между Iterator и Enumeration?

— Iterator появился в JDK 1.2 и реализует интерфейс Iterable, в то время как Enumeration существовал в более ранних версиях JDK и не реализует Iterable.

— Методы Iterator позволяют удалять элементы во время итерации, в то время как методы Enumeration не предоставляют такой возможности.

— Iterator является "fail-fast", то есть выбросит ConcurrentModificationException, если коллекция была изменена, а Enumeration не гарантирует такого поведения.

— Iterator поддерживает обобщенные типы, а Enumeration работает только с объектами типа Object.
#вопросы_с_собеседований
👍54🔥1
Double.compare()

Метод Double.compare() используется для сравнения двух значений типа double.

Он принимает два значения double и возвращает:

— отрицательное число, если первое значение меньше второго.
— ноль, если значения равны.
— положительное число, если первое значение больше второго.

В этом примере мы передаем Double.compare() как компаратор в метод sort() из класса Arrays.
Это позволяет корректно отсортировать массив с плавающей точкой по возрастанию.
#код
👍11
Перестаём бояться генерировать байт-код

Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом. Но JVM устроена гораздо проще, чем CPU; она оперирует такими высокоуровневыми понятиями как классы, интерфейсы, методы, а не просто лопатит байты в памяти.

Читать статью
👍10
Вложенные классы

Вложенные классы (nested classes) — это классы, определенные внутри другого класса. В Java есть два типа вложенных классов:

— Статические вложенные классы (static nested classes) — объявляются с модификатором static. Представляют собой обычные статические члены внешнего класса.
— Внутренние классы (inner classes) — объявляются без модификатора static. Связаны с экземпляром внешнего класса и имеют доступ к его членам.

Вложенные классы удобны для логической группировки классов и обеспечения инкапсуляции.

Как видно из примера, статический вложенный класс создается так же, как и обычный статический класс. А для создания экземпляра внутреннего класса сначала нужно создать экземпляр внешнего класса.
#код
👍104
Очередной #дайджест по Java:

FizzBuzz и искусство фильтрации: Stream API и предикаты
Проблема FizzBuzz — это классическая задача, которая часто встречается на собеседованиях для программистов.

Используем Neovim в качестве IDE для Java
Если вдруг захотите попробовать что-то кроме IntelliJ.

Пишем plugin для IDEA, используя External System API, на примере простой build системы
Статья о технических деталях реализации плагина.

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