Библиотека джависта | 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
加入频道
Тест: насколько хорошо вы знаете Git?

Независимо от того, новичок вы или опытный пользователь, этот тест проверит ваши знания фундаментальных концепций и передовых методов Git.

🔗 Основной сайт
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
Краткая шпаргалка по паттернам проектирования
#вопросы_с_собеседований
Java передает аргументы по значению или по ссылке?

Java всегда передает аргументы по значению (pass-by-value). Тем не менее, когда мы передаем значение объекта, мы передаем ссылку на него, потому что переменные хранят ссылку на объект, а не сам объект. Но это не передача по ссылке (pass-by-reference). Такое положение дел может быть не совсем понятно новичкам.
План подготовки к собеседованию на позицию Java разработчика

Каждый раз, готовясь к собеседованиям на позицию «Java разработчик», я понимаю, что мне бы очень помог конкретный план подготовки. Поэтому все свои записи, накопившиеся в ходе прохождения собеседований, было решено структурировать и опубликовать. Надеюсь, кому-то этот план будет полезен.

Смотреть статью
Небольшая задачка

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

Решение на картинке.
Метод Collections.shuffle

Метод shuffle() случайным образом перемешивает все элементы переданного списка.
Построение графиков в Java

Данный видеоролик познакомит вас с основами построения графиков на языке Java

Смотреть видео
#вопросы_с_собеседований
Что произойдет с объектом Exception после обработки исключения?

Объект-исключение будет удален при следующей сборке мусора.
#вопросы_с_собеседований
Каковы ограничения для полей и методов интерфейса?

Интерфейс может объявлять поля, но они неявно объявляются как public, static и final, даже если вы не указываете эти модификаторы. Следовательно, вы не можете явно определить поле интерфейса как приватное. По сути, интерфейс может иметь только поля-константы, а не поля-экземпляры.

Все методы интерфейса также неявно объявлены public. Они также могут быть (неявно) abstract или default.
Зачем нужны профили в Spring?

При разработке приложений мы обычно имеем дело с несколькими средами, такими как Dev, QA и Prod. Свойства конфигурации для этих сред отличаются.

Например, мы можем использовать встроенную базу данных H2 для Dev, но Prod может использовать проприетарную базу данных Oracle или DB2. Даже если СУБД одинакова во всех средах, URL-адреса определенно будут разными.

Чтобы сделать это простым и понятным, Spring предоставляет профили, помогающие разделить конфигурацию для каждой среды.Таким образом, вместо того, чтобы поддерживать это программно, свойства можно хранить в отдельных файлах, таких как application-dev.properties и application-prod.properties. По умолчанию application.properties указывает на текущий активный профиль с помощью spring.profiles.active, чтобы подобрать правильную конфигурацию.

Больше узнать о профилях в Spring можно по ссылке: https://www.baeldung.com/spring-profiles
Сжатие указателей в Java

В статье речь пойдет о реализации сжатия указателей в Java Virtual Machine 64-bit, которое контролируется опцией UseCompressedOops и включено по-умолчанию для 64 битных систем начиная с Java SE 6u23.

Смотреть статью
GraphQL: сложность запросов

Всем привет! Меня зовут Олег Негрозов, я бэкенд-разработчик из команды Talantix. В мире GraphQL есть один минус, который одновременно является и плюсом — пользователь ограничен лишь описанной схемой. Он может попросить у сервера все данные, доступные ему, или написать такой сложный запрос, который будет выполняться целую вечность. О том, как защититься от этого и ограничить свои API, я расскажу в сегодняшней статье.

https://habr.com/ru/companies/hh/articles/705512/
👩‍💻 Java. Представление отрицательных чисел. Преобразование цветной фотографии в черно-белую.

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

https://youtu.be/WG0mS-o1zSA
Please open Telegram to view this post
VIEW IN TELEGRAM
#вопросы_с_собеседований
Как получить коллекцию только для чтения?

При помощи:
Collections.unmodifiableList(list);
Collections.unmodifiableSet(set);
Collections.unmodifiableMap(map).
Эти методы принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.
#вопросы_с_собеседований
Напишите однопоточную программу, которая заставляет коллекцию выбросить ConcurrentModificationException.

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