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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😊 Примитивные типы данных

Мини-шпаргалка для новичков и тех, кто повторяет основы

🟠byte — 1 байт
Диапазон: -128 до 127

🟠short — 2 байта
Диапазон: -32,768 до 32,767

🟠int — 4 байта
Диапазон: -2,147,483,648 до 2,147,483,647

🟠long — 8 байт
Диапазон: ±9 квинтиллионов (±2^63)

🟠float — 4 байта
Точность: ~7 знаков после запятой

🟠double — 8 байт
Точность: ~15 знаков после запятой

🟠char — 2 байта
Хранит 1 Unicode-символ

🟠 boolean — ~1 бит (зависит от JVM)
Значения: true / false

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥺 Взаимоблокировка (deadlock) в Java

Взаимоблокировка возникает, когда два потока удерживают блокировки и одновременно ожидают освобождения друг друга, что приводит к зависанию программы. Такая ситуация труднообнаружима и становится кошмаром в масштабных приложениях

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Как объявить переменную в Bash?

B Bash переменная объявляется без ключевого слова, просто через = без пробелов:
VAR=value

Значение переменной можно получить через $VAR .

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😬 Java остаётся одним из самых популярных языков уже больше двух десятилетий.

Банковские системы, e-commerce платформы, Android-приложения и многое другое, всё это можно писать на Java.

В этом курсе ты изучишь основы Java: от переменных и циклов до объектно-ориентированного программирования (OOP).

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Продвинутый уровень конкуррентности, неблокирующие структуры данных

Если вы пишете многопоточные приложения с высокой нагрузкой, стоит обратить внимание на lock-free программирование. Использование атомарных переменных позволяет обходиться без блокировок, это помогает избежать блокировок и повысить производительность при параллельном доступе к данным

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Универсальная обёртка для API-ответов

Дженерики позволяют возвращать типобезопасные и переиспользуемые форматы ответов. Вот как создать обобщённую обёртку ApiResponse<T> для любого payload-а API.

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

Bash (Bourne Again Shell) - это командный интерпретатор, используемый в Unix и Linux. Он позволяет выполнять команды, автоматизировать задачи с помощью скриптов и управлять системой. Bash поддерживает переменные, управляющие конструкции (циклы, условия) и обработку командного вывода.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 Защита вашего приложения с помощью Spring Security и OAuth2 Login.

Публичный доступ разрешён к / и /login, все остальные эндпоинты требуют аутентификации.

Полное руководство читайте здесь: тык

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Параллельная хеш-таблица с мелкозернистой блокировкой:

Потокобезопасная хеш-таблица с блокировками на уровне бакетов для минимизации конфликтов — подходит для высокопроизводительных систем, таких как базы данных или кеши.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Что такое daemon-поток в Java?

Daemon-поток — это фоновый поток, который работает для поддержки пользовательских потоков. Примеры — сборщик мусора или системы мониторинга. Главное отличие: daemon-потоки не мешают завершению работы JVM. Как только все пользовательские (не-daemon) потоки завершатся, JVM завершится автоматически, даже если daemon-потоки ещё работают.

Как создаете daemon-поток?


🟠Создаёте поток как обычно
🟠Вызываете setDaemon(true) до запуска потока
🟠Запускаете поток через start()

Как только основной (пользовательский) поток завершится — JVM выключится, даже если daemon-поток всё ещё активен.

Используйте daemon-потоки для фоновых сервисов, которые не должны блокировать завершение приложения. Всегда вызывайте setDaemon(true) до запуска

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Spring
🤔 В чём основное различие между @RestController и @Controller?

@Controller используется для обработки запросов в традиционных веб-приложениях и возвращает HTML-представления. @RestController автоматически возвращает данные в формате JSON или XML, что делает его идеальным для создания RESTful API.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😱 Ограничение частоты запросов в Spring Boot с помощью Bucket4j

Реализация rate limiting в REST API на Spring Boot с использованием Bucket4j для контроля частоты запросов на пользователя, что повышает масштабируемость API. Подходит для предотвращения злоупотреблений в продакшн-системах

🟠 Импортируются классы из Bucket4j, Spring и Java SDK.
🟠 Создаётся REST-контроллер с маппингом /api
🟠 Для каждого пользователя создаётся бакет с лимитом 5 запросов в минуту. Если бакет позволяет — запрос проходит. Если нет — возвращается 429 статус.
🟠 Заглушка для HttpServletResponse, нужна чтобы код можно было запускать без настоящего HTTP-сервера.

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