Java Backend | YeaHub
491 subscribers
101 photos
22 videos
2 files
215 links
Теория, подготовка к интервью и курсы для Java разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
🤯 В Java ключевые слова бывают двух типов: зарезервированные и контекстные.

Зарезервированные ключевые слова нельзя использовать, например, для имени метода — метод с именем try не скомпилируется

Контекстные ключевые слова, напротив, можно использовать в качестве идентификаторов в большинстве случае

Начиная с Java 24, контекстные ключевые слова включают следующие:

exports     opens       requires    uses        yield
module permits sealed var
non-sealed provides to when
open record transitive with


Их можно использовать почти везде, где допустимо имя идентификатора

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😱 Какие типы ссылок существуют?

Существует 4 типа ссылок, которые определяют, как объект будет обрабатываться сборщиком мусора (Garbage Collector).

1⃣ Strong Reference

Это ссылки, которые используются по умолчанию.
String strongRef = new String("Strong Reference");


Объект, на который указывает сильная ссылка, никогда не будет удален сборщиком мусора, пока существует эта ссылка.
Используйте, когда объект нужен в течение всего времени выполнения.

2⃣ Soft Reference

Создаются с помощью класса SoftReference. Soft ссылка удерживает объект в памяти, пока в JVM достаточно свободной памяти. Если памяти не хватает, объект будет удален.
SoftReference<String> softRef = new SoftReference<>(new String("Soft Reference"));
String softObj = softRef.get();


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

3⃣ Weak Reference

Создаются с помощью класса WeakReference. Объект, на который ссылается слабая ссылка, удаляется сборщиком мусора, как только на него больше нет сильных или мягких ссылок.
WeakReference<String> weakRef = new WeakReference<>(new String("Weak Reference"));
String weakObj = weakRef.get();


Часто используются в структурах данных, таких как WeakHashMap, для предотвращения удержания ненужных объектов.
Удобны для создания ссылок на временные объекты.

4⃣ Phantom Reference

Создаются с помощью класса PhantomReference. Эти ссылки используются исключительно для отслеживания, когда объект будет удален сборщиком мусора.
PhantomReference<String> phantomRef = new PhantomReference<>(new String("Phantom Reference"), new ReferenceQueue<>());


Метод get() у фантомной ссылки всегда возвращает null.
Объекты, на которые ссылаются фантомные ссылки, добавляются в ReferenceQueue, когда сборщик мусора их удаляет.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 OpenGLFX — библиотека для интеграции OpenGL-графики с JavaFX!

Она добавляет компонент GLCanvas, который позволяет отображать графику OpenGL как обычный элемент JavaFX. Библиотека поддерживает различные движки рендеринга, включая LWJGL, JOGL, LWJGL2 и LibGDX, и оптимизирована для каждой платформы.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое примитивные классы?

Примитивные классы - это классы-обертки для примитивных типов данных, которые позволяют использовать примитивы как объекты. Например, Integer для типа int, Double для типа double .

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😊 Лучшие практики программирования на Java
Читать клик

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😐 learn.java — официальный сайт от Oracle для изучения Java. Здесь всё чётко и по делу

🟠 Установка JDK и настройка IDE
🟠 Пошаговые уроки по основам Java
🟠 Практические задания в онлайн-редакторе
🟠 Мини-проекты для закрепления знаний
🟠 Дополнительные ресурсы для углубленного обучения

Плюс — есть Java Playground, где можно писать и запускать код прямо в браузере, без лишних установок

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Component → Controller → Service → Repository → База данных → Ответ

Так проходит поток данных в приложении Spring Boot — чисто и по слоям

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое Observability?

Observability (наблюдаемость) - это способность системы предоставлять метрики, логи и трассировки, чтобы быстро находить и исправлять ошибки.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Многопоточность в Java

Есть основной метод, а вместе с ним — несколько потоков

Каждый поток выполняет свою задачу одновременно с другими

Это даёт прирост в скорости и производительности.

Полезно, когда нужно делать несколько вещей сразу — например, загружать файлы или обслуживать пользователей

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵‍💫 ProcessHandle.info()

Метод ProcessHandle.info() позволяет получать информацию о запущенных процессах в системе, таких как аргументы командной строки, время запуска и использование ресурсов. Это полезно для мониторинга процессов в Java-приложениях.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Аннотации @OneToMany и @ManyToOne помогают определить связи между сущностями в базе данных

Пример:

Пользователь может иметь много заказов →

@OneToMany(mappedBy = "user")
private List<Order> orders;


Каждый заказ принадлежит одному пользователю →

@ManyToOne
@JoinColumn(name = "user_id")
private User user;


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое Chaos Engineering?

Chaos Engineering - это практика внесения искусственных сбоев в систему, чтобы проверить её устойчивость. Это позволяет заранее выявить слабые места и предотвратить крупные аварии.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😊 Pattern Matching в switch — Java
Читать клик

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
📞 Балансировка производительности и потокобезопасности
Читать клик

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️‍🔥 Заметки о java.util.Stream

Stream API (поток) — принципиально новый способ работы с коллекциями в Java (по крайней мере он был таким на момент релиза).

В данной статье речь пойдёт о наиболее интересных и показательных примерах использования Stream.
Обсудим, как применять Stream API эффективно, делая код лучше и избегая ошибок.
о java.util.Stream

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое микросервисная архитектура?

Микросервисная архитектура - это способ разработки ПО, при котором приложение разбивается на независимые сервисы, взаимодействующие через API. Это улучшает масштабируемость и гибкость разработки.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 Используйте DTO для запросов и ответов

Никогда не передавайте сущности напрямую — всегда преобразовывайте их в DTO и обратно

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from YeaHub
🥳 В YeaHub теперь 2040 пользователей!

На этой неделе мы побили рекорд по количеству регистраций — и это важный для нас рубеж! 🚀 Мы не останавливаемся на достигнутом и готовим крутые обновления:

- Обновленный лендинг — станет еще информативнее и удобнее;
- Публичные страницы коллекций — делитесь своими подборками с сообществом;
- Избранное для вопросов — сохраняйте самое важное в один клик;
- Горячий режим 🔥 — для дополнительной мотивации;
- Мультипрофили — удобное переключение между аккаунтами;
- Новый сервис "Полезные ресурсы" — всё необходимое для развития в одном месте.

А еще мы будем еженедельно пополнять коллекции актуальными вопросами с собеседований по всем направлениям.

И это только начало! В планах — запуск 20+ новых сервисов для развития, нетворкинга и досуга. Оставайтесь с нами — будет ещё круче! 💪

👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Apache SeaTunnel — высокопроизводительный распределенный инструмент интеграции данных

SeaTunnel - это высокопроизводительный инструмент распределенной интеграции данных нового поколения, способный ежедневно синхронизировать огромные объемы данных.
SeaTunnel способен стабильно и эффективно синхронизировать данные в режиме реального времени и уже используется в продакшене почти 100 компаниями.
Написан полностью на Java
Гитхаб
Доки

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM