#собес
🤔 Что означает ключевое слово 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
#полезное
😐 @TransactionalEvent
Listener
Это специализированный
👉 Новости 👉 База вопросов
Listener
Это специализированный
@EventListener
, который слушает событие и ожидает завершения текущей транзакции перед его обработкой. Ожидание консистентного состояния базы данных позволяет гораздо безопаснее реагировать на изменения, внесенные в БД.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Сравнение Comparator и Comparable в Java
Comparable — для встроенной сортировки. Допустим
Comparator — для гибкой сортировки. К примеру, сортировка списка по разным полям
👉 Новости 👉 База вопросов
Comparable — для встроенной сортировки. Допустим
string, Integer
Comparator — для гибкой сортировки. К примеру, сортировка списка по разным полям
Please open Telegram to view this post
VIEW IN TELEGRAM
#собес
🤔 Что такое примитивные классы?
Тримитивные классы - это классы -обертки для примитивных типов данных, которые позволяют использовать примитивы как объекты. Например,
👉 Новости 👉 База вопросов
Тримитивные классы - это классы -обертки для примитивных типов данных, которые позволяют использовать примитивы как объекты. Например,
Integer
для типа int
, Double
для типа double
.Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
Пирамида тестирования Java
1⃣ Unit-тесты (JUnit, Mockito) — проверяют отдельные методы и классы.
🟠 Самые быстрые
🟠 Легко писать
🟠 Ловят баги на старте
Пиши как можно больше
2⃣ Integration-тесты (Testcontainers) — тестируют взаимодействие между модулями (например, сервис <-> база).
🟠 Работают с реальными зависимостями
🟠 Помогают избежать сюрпризов на проде
3⃣ API-тесты (Postman, RestAssured) — проверяют REST-эндпоинты.
🟠 Тесты бизнес-логики
🟠 Можно автоматизировать или делать вручную
4⃣ UI-тесты (Selenium) — имитируют действия пользователя.
🟠 Медленные
🟠 Ломаются чаще
Используй по минимуму, только для самых важных сценариев
👉 Новости 👉 База вопросов
Пиши как можно больше
Используй по минимуму, только для самых важных сценариев
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Зачем нужен Spring Framework?
Spring Framework - это мощный инструмент для упрощения разработки приложений. Он предоставляет механизм управления зависимостями (Dependency Injection), гибкость конфигурации, интеграцию с различными технологиями и поддержку создания веб-приложений. Благодаря своей модульности и широким возможностям, Spring подходит как для небольших проектов, так и для крупных корпоративных систем.
👉 Новости 👉 База вопросов
Spring Framework - это мощный инструмент для упрощения разработки приложений. Он предоставляет механизм управления зависимостями (Dependency Injection), гибкость конфигурации, интеграцию с различными технологиями и поддержку создания веб-приложений. Благодаря своей модульности и широким возможностям, Spring подходит как для небольших проектов, так и для крупных корпоративных систем.
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🤓 23 шаблона проектирования для 99% разработчиков на Java
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.
Читать статью
👉 Новости 👉 База вопросов
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
VK
23 шаблона проектирования для 99% разработчиков на Java
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
#полезное
🥺 Графовые алгоритмы — шпаргалка для Java Developer
Сводная таблица по всем основным алгоритмам на графах: обход, кратчайшие пути, минимальные остовные деревья, циклы, топология, компоненты связности и продвинутые техники
👉 Новости 👉 База вопросов
Сводная таблица по всем основным алгоритмам на графах: обход, кратчайшие пути, минимальные остовные деревья, циклы, топология, компоненты связности и продвинутые техники
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Какой жизненный цикл Spring Beans?
Жизненный цикл Spring Bean состоит из этапов создания, настройки зависимостей, инициализации, использования и уничтожения. Контейнер автоматически выполняет все эти шаги, вызывая методы, такие как
👉 Новости 👉 База вопросов
Жизненный цикл Spring Bean состоит из этапов создания, настройки зависимостей, инициализации, использования и уничтожения. Контейнер автоматически выполняет все эти шаги, вызывая методы, такие как
@PostConstruct
для настройки перед использованием и @PreDestroy
ДЛЯ завершения работы. Пользователи могут настраивать этапы жизненного цикла через интерфейсы или аннотации.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
Особенности Java Records
🟠 Снижение шаблонного кода — Нет необходимости вручную писать конструкторы,
геттеры,
🟠 Неизменяемы по умолчанию — все поля являются final
🟠 Эффективны по памяти — JVM оптимизирует выделение памяти.
🟠 Без дополнительных зависимостей — являются частью Java с версии 14
🟠 Инкапсуляция — данные хорошо структурированы и неизменяемы.
Ограничения Java Records
🟠 Нет сеттеров — поля final и не могут быть изменены
🟠 Нельзя расширять классы — Records неявно являются final и не могут наследоваться от других классов.
🟠 Ограниченная настройка — не поддерживают аннотации вроде
👉 Новости 👉 База вопросов
Особенности Java Records
геттеры,
equals(), hashCode() и toString()
Ограничения Java Records
@JsonIgnore
для полейPlease open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 hibernate-orm — популярный фреймворк для Java, который упрощает взаимодействие между объектно-ориентированными приложениями и реляционными базами данных!
Hibernate реализует спецификацию JPA (Java Persistence API) и предоставляет дополнительные возможности для работы с базами данных, такие как кэширование и трансакции.
Гитхаб
👉 Новости 👉 База вопросов
Hibernate реализует спецификацию JPA (Java Persistence API) и предоставляет дополнительные возможности для работы с базами данных, такие как кэширование и трансакции.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Динамический массив
В Java динамический массив представляет собой структуру данных, которая позволяет хранить и управлять коллекцией элементов переменного размера.
Он реализуется с помощью класса ArrayList. ArrayList представляет собой реализацию списка, который может изменять свой размер по мере необходимости.
👉 Новости 👉 База вопросов
В Java динамический массив представляет собой структуру данных, которая позволяет хранить и управлять коллекцией элементов переменного размера.
Он реализуется с помощью класса ArrayList. ArrayList представляет собой реализацию списка, который может изменять свой размер по мере необходимости.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое Bean?
Bean в Spring - это объект, который управляется контейнером Spring loC (Inversion of Control). Бины обычно создаются, настраиваются и используются для инкапсуляции бизнес-логики, управления данными или предоставления сервисов. Контейнер Spring автоматически управляет жизненным циклом бина, его зависимостями и настройками.
👉 Новости 👉 База вопросов
Bean в Spring - это объект, который управляется контейнером Spring loC (Inversion of Control). Бины обычно создаются, настраиваются и используются для инкапсуляции бизнес-логики, управления данными или предоставления сервисов. Контейнер Spring автоматически управляет жизненным циклом бина, его зависимостями и настройками.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👨💻 Сортировка пузырьком
Один из самых простых алгоритмов сортировки
👉 Новости 👉 База вопросов
Один из самых простых алгоритмов сортировки
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Миграция от монолита к микросервисам в Spring Boot Java
🟠 Определите границы контекста —> используйте Domain-Driven Design (DDD) для логического разделения модулей
🟠 Модульность внутри приложения —> применяйте модули и пакеты Spring для изоляции сервисов
🟠 Вынос в микросервисы —> начинайте перенос модулей (например, пользователь, заказы) в отдельные сервисы
🟠 Внедрение API Gateway и сервис-дискавери —> используйте Spring Cloud Gateway и Eureka/Nacos
🟠 Безопасность взаимодействия —> добавьте уровни безопасности OAuth2/JWT
🟠 CI/CD пайплайн —> автоматизируйте сборку, тестирование и деплой с помощью Jenkins/GitHub Actions
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😇 Уровни доступа при наследовании
Подкласс:
private —> Не видно в подклассе
default —> Видно, если в одном пакете
protected —> Видно в подклассе
public —> Видно всем
👉 Новости 👉 База вопросов
Подкласс:
private —> Не видно в подклассе
default —> Видно, если в одном пакете
protected —> Видно в подклассе
public —> Видно всем
Please open Telegram to view this post
VIEW IN TELEGRAM