В нём собраны вопросы, ответы и примеры по ключевым аспектам разработки на Java, включая основы языка, работу JVM, многопоточность, коллекции, паттерны проектирования и многое другое.
Репозиторий помогает структурировать знания, выявить слабые места и подготовиться к реальным интервью, предлагая подробные разъяснения и примеры кода.
▪ Подходит для всех: Независимо от уровня подготовки, будь вы начинающим или опытным специалистом, здесь можно найти полезную информацию для самообразования и повторения материала.
Этот репозиторий станет отличным помощником для тех, кто хочет уверенно пройти собеседование и закрепить свои знания по Java.
📌 Github
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍9🔥6
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3❤2
🎉🎉🎉 Релиз: Java 24
Сегодня вышел релиз Java 24 – очередная не-LTS версия с важными улучшениями в производительности, многопоточности и API.
Вот основные нововведения, вошедшие в состав новой версии:
✅ Примитивные типы в паттернах (JEP 488):
Позволяют использовать примитивные типы в конструкциях instanceof и switch. Теперь можно проводить проверки диапазонов и безопасное приведение типов без дополнительных проверок.
✅ Импорт модулей (JEP 494):
Улучшен механизм импорта модулей: при импорте агрегирующего модуля java.se автоматически подтягиваются классы из java.base, а импорт со звёздочкой теперь может перекрывать импорт модулей.
✅ Простые исходные файлы и instance‑main (JEP 495):
Теперь можно запускать Java-программы без явного объявления класса, а также использовать нестатический метод main(). Это упрощает написание скриптов и способствует более постепенному обучению языку.
✅ Гибкие тела конструкторов (JEP 492):
Разрешается выполнение инструкций до вызова super(), что позволяет проводить предварительную инициализацию и проверки до передачи управления родительскому конструктору.
Изменения в API:
✅ Stream Gatherers (JEP 485):
Новая точка расширения для Stream API, позволяющая создавать произвольные промежуточные операции (например, fold, scan, оконные операции) для более гибкой обработки данных.
✅ Class-File API (JEP 484):
Введено стандартное API для парсинга, генерации и трансформации class‑файлов, которое заменяет устаревшую библиотеку ASM и лучше соответствует современным требованиям Java.
Уведомления при использовании
✅ Unsafe (JEP 498):
При вызове методов доступа к памяти из sun.misc.Unsafe теперь выводятся предупреждения, что стимулирует переход на более безопасные альтернативы (например, VarHandle и MemorySegment).
✅ Подготовка к ограничению JNI (JEP 472):
При загрузке нативных библиотек через JNI теперь выводятся предупреждения. Разработчикам предлагается явно указывать разрешение на нативный доступ через командную строку (с помощью опций вроде --enable-native-access), что соответствует философии «Integrity by Default».
📌 Релиз: https://openjdk.org/projects/jdk/24
📌Java 24 Launch: https://www.youtube.com/watch?v=mk_2MIWxLI0
Сегодня вышел релиз Java 24 – очередная не-LTS версия с важными улучшениями в производительности, многопоточности и API.
Вот основные нововведения, вошедшие в состав новой версии:
Позволяют использовать примитивные типы в конструкциях instanceof и switch. Теперь можно проводить проверки диапазонов и безопасное приведение типов без дополнительных проверок.
Улучшен механизм импорта модулей: при импорте агрегирующего модуля java.se автоматически подтягиваются классы из java.base, а импорт со звёздочкой теперь может перекрывать импорт модулей.
Теперь можно запускать Java-программы без явного объявления класса, а также использовать нестатический метод main(). Это упрощает написание скриптов и способствует более постепенному обучению языку.
Разрешается выполнение инструкций до вызова super(), что позволяет проводить предварительную инициализацию и проверки до передачи управления родительскому конструктору.
Изменения в API:
Новая точка расширения для Stream API, позволяющая создавать произвольные промежуточные операции (например, fold, scan, оконные операции) для более гибкой обработки данных.
Введено стандартное API для парсинга, генерации и трансформации class‑файлов, которое заменяет устаревшую библиотеку ASM и лучше соответствует современным требованиям Java.
Уведомления при использовании
При вызове методов доступа к памяти из sun.misc.Unsafe теперь выводятся предупреждения, что стимулирует переход на более безопасные альтернативы (например, VarHandle и MemorySegment).
При загрузке нативных библиотек через JNI теперь выводятся предупреждения. Разработчикам предлагается явно указывать разрешение на нативный доступ через командную строку (с помощью опций вроде --enable-native-access), что соответствует философии «Integrity by Default».
📌 Релиз: https://openjdk.org/projects/jdk/24
📌Java 24 Launch: https://www.youtube.com/watch?v=mk_2MIWxLI0
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥4❤3
🚀 Вышел Kotlin 2.1.20 ! 🚀
В этом выпуске представлены новые мощные возможности и улучшения:
✨ Поддержка K2 для плагинов kapt и Lombok
🔗 Общие атомарные типы и улучшенные UUID в stdlib
⏱️ Новый нативный API отслеживания времени
⚡ Новые оптимизации инлайнинга в Kotlin/Native
🛠️ Улучшенная отладка для Kotlin/Wasm
📜 Новый DSL для замены плагина Gradle Application
📚 Улучшения в документации Kotlin
➡️ https://kotl.in/2-1-20
В этом выпуске представлены новые мощные возможности и улучшения:
✨ Поддержка K2 для плагинов kapt и Lombok
🔗 Общие атомарные типы и улучшенные UUID в stdlib
⏱️ Новый нативный API отслеживания времени
⚡ Новые оптимизации инлайнинга в Kotlin/Native
🛠️ Улучшенная отладка для Kotlin/Wasm
📜 Новый DSL для замены плагина Gradle Application
📚 Улучшения в документации Kotlin
➡️ https://kotl.in/2-1-20
👍12🔥2❤1😁1😢1
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3❤2
@android_its
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2👍1🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥3
Media is too big
VIEW IN TELEGRAM
Тестовые библиотеки Spring Boot (Testjars) 🔥
Привет, поклонники Spring! В этом выпуске мы рассмотрим новый проект Spring Boot Testjars, который значительно упрощает создание и повторное использование вспомогательных сервисов на базе Java, таких как микросервисы на основе Spring Boot или инфраструктурные компоненты, например, Spring Authorization Server.
📌 источник
@javatg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4❤2
Совет 💡
Обычно при сортировке в Spring Data мы указываем свойство, по которому хотим отсортировать, как строку. Однако существует класс
@javatg
Обычно при сортировке в Spring Data мы указываем свойство, по которому хотим отсортировать, как строку. Однако существует класс
TypedSort
, который дает нам возможность передавать функцию в качестве параметра для сортировки. Это повышает безопасность типов в нашем коде.@javatg
👍13🔥6🎉2❤1
Интенсив по очередям: Kafka & NATS
Асинхронное взаимодействие и очереди — невероятно широкая тема, и абсолютно обязательная к изучению всем, кто интересуется архитектурой. Разработчику важно понимать архитектурные особенности, сильные и слабые стороны компонент, на базе которых строится архитектура.
🌐 В программе курса:
▪️Асинхронное взаимодействие с помощью очередей: подходы, свойства, гарантии
▪️Какие бывают очереди, основные системы очередей, на какие свойства и требования смотреть при выборе
▪️Как конфигурировать и управлять системами очередей
▪️Архитектура Apache Kafka, streams, topics, конфигурации от минимального single instance до production grade кластера с отказоустойчивостью
▪️Архитектуры NATS, pub/sub, req/res, streaming, кластер, суперкластер, федерация, edge.
Всё в формате «живых» онлайн-сессий (лекции, брейнштормы, демо).
🥸 Кто мы: R&D-центр Devhands.io, наш канал (https://www.tg-me.com/rybakalexey). Автор курса — Владимир Перепелица, эксперт по большим проектам, очередям и Tarantool, Solution Architect в Exness, создатель S3 в VK Cloud, регулярный спикер и член ПК конференций Highload.
🗓 Старт курса 8 апреля. Изучить программу и записаться можно здесь.
Ждём вас!
Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxjWnNk
Асинхронное взаимодействие и очереди — невероятно широкая тема, и абсолютно обязательная к изучению всем, кто интересуется архитектурой. Разработчику важно понимать архитектурные особенности, сильные и слабые стороны компонент, на базе которых строится архитектура.
▪️Асинхронное взаимодействие с помощью очередей: подходы, свойства, гарантии
▪️Какие бывают очереди, основные системы очередей, на какие свойства и требования смотреть при выборе
▪️Как конфигурировать и управлять системами очередей
▪️Архитектура Apache Kafka, streams, topics, конфигурации от минимального single instance до production grade кластера с отказоустойчивостью
▪️Архитектуры NATS, pub/sub, req/res, streaming, кластер, суперкластер, федерация, edge.
Всё в формате «живых» онлайн-сессий (лекции, брейнштормы, демо).
Ждём вас!
Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxjWnNk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥3
Совет 💡
Добавьте в JDBC URL свойство
@javatg
Добавьте в JDBC URL свойство
ApplicationName
(зависит от БД, не в каждой БД оно есть!). Таким образом, в списке сессий вместо имени JDBC-драйвера будет отображаться имя набора. Это поможет при поиске неисправностей, когда несколько приложений подключаются к одной и той же БД.@javatg
👍14🔥3❤1
МОНОЛИТ ТРЕЩИТ ПО ШВАМ? ПОРА В МИКРОСЕРВИСЫ! 🚀🔥
Разберись в микросервисной архитектуре и стань востребованным специалистом!
📅 Старт 1 апреля | Только 30 мест
Если у вас:
🔴 Стоит задача распилить Монолит
🔴 Непонятно, как правильно дробить систему
🔴 Бизнес-логика размазана по сервисам
🔴 Сложности с коммуникацией между сервисами
🔴 Что то читали, но нет цельной картины в голове
На курсе разберетесь, как:
✅ Правильно дробить систему на микросервисы (Event Storming)
✅ Какие способы интеграции выбрать (HTTP или очереди?)
✅ Как переходить с монолита на микросервисы
✅ А так же мы разберем 15 популярных ошибок и как их решить.
🔹 Персональная обратная связь | 3 недели практики | Чат с экспертом | Разборы ДЗ в Zoom
👨🏫 Преподаватель – Кирилл Ветчинкин (проектировал микросервисы для Купер, BCS Broker и ряде других компаний)
Мы будем много проектировать. Код писать не нужно.
📢 Записывайся сейчас! 👉 https://microarch.ru/courses/microservices?utm_source=posev&utm_medium=erid:2VtzquyF5qi&utm_campaign=2
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzquyF5qi
Разберись в микросервисной архитектуре и стань востребованным специалистом!
📅 Старт 1 апреля | Только 30 мест
Если у вас:
🔴 Стоит задача распилить Монолит
🔴 Непонятно, как правильно дробить систему
🔴 Бизнес-логика размазана по сервисам
🔴 Сложности с коммуникацией между сервисами
🔴 Что то читали, но нет цельной картины в голове
На курсе разберетесь, как:
✅ Правильно дробить систему на микросервисы (Event Storming)
✅ Какие способы интеграции выбрать (HTTP или очереди?)
✅ Как переходить с монолита на микросервисы
✅ А так же мы разберем 15 популярных ошибок и как их решить.
🔹 Персональная обратная связь | 3 недели практики | Чат с экспертом | Разборы ДЗ в Zoom
👨🏫 Преподаватель – Кирилл Ветчинкин (проектировал микросервисы для Купер, BCS Broker и ряде других компаний)
Мы будем много проектировать. Код писать не нужно.
📢 Записывайся сейчас! 👉 https://microarch.ru/courses/microservices?utm_source=posev&utm_medium=erid:2VtzquyF5qi&utm_campaign=2
Реклама. ИП Ветчинкин К.Е. ИНН: 773376451099 Erid: 2VtzquyF5qi
🤬4🔥2
🧑💻 PoCo — генератор классов-сборщиков для сложных объектов. Вместо ручного долгого парсинга POJO, библиотека автоматически генерирует оптимизированные классы-сборщики на этапе компиляции.
📥 Библиотека интегрируется через Gradle-плагин и не требует runtime-зависимостей. В планах разработки — расширение поддержки кастомных контейнеров и интерфейсов, что сделает решение ещё более гибким.
📝 PoCo стоит рассмотреть тем, кто работает с комплексными доменными моделями и устал от длительного ручного парсинга данных.
🔗 Github
@javatg
📥 Библиотека интегрируется через Gradle-плагин и не требует runtime-зависимостей. В планах разработки — расширение поддержки кастомных контейнеров и интерфейсов, что сделает решение ещё более гибким.
📝 PoCo стоит рассмотреть тем, кто работает с комплексными доменными моделями и устал от длительного ручного парсинга данных.
🔗 Github
@javatg
👍5❤2🔥2
🔥 SeriesGuide — open-source проект, превращающий смартфон в удобный органайзер для сериалов и фильмов. В отличие от других трекеров SeriesGuide делает ставку на приватность — вся коллекция хранится локально, без навязчивых облаков.
📌 Инди-приложение активно развивается с 2012 года и доступно в Google Play. Последние обновления добавили поддержку Android TV и Wear OS. В нем нет встроенной рекламы или подписок, зато есть функция расписания новых серий, скрытия спойлеров и работа оффлайн. При этом само приложение весит чуть меньше 10 МБ.
🤖 GitHub
👾 Google Play
@javatg
📌 Инди-приложение активно развивается с 2012 года и доступно в Google Play. Последние обновления добавили поддержку Android TV и Wear OS. В нем нет встроенной рекламы или подписок, зато есть функция расписания новых серий, скрытия спойлеров и работа оффлайн. При этом само приложение весит чуть меньше 10 МБ.
🤖 GitHub
👾 Google Play
@javatg
🔥4❤2👍2
📚 Awesome JavaFX — это тщательно подобранная коллекция ресурсов, включающая фреймворки, библиотеки, руководства и примеры кода, которые помогут ускорить написание кода.
Здесь собраны множество полезных инструментов для разработчиков всех уровней - от учебных материалов для новичков до продвинутых решений вроде TornadoFX.
Пользуйтесь ☕️
📌GitHub
@javatg
Здесь собраны множество полезных инструментов для разработчиков всех уровней - от учебных материалов для новичков до продвинутых решений вроде TornadoFX.
Пользуйтесь ☕️
📌GitHub
@javatg
🔥9❤7🥰2👍1
👾 EtchDroid — это открытое приложение, которое превращает ваш смартфон в инструмент для записи образов ОС на USB-накопители.
Приложение выручит, если под рукой нет компьютера, а нужно срочно восстановить систему или установить Linux.
Проект поддерживает большинство современных дистрибутивов, но не работает с официальными ISO Windows и старыми образами. Разработчик честно предупреждает о минимальной телеметрии в версиях с GitHub и Google Play.
🤖 GitHub
🔗 Google Play
@javatg
Приложение выручит, если под рукой нет компьютера, а нужно срочно восстановить систему или установить Linux.
Проект поддерживает большинство современных дистрибутивов, но не работает с официальными ISO Windows и старыми образами. Разработчик честно предупреждает о минимальной телеметрии в версиях с GitHub и Google Play.
🤖 GitHub
🔗 Google Play
@javatg
👍7🔥4❤1