#видео
😇 Создание простого HTTP-сервера в Java
🟠 Настройка и обзор проекта.
🟠 Управление конфигурацией.
🟠 Использование серверных сокетов.
🟠 Обработка нескольких подключений с помощью потоков.
🟠 Разбор HTTP-запросов.
и тд.
Это пошаговое руководство, которое поможет разобраться в основах создания веб-сервера с нуля на Java.
📱 Cмотреть источник
👉 Новости 👉 База вопросов
и тд.
Это пошаговое руководство, которое поможет разобраться в основах создания веб-сервера с нуля на Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Какие ассоциативные связи между объектами вы знаете?
Ассоциативные связи включают агрегацию, композицию и ассоциацию. Они описывают, как объекты взаимодействуют друг с другом.
👉 Новости 👉 Платформа
Ассоциативные связи включают агрегацию, композицию и ассоциацию. Они описывают, как объекты взаимодействуют друг с другом.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Забыли про ExecutorService и вечные потоки?
Дайте шанс
Пример
Преимущества
🟠 Параллельные операции без блокировок.
🟠 Чистый и понятный код.
🟠 Гибкость при работе с результатами.
👉 Новости 👉 База вопросов
Дайте шанс
CompletableFuture
! Это идеальный способ выполнять несколько операций параллельно, при этом сохраняя чистый код.Пример
CompletableFuture.supplyAsync(() -> {
// Долгая операция
return "Hello, ";
}).thenCombine(
CompletableFuture.supplyAsync(() -> {
// Ещё одна операция
return "World!";
}),
(greeting, name) -> greeting + name
).thenAccept(System.out::println); // Выведет "Hello, World!"
Преимущества
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Как работает перехватчик (Interceptor) в Spring Boot?
Когда клиент делает запрос:
1⃣
2⃣ Затем
3⃣ Перед тем как запрос достигнет Controller, он проходит через все настроенные перехватчики (Interceptors) и выполняет их метод preHandle().
4⃣ Если все методы
5⃣ Controller выполняет запрос. После этого запрос проходит через метод postHandle() всех перехватчиков.
6⃣ Наконец, если все прошло успешно и методы
👉 Новости 👉 База вопросов
Когда клиент делает запрос:
DispatcherServlet
первым получает запрос.DispatcherServlet
использует HandlerMappings, чтобы найти соответствующий Controller.
preHandle()
возвращают true, запрос передается в Controller.
postHandle()
вернули true
, вызывается метод afterCompletion()
у всех перехватчиков.Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Что означает ключевое слово?
Ключевые слова - это зарезервированные слова в языке программирования, которые имеют специальное значение и не могут быть использованы для именования переменных, методов и классов. В Java ключевые слова такие как class, static, if и другие определяют структуру и функциональность программы.
👉 Новости 👉 База вопросов
Ключевые слова - это зарезервированные слова в языке программирования, которые имеют специальное значение и не могут быть использованы для именования переменных, методов и классов. В Java ключевые слова такие как class, static, if и другие определяют структуру и функциональность программы.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
😊 Как Java-приложение подключается к базе данных через JDBC?
При разработке Java-приложений часто требуется работать с базой данных. Для этого используется JDBC (Java Database Connectivity) — технология, которая позволяет Java-программе отправлять SQL-запросы и получать данные
Давайте разберемся, как это работает шаг за шагом:
1⃣ Java-приложение
Программа пишет SQL-запрос, который нужно выполнить (например, SELECT * FROM users).
2⃣ JDBC API
Этот запрос передается через JDBC API, который является стандартным интерфейсом взаимодействия с базами данных в Java.
3⃣ Driver Manager (Менеджер драйверов)
JDBC API отправляет запрос в Driver Manager. Этот компонент выбирает правильный драйвер для нужной базы данных.
4⃣ Database Driver (Драйвер базы данных)
Найденный драйвер переводит запрос в понятный для базы данных формат и отправляет его в СУБД.
5⃣ Database (База данных)
База данных выполняет запрос и возвращает результат обратно через все уровни:
Database → Database Driver → Driver Manager → JDBC API → Java-приложение.
👉 Новости 👉 База вопросов
При разработке Java-приложений часто требуется работать с базой данных. Для этого используется JDBC (Java Database Connectivity) — технология, которая позволяет Java-программе отправлять SQL-запросы и получать данные
Давайте разберемся, как это работает шаг за шагом:
Программа пишет SQL-запрос, который нужно выполнить (например, SELECT * FROM users).
Этот запрос передается через JDBC API, который является стандартным интерфейсом взаимодействия с базами данных в Java.
JDBC API отправляет запрос в Driver Manager. Этот компонент выбирает правильный драйвер для нужной базы данных.
Найденный драйвер переводит запрос в понятный для базы данных формат и отправляет его в СУБД.
База данных выполняет запрос и возвращает результат обратно через все уровни:
Database → Database Driver → Driver Manager → JDBC API → Java-приложение.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Что такое Spring Boot и чем он отличается от традиционного Spring Framework?
Spring Boot — это упрощённый и удобный фреймворк, построенный на основе Spring Framework. Он значительно облегчает разработку самодостаточных и готовых к продакшену Spring-приложений благодаря следующим особенностям:
🟠 Автоконфигурация – автоматически настраивает Spring и сторонние библиотеки в зависимости от присутствующих зависимостей в classpath.
🟠 Starter POMs – предоставляет готовые зависимости (starter'ы), упрощая конфигурацию сборки.
🟠 Встроенные серверы – включает встроенные сервера, такие как Tomcat и Jetty, устраняя необходимость в сторонних серверных контейнерах.
🟠 Без XML-конфигурации – активно использует аннотации, уменьшая количество шаблонного (boilerplate) кода.
Основное отличие от традиционного Spring Framework в том, что Spring Boot автоматизирует настройку, тогда как обычный Spring требует много ручной конфигурации.
👉 Новости 👉 База вопросов
Spring Boot — это упрощённый и удобный фреймворк, построенный на основе Spring Framework. Он значительно облегчает разработку самодостаточных и готовых к продакшену Spring-приложений благодаря следующим особенностям:
Основное отличие от традиционного Spring Framework в том, что Spring Boot автоматизирует настройку, тогда как обычный Spring требует много ручной конфигурации.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Зачем мы используем дженерики в Java?
🟠 Типовая безопасность: Предотвращает возникновение ошибки ClassCastException во время выполнения.
🟠 Повторное использование кода: Позволяет писать универсальные алгоритмы, которые работают с различными типами.
🟠 Проверка на этапе компиляции: Обнаруживает ошибки на этапе компиляции, а не во время выполнения.
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Может ли статический метод быть переопределенным или перегруженным?
Статический метод не может быть переопределен (override), так как он связан с классом, а не с объектом. Однако статический метод может быть перегружен (overloaded), если используются разные параметры.
👉 Новости 👉 База вопросов
Статический метод не может быть переопределен (override), так как он связан с классом, а не с объектом. Однако статический метод может быть перегружен (overloaded), если используются разные параметры.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🥺 Параллелизм в Java
Параллельность (Concurrency) включает в себя управление несколькими потоками для одновременного выполнения задач, что критически важно для высокопроизводительных приложений
Как это работает?
1⃣ Инициализируем потоки.
2⃣ Проверяем, готовы ли они.
3⃣ Запускаем задачи одновременно.
4⃣ Дожидаемся завершения и закрываем потоки
👉 Новости 👉 База вопросов
Параллельность (Concurrency) включает в себя управление несколькими потоками для одновременного выполнения задач, что критически важно для высокопроизводительных приложений
Как это работает?
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥺 GIT Workflow
Хотите разобраться, как работает Git? Тогда держите наглядный гайд!
1⃣
2⃣
3⃣ Создание нового файла – добавляем что-то новое в проект
4⃣
5⃣
6⃣
👉 Новости 👉 База вопросов
Хотите разобраться, как работает Git? Тогда держите наглядный гайд!
Initial State
– начальное состояние проектаgit clone
– клонируем удаленный репозиторийgit add
. – отправляем изменения в staging areagit commit
– фиксируем изменения локальноgit push
– отправляем изменения на удаленный серверPlease open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Есть один отличный фреймворк — Javalin
Если нужно быстро запустить сервер или сделать небольшое приложение — самое то
Он позволяет настроить сервер легко и без лишних зависимостей. Все, что нужно для REST API или WebSocket — уже встроено.
Идеально для пет-проектов, микросервисов и прототипов
👉 Новости 👉 База вопросов
Если нужно быстро запустить сервер или сделать небольшое приложение — самое то
Он позволяет настроить сервер легко и без лишних зависимостей. Все, что нужно для REST API или WebSocket — уже встроено.
Идеально для пет-проектов, микросервисов и прототипов
Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Что означает ключевое слово final?
Ключевое слово
👉 Новости 👉 База вопросов
Ключевое слово
final
используется для обозначения, что объект, переменная или метод не могут быть изменены после их инициализации. Оно может быть применено к переменным, методам и классам.Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
👍 Как работает Java? Понимание архитектуры языка
Когда мы пишем код на Java, он проходит несколько ключевых этапов перед тем, как стать работающей программой. Вот как это происходит:
1⃣ Написав программу, мы получаем исходный код в файле
2⃣ Этот код компилируется с помощью компилятора javac, который преобразует его в байт-код (.class). Это промежуточный формат, который понимает только JVM.
3⃣ JVM берет этот байт-код и запускает его, выполняя программу.
Внутри JVM происходит:
🟠 Загрузка классов с помощью
🟠 Управление памятью: разделение на Stack, Heap и Method Area.
🟠 Оптимизация с помощью JIT-компилятора, который превращает байт-код в машинный код для ускорения работы программы.
👉 Новости 👉 База вопросов
Когда мы пишем код на Java, он проходит несколько ключевых этапов перед тем, как стать работающей программой. Вот как это происходит:
.java
.Внутри JVM происходит:
ClassLoader
.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 Команды Docker для Java-разработчика
1⃣ Проверка версии Docker
2⃣ Работа с образами
3⃣ Запуск Java-приложения в контейнере
4⃣ Сборка и запуск контейнера с Java Spring Boot
5⃣ Управление контейнерами
6⃣ Сетевое взаимодействие в Docker
7⃣ Docker Compose (Java + MySQL)
8⃣ Docker Volumes (персистентные данные)
9⃣ Очистка Docker
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Что такое грациозное завершение работы Spring Boot-приложения?
🟠 Приложение перестаёт принимать новые входящие запросы.
🟠 Запросы, которые уже обрабатываются, получают возможность завершиться. Для других внутренних задач, таких как запланированные задания или обработка сообщений из очереди (MQ), приложение обеспечивает завершение текущих операций и предотвращает запуск новых.
🟠 Перед завершением работы приложение сигнализирует другим сервисам о предстоящем отключении, обеспечивая бесперебойность работы всей системы.
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Что такое анонимные классы?
Анонимные классы - это классы без имени, которые создаются на месте, обычно для реализации интерфейсов или абстрактных классов. Они позволяют упростить код, создавая объект класса без его явного объявления.
👉 Новости 👉 База вопросов
Анонимные классы - это классы без имени, которые создаются на месте, обычно для реализации интерфейсов или абстрактных классов. Они позволяют упростить код, создавая объект класса без его явного объявления.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Совет по IntelliJIDEA
Оставайтесь сосредоточенными на кодинге и оптимизируйте свой рабочий процесс в IntelliJIDEA с помощью Run Anything!
Быстро запускайте конфигурации выполнения/отладки, приложения, скрипты, команды и задачи или даже открывайте недавние проекты – из любого места в IDE
Нажмите
👉 Новости 👉 База вопросов
Оставайтесь сосредоточенными на кодинге и оптимизируйте свой рабочий процесс в IntelliJIDEA с помощью Run Anything!
Быстро запускайте конфигурации выполнения/отладки, приложения, скрипты, команды и задачи или даже открывайте недавние проекты – из любого места в IDE
Нажмите
⌃⌃
| Ctrl+Ctrl
, чтобы открыть всплывающее окно Run AnythingPlease open Telegram to view this post
VIEW IN TELEGRAM