Обзор новостей 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/
Новости о 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/
InfoQ
Java News Roundup: JEPs for JDK 21, Spring Cloud AWS 3.0, OptaPlanner to Timefold
This week's Java roundup for May 1st, 2023, features news from OpenJDK, JDK 21, Spring Boot 3.1.0-RC2, Spring Modulith 0.6, Spring Cloud for 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…
Чем различаются 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 программ.
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 программ.
Принцип инверсии зависимости гласит: "Код, реализующий высокоуровневую политику, не должен зависеть от кода, реализующего низкоуровневые детали. Напротив, детали должны зависеть от политики". В этом ролике автор постарался наглядно продемонстрировать применение этого принципа.
https://youtu.be/39xVftCfNhg
Please open Telegram to view this post
VIEW IN TELEGRAM
⚓️ Создание аннотации в Java
Аннотации — это конструкторы, позволяющие менять поведение поля, класса или функции, при этом не меняя сам код этих объектов.
В этом видео автор создал простую аннотацию для проверки правильности значений полей, но сначала объяснил, как они вообще работают.
https://youtu.be/7D4Wn0GndCA
Аннотации — это конструкторы, позволяющие менять поведение поля, класса или функции, при этом не меняя сам код этих объектов.
В этом видео автор создал простую аннотацию для проверки правильности значений полей, но сначала объяснил, как они вообще работают.
https://youtu.be/7D4Wn0GndCA
YouTube
Создание аннотации в java [Java Annotations | Reflection api]
Создаем собственные аннотации. Изучаем из чего состоит аннотация, для чего они нужны и как их обрабатывать. Николай Бунис, senior инженер, расскажет вам про основные составляющие аннотации, ее жизненный цикл и область применения. Используя Reflection Api…
В данном видео объясняется, что такое паттерн Iterator и интерфейс Iterable в языке программирования Java. На примерах показывается, для чего нужен Iterator и как его использовать. Рассматривается также вопрос удаления и вставки элементов в LinkedList за константное время.
https://youtu.be/LG-q2VBUSCw
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Об Iterator и Iterable c примерами.
В данном видео объясняется что такое паттерн Iterator и интерфейс Iterable в языке программирования Java. На примерах показывается для чего нужен Iterator и как его использовать. Рассматривается так же вопрос удаления и вставки элементов в LinkedList за константное…
Guava
Guava — это сборник множества библиотек от Google. Он включает в себя:
☕️ несколько новых типов коллекций, неизменяемые коллекции;
☕️ библиотеку, реализующую работу с графами;
☕️ работу с вводом\выводом, хешированием, кэшированием, строками и многим другим.
Например, часто в коде можно встретить повторяющиеся блоки, реализующие низкоуровневую конкатенацию строк (см. пример кода). Согласитесь, код с Guava выглядит лаконичнее, понятнее, а главное, выполняет эту операцию самым оптимальным образом.
На эту библиотеку определённо стоит обратить внимание как минимум по причинам. Во-первых, она разработана спецами из Google. Во-вторых, эти же спецы из Google сами её используют. Репозиторий с документацией и инструкцией к установке тут.
Guava — это сборник множества библиотек от Google. Он включает в себя:
☕️ несколько новых типов коллекций, неизменяемые коллекции;
☕️ библиотеку, реализующую работу с графами;
☕️ работу с вводом\выводом, хешированием, кэшированием, строками и многим другим.
Например, часто в коде можно встретить повторяющиеся блоки, реализующие низкоуровневую конкатенацию строк (см. пример кода). Согласитесь, код с Guava выглядит лаконичнее, понятнее, а главное, выполняет эту операцию самым оптимальным образом.
На эту библиотеку определённо стоит обратить внимание как минимум по причинам. Во-первых, она разработана спецами из Google. Во-вторых, эти же спецы из Google сами её используют. Репозиторий с документацией и инструкцией к установке тут.
☕️ Java Developer (junior)
Компания: SIBERS
Локация: Новосибирск, Бишкек
Требования:
- знание Java SE, Spring, Docker;
- знание SQL, Web Services;
- английский на уровне чтения документации и написания комментариев.
Будет плюсом:
- знание JavaScript, jQuery.
#офис #гибкийграфик
https://spb.hh.ru/vacancy/79979973
Компания: SIBERS
Локация: Новосибирск, Бишкек
Требования:
- знание Java SE, Spring, Docker;
- знание SQL, Web Services;
- английский на уровне чтения документации и написания комментариев.
Будет плюсом:
- знание JavaScript, jQuery.
#офис #гибкийграфик
https://spb.hh.ru/vacancy/79979973
Как вы называете временные папки?
Anonymous Poll
33%
Тест
28%
Новая папка (547623)
3%
0
14%
123
21%
Другое (напишу в комментариях)
#вопросы_с_собеседований
Можно ли считать Final переменную константой?
Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
Можно ли считать Final переменную константой?
Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
#дайджест игр для программистов
Собрали для вас бесплатные онлайн-игры для программистов, которые позволят в увлекательной форме укрепить знания JavaScript, Java, Python, PHP, C# и других языков.
🎮CodinGame
🎮CodeCombat
🎮Chekio
🎮Vim Adventures
🎮Robocode
🎮Codemonkey (для детей)
🎮Elevator Saga
Ставьте лайк, если понравилась подборка. Если соберем 100 лайков — выложим вторую часть игр.
Собрали для вас бесплатные онлайн-игры для программистов, которые позволят в увлекательной форме укрепить знания 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
В данном видео рассмотрен пример создания REST API с использованием следующих технологий:
- Spring Boot 3
- Spring Security (JWT)
- Spring WebFlux
- Spring Data R2DBC
- MapStruct
- PostgreSQL
- Flyway
https://youtu.be/gz4KzqmOlaw
YouTube
Создание REST API с использованием Spring WebFlux и Security
В данном видео рассмотрен пример создания REST API с использованием следующих технологий:
- Spring Boot 3
- Spring Security (JWT)
- Spring WebFlux
- Spring Data R2DBC
- MapStruct
- PostgreSQL
- Flyway
Ссылка на Github репозиторий:
https://github.…
- Spring Boot 3
- Spring Security (JWT)
- Spring WebFlux
- Spring Data R2DBC
- MapStruct
- PostgreSQL
- Flyway
Ссылка на Github репозиторий:
https://github.…
Собрали для вас несколько актуальных вакансий на удаленке.
☕️ 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 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
Сколько ошибок сегодня исправили?
Расскажите в комментариях ⬇️
Расскажите в комментариях ⬇️
#вопросы_с_собеседований
В чем проявляется «сортированность» SortedMap, кроме того, что toString() выводит все элементы по порядку?
Так же оно проявляется при итерации по коллекции.
В чем проявляется «сортированность» SortedMap, кроме того, что toString() выводит все элементы по порядку?
Так же оно проявляется при итерации по коллекции.