This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 8 алгоритмов балансировки нагрузки, которые стоит знать
1⃣ Round Robin – запросы распределяются равномерно между серверами по очереди.
2⃣ Least Connections – запрос направляется на сервер с наименьшим числом активных соединений.
3⃣ Weighted Round Robin – серверам присваиваются веса, и запросы распределяются с учетом этих весов.
4⃣ Weighted Least Connections – учитывается как число соединений, так и вес сервера.
5⃣ IP Hash - запрос направляется на сервер в зависимости от хэша IP-адреса клиента.
6⃣ Least Response Time – запрос идет на сервер с наименьшим временем ответа.
7⃣ Random – сервер выбирается случайным образом.
8⃣ Least Bandwidth – запрос идет на сервер с наименьшей текущей загрузкой сети.
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👋 Ты используешь
🟠
🟠
🟠
👉 Новости 👉 База вопросов
CompletableFuture
, но где-то по ходу выполнения возникает исключение. Как с ним справиться? CompletableFuture
предоставляет 3 способа обработки исключений exceptionally()
— этот метод принимает функцию обработки ошибки, которая выполняется, когда происходит исключение. Здесь у нас есть доступ только к ошибке, но не к данным, возвращённым с предыдущего этапа. handle()
— этот метод принимает результат и исключение и выполняется всегда после завершения предыдущего этапа. Это может быть как в случае успешного выполнения, так и при возникновении исключений. whenComplete()
— метод похож на handle()
, но не изменяет результат. Он возвращает CompletableFuture
и может быть использован в цепочке. Используется для выполнения побочных действий после завершения, вне зависимости от результатаPlease open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Порядок выполнения блоков кода при наследовании в Java
1⃣ Статический блок родителя
2⃣ Статический блок потомка
3⃣ Инициализационный (instance) блок родителя
4⃣ Конструктор родителя
5⃣ Инициализационный (instance) блок потомка
6⃣ Конструктор потомка
При создании объекта класса-наследника сначала выполняются все статические и инициализационные блоки родителя, затем конструкция родителя, и только после этого — логика наследника
👉 Новости 👉 База вопросов
При создании объекта класса-наследника сначала выполняются все статические и инициализационные блоки родителя, затем конструкция родителя, и только после этого — логика наследника
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое пул строк и для чего он нужен?
Пул строк в Java - это область памяти, где хранятся все уникальные строковые литералы. Когда создается новая строка, Java проверяет, существует ли уже такая строка в пуле, и если существует, возвращает ссылку на существующий объект, а не создает новый. Это помогает экономить память и ускоряет выполнение программы.
👉 Новости 👉 База вопросов
Пул строк в Java - это область памяти, где хранятся все уникальные строковые литералы. Когда создается новая строка, Java проверяет, существует ли уже такая строка в пуле, и если существует, возвращает ссылку на существующий объект, а не создает новый. Это помогает экономить память и ускоряет выполнение программы.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 В Java ключевые слова бывают двух типов: зарезервированные и контекстные.
Зарезервированные ключевые слова нельзя использовать, например, для имени метода — метод с именем
Контекстные ключевые слова, напротив, можно использовать в качестве идентификаторов в большинстве случае
Начиная с Java 24, контекстные ключевые слова включают следующие:
Их можно использовать почти везде, где допустимо имя идентификатора
👉 Новости 👉 База вопросов
Зарезервированные ключевые слова нельзя использовать, например, для имени метода — метод с именем
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
Это ссылки, которые используются по умолчанию.
Объект, на который указывает сильная ссылка, никогда не будет удален сборщиком мусора, пока существует эта ссылка.
Используйте, когда объект нужен в течение всего времени выполнения.
2⃣ Soft Reference
Создаются с помощью класса SoftReference. Soft ссылка удерживает объект в памяти, пока в JVM достаточно свободной памяти. Если памяти не хватает, объект будет удален.
Удобны для реализации кэшей. Например, если объект можно восстановить, но не хочется держать его в памяти постоянно.
Сборщик мусора удаляет объекты, на которые ссылаются мягкие ссылки, только в случае нехватки памяти.
3⃣ Weak Reference
Создаются с помощью класса WeakReference. Объект, на который ссылается слабая ссылка, удаляется сборщиком мусора, как только на него больше нет сильных или мягких ссылок.
Часто используются в структурах данных, таких как WeakHashMap, для предотвращения удержания ненужных объектов.
Удобны для создания ссылок на временные объекты.
4⃣ Phantom Reference
Создаются с помощью класса PhantomReference. Эти ссылки используются исключительно для отслеживания, когда объект будет удален сборщиком мусора.
Метод get() у фантомной ссылки всегда возвращает null.
Объекты, на которые ссылаются фантомные ссылки, добавляются в ReferenceQueue, когда сборщик мусора их удаляет.
👉 Новости 👉 База вопросов
Существует 4 типа ссылок, которые определяют, как объект будет обрабатываться сборщиком мусора (Garbage Collector).
Это ссылки, которые используются по умолчанию.
String strongRef = new String("Strong Reference");
Объект, на который указывает сильная ссылка, никогда не будет удален сборщиком мусора, пока существует эта ссылка.
Используйте, когда объект нужен в течение всего времени выполнения.
Создаются с помощью класса SoftReference. Soft ссылка удерживает объект в памяти, пока в JVM достаточно свободной памяти. Если памяти не хватает, объект будет удален.
SoftReference<String> softRef = new SoftReference<>(new String("Soft Reference"));
String softObj = softRef.get();
Удобны для реализации кэшей. Например, если объект можно восстановить, но не хочется держать его в памяти постоянно.
Сборщик мусора удаляет объекты, на которые ссылаются мягкие ссылки, только в случае нехватки памяти.
Создаются с помощью класса WeakReference. Объект, на который ссылается слабая ссылка, удаляется сборщиком мусора, как только на него больше нет сильных или мягких ссылок.
WeakReference<String> weakRef = new WeakReference<>(new String("Weak Reference"));
String weakObj = weakRef.get();
Часто используются в структурах данных, таких как WeakHashMap, для предотвращения удержания ненужных объектов.
Удобны для создания ссылок на временные объекты.
Создаются с помощью класса 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, и оптимизирована для каждой платформы.
Гитхаб
👉 Новости 👉 База вопросов
Она добавляет компонент 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
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😐 learn.java — официальный сайт от Oracle для изучения Java. Здесь всё чётко и по делу
🟠 Установка JDK и настройка IDE
🟠 Пошаговые уроки по основам Java
🟠 Практические задания в онлайн-редакторе
🟠 Мини-проекты для закрепления знаний
🟠 Дополнительные ресурсы для углубленного обучения
Плюс — есть Java Playground, где можно писать и запускать код прямо в браузере, без лишних установок
👉 Новости 👉 База вопросов
Плюс — есть Java Playground, где можно писать и запускать код прямо в браузере, без лишних установок
Please open Telegram to view this post
VIEW IN TELEGRAM
Learn.java: The Destination for Java Beginners, Students, and Teachers
Learner's Corner - Learn.java
Component → Controller → Service → Repository → База данных → Ответ
Так проходит поток данных в приложении Spring Boot — чисто и по слоям
👉 Новости 👉 База вопросов
Так проходит поток данных в приложении Spring Boot — чисто и по слоям
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое Observability?
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 - это практика внесения искусственных сбоев в систему, чтобы проверить её устойчивость. Это позволяет заранее выявить слабые места и предотвратить крупные аварии.
👉 Новости 👉 База вопросов
Chaos Engineering - это практика внесения искусственных сбоев в систему, чтобы проверить её устойчивость. Это позволяет заранее выявить слабые места и предотвратить крупные аварии.
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
#полезное
❤️🔥 Заметки о java.util.Stream
Stream API (поток) — принципиально новый способ работы с коллекциями в Java (по крайней мере он был таким на момент релиза).
В данной статье речь пойдёт о наиболее интересных и показательных примерах использования Stream.
Обсудим, как применять Stream API эффективно, делая код лучше и избегая ошибок.
о 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