Библиотека джависта | 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
加入频道
Кто-нибудь использует в разработке Github Copilot сейчас? Как он в сравнении с ChatGPT? Расскажите в комментариях :D
Что такое Instance Variable?

Instance Variable — переменная, которая определена внутри класса, и она существует вплоть до того момента, пока существует объект.

Пример — класс Bee, в котором есть две переменные nectarCapacity и maxNectarCapacity.
Обзор новостей Java: JEP для JDK 21, Spring Cloud AWS 3.0, OptaPlanner для Timefold

Новости о OpenJDK, JDK 21, Spring Boot 3.1.0-RC2, Spring Modulith 0.6, Spring Cloud для Amazon Web Services 3.0.0, Spring Cloud Data Flow 2.10.3, Spring Tools 4.18.2, Infinispan 14.0.9.Final , Open Liberty 23.0.0.4, Quarkus 3.0.2 и 2.16.7, Helidon 3.2.1, Apache Camel 4.0.0-M3.

https://www.infoq.com/news/2023/05/java-news-roundup-may01-2023/
Чем различаются JRE, JVM и JDK?

JVM
, Java Virtual Machine (Виртуальная машина Java) — основная часть среды времени исполнения Java (JRE). Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java. JVM может также использоваться для выполнения программ, написанных на других языках программирования.

JRE, Java Runtime Environment (Среда времени выполнения Java) - минимально-необходимая реализация виртуальной машины для исполнения Java-приложений. Состоит из JVM и стандартного набора библиотек классов Java.

JDK, Java Development Kit (Комплект разработки на Java) - JRE и набор инструментов разработчика приложений на языке Java, включающий в себя компилятор Java, стандартные библиотеки классов Java, примеры, документацию, различные утилиты.

Коротко: JDK - среда для разработки программ на Java, включающая в себя JRE - среду для обеспечения запуска Java программ, которая в свою очередь содержит JVM - интерпретатор кода Java программ.
👩‍💻 Принцип инверсии зависимости - SOLID в деталях

Принцип инверсии зависимости гласит: "Код, реализующий высокоуровневую политику, не должен зависеть от кода, реализующего низкоуровневые детали. Напротив, детали должны зависеть от политики". В этом ролике автор постарался наглядно продемонстрировать применение этого принципа.

https://youtu.be/39xVftCfNhg
Please open Telegram to view this post
VIEW IN TELEGRAM
⚓️ Создание аннотации в Java

Аннотации — это конструкторы, позволяющие менять поведение поля, класса или функции, при этом не меняя сам код этих объектов.

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

https://youtu.be/7D4Wn0GndCA
👩‍💻 Java. Об Iterator и Iterable c примерами.

В данном видео объясняется, что такое паттерн Iterator и интерфейс Iterable в языке программирования Java. На примерах показывается, для чего нужен Iterator и как его использовать. Рассматривается также вопрос удаления и вставки элементов в LinkedList за константное время.

https://youtu.be/LG-q2VBUSCw
Please open Telegram to view this post
VIEW IN TELEGRAM
Guava

Guava — это сборник множества библиотек от Google. Он включает в себя:

☕️ несколько новых типов коллекций, неизменяемые коллекции;
☕️ библиотеку, реализующую работу с графами;
☕️ работу с вводом\выводом, хешированием, кэшированием, строками и многим другим.

Например, часто в коде можно встретить повторяющиеся блоки, реализующие низкоуровневую конкатенацию строк (см. пример кода). Согласитесь, код с Guava выглядит лаконичнее, понятнее, а главное, выполняет эту операцию самым оптимальным образом.

На эту библиотеку определённо стоит обратить внимание как минимум по причинам. Во-первых, она разработана спецами из Google. Во-вторых, эти же спецы из Google сами её используют. Репозиторий с документацией и инструкцией к установке тут.
Выше приведён список контролируемых исключений (Checked Exceptions) в Java, определенных в java.lang.
☕️ Java Developer (junior)
Компания:
SIBERS
Локация: Новосибирск, Бишкек

Требования:
- знание Java SE, Spring, Docker;
- знание SQL, Web Services;
- английский на уровне чтения документации и написания комментариев.

Будет плюсом:
- знание JavaScript, jQuery.
#офис #гибкийграфик

https://spb.hh.ru/vacancy/79979973
#вопросы_с_собеседований
Можно ли считать Final переменную константой?

Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.

А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
#дайджест игр для программистов
Собрали для вас бесплатные онлайн-игры для программистов, которые позволят в увлекательной форме укрепить знания JavaScript, Java, Python, PHP, C# и других языков.

🎮CodinGame
🎮CodeCombat
🎮Chekio
🎮Vim Adventures
🎮Robocode
🎮Codemonkey (для детей)
🎮Elevator Saga

Ставьте лайк, если понравилась подборка. Если соберем 100 лайков — выложим вторую часть игр.
👩‍💻 Создание REST API с использованием Spring WebFlux и Security

В данном видео рассмотрен пример создания REST API с использованием следующих технологий:
- Spring Boot 3
- Spring Security (JWT)
- Spring WebFlux
- Spring Data R2DBC
- MapStruct
- PostgreSQL
- Flyway

https://youtu.be/gz4KzqmOlaw
Собрали для вас несколько актуальных вакансий на удаленке.

☕️ Java Team Lead в Московский Кредитный Банк
Требуется опыт управления командой разработчиков от 4-5 человек.

☕️ Senior / Team lead Java-разработчик в Иннотех
Требуется опыт организации разработки на средних проектах (3-7 разработчиков).

☕️ Senior Java Developer
Требуется опыт разработки на Java 3-6 лет.

☕️ Senior Java Developer в Cross Technologies
Требуется опыт разработки на Java 3-6 лет.

☕️ Java Team Lead в Сбер
Требуется опыт разработки на Java 3-6 лет.

#вакансии #senior
Как определить, содержит ли массив определенное значение в Java с помощью потоков?

Чтобы проверить, содержит ли массив значений int, double или long значение, используйте IntStream, DoubleStream или LongStream соответственно.
Сколько ошибок сегодня исправили?
Расскажите в комментариях ⬇️