#полезное
🥺 Способы сравнения строк в Java
1.
2.
3.
4.
Подробнее тут
👉 Новости 👉 База вопросов
1.
==
→ Сравнивает адреса в памяти2.
.equals()
→ Сравнивает содержимое строк3.
.compareTo()
→ Лексикографическое сравнение4.
.equalsIgnoreCase() → Сравнивает без
учёта регистраПодробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое GitOps?
GitOps — это метод управления инфраструктурой и приложениями через Git- репозитории. Изменения в коде инфраструктуры автоматически применяются через CI/CD-процессы.
👉 Новости 👉 База вопросов
GitOps — это метод управления инфраструктурой и приложениями через Git- репозитории. Изменения в коде инфраструктуры автоматически применяются через CI/CD-процессы.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 В чём разница между throw и throws в Java?
throw
🟠 Используется для явного выбрасывания исключения.
🟠 Синтаксис: throw new ExceptionType("сообщение");
🟠 Применяется внутри метода или блока.
throws
🔵 Объявляет возможные исключения, которые может выбросить метод.
🔵 Указывается в сигнатуре метода.
🔵 В основном используется для проверяемых исключений
👉 Новости 👉 База вопросов
throw
throws
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😵💫 ProcessHandle.
children()
👉 Новости 👉 База вопросов
children()
ProcessHandle.children()
возвращает поток (Stream<ProcessHandle>
) дочерних процессов текущего процесса. Это полезно для мониторинга запущенных подпроцессов и управления ими.Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое code coverage?
Code coverage (покрытие кода тестами) - это показатель, показывающий, какая часть кода протестирована автоматическими тестами. Выражается в процентах: чем выше показатель, тем меньше риск появления багов.
👉 Новости 👉 База вопросов
Code coverage (покрытие кода тестами) - это показатель, показывающий, какая часть кода протестирована автоматическими тестами. Выражается в процентах: чем выше показатель, тем меньше риск появления багов.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 MethodHandles.
dropArguments()
👉 Новости 👉 База вопросов
dropArguments()
MethodHandles.dropArguments()
создаёт MethodHandle
, который игнорирует определённые аргументы перед вызовом целевой функции. Это полезно для адаптации методов с разными сигнатурами.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 StackWalker.
getInstance()
👉 Новости 👉 База вопросов
getInstance()
StackWalker.getInstance()
позволяет получать информацию о стеке вызовов во время выполнения программы, упрощая отладку и логирование.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое Infrastructure as Code (laC) ?
Infrastructure as Code (laC) - это метод управления и развертывания IT- инфраструктуры с помощью кода, а не ручной настройки серверов. Это позволяет автоматизировать, версионировать и обеспечивать единообразие среды.
👉 Новости 👉 База вопросов
Infrastructure as Code (laC) - это метод управления и развертывания IT- инфраструктуры с помощью кода, а не ручной настройки серверов. Это позволяет автоматизировать, версионировать и обеспечивать единообразие среды.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
🫠 Внутренности Java switch
Как компилятор выбирает, какую инструкцию использовать?
Первое, что нужно знать: любой switch в Java компилируется в одну из двух JVM-инструкций:
>
>
Прежде чем разбирать, как работает каждая из них, давайте посмотрим, как компилятор решает, какую выбрать.
Следующий код сгенерирует
А вот этот код сгенерирует
👉 Новости 👉 База вопросов
Как компилятор выбирает, какую инструкцию использовать?
Первое, что нужно знать: любой switch в Java компилируется в одну из двух JVM-инструкций:
>
tableswitch
>
lookupswitch
Прежде чем разбирать, как работает каждая из них, давайте посмотрим, как компилятор решает, какую выбрать.
Следующий код сгенерирует
tableswitch
:public String tableSwitch() {
return switch (value) {
case 1 -> "one";
case 2 -> "two";
case 4 -> "four";
default -> "other";
};
}
А вот этот код сгенерирует
lookupswitch
:public String lookupSwitch() {
return switch (value) {
case 1 -> "one";
case 10 -> "ten";
case 100 -> "one hundred";
default -> "other";
};
}
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Шикарный разбор, как работает
Что из них выберет компилятор — зависит от распределения case-ов
Автор показал, как это работает на байткоде > дизассемблирует, сравнивает варианты и объясняет, почему структура switch влияет на производительность
👉 Новости 👉 База вопросов
switch
в Java на уровне JVMЧто из них выберет компилятор — зависит от распределения case-ов
Автор показал, как это работает на байткоде > дизассемблирует, сравнивает варианты и объясняет, почему структура switch влияет на производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Совет для IntelliJ — свой значок проекта
Можно задать кастомную иконку для проекта в IntelliJ — она будет отображаться на экране приветствия
👉 Новости 👉 База вопросов
Можно задать кастомную иконку для проекта в IntelliJ — она будет отображаться на экране приветствия
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое canary deployment?
Canary deployment - это стратегия развертывания, при которой новая версия приложения сначала запускается для небольшой части пользователей. Если тестирование проходит успешно, она постепенно заменяет старую версию.
👉 Новости 👉 База вопросов
Canary deployment - это стратегия развертывания, при которой новая версия приложения сначала запускается для небольшой части пользователей. Если тестирование проходит успешно, она постепенно заменяет старую версию.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
👨💻 Locale.getDefault()
👉 Новости 👉 База вопросов
Locale.getDefault()
позволяет получить текущую локаль системы, что полезно для работы с форматированием дат, чисел и текста.Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😬 Совет для джавистов в IntelliJ IDEA:
Знаешь ли ты, что можно использовать встроенный HTTP-клиент IntelliJ, чтобы ускорить работу с Java?
После этого тебе Postman больше не понадобится.
👉 Новости 👉 База вопросов
Знаешь ли ты, что можно использовать встроенный HTTP-клиент IntelliJ, чтобы ускорить работу с Java?
После этого тебе Postman больше не понадобится.
Please open Telegram to view this post
VIEW IN TELEGRAM
#medium
Задача: 673. Number of Longest Increasing Subsequence
Дан массив целых чисел nums, верните количество самых длинных строго возрастающих подпоследовательностей.
Пример:
Алгоритм:
1⃣ Объявите два массива динамического программирования length и count, и инициализируйте их значениями length[i]=1 и count[i]=1. Итерируйте i от 0 до n−1. Для каждого i итерируйте j от 0 до i−1 и, если nums[j] < nums[i], обновите length[i] и count[i] в зависимости от значений length[j] и count[j].
2⃣ Найдите максимальное значение в массиве length и сохраните его в переменной maxLength. Инициализируйте переменную result = 0.
3⃣ Итерируйте i от 0 до n−1 и, если length[i] = maxLength, добавьте count[i] к result. Верните result.
Решение:
👉 Новости 👉 База вопросов
Задача: 673. Number of Longest Increasing Subsequence
Дан массив целых чисел nums, верните количество самых длинных строго возрастающих подпоследовательностей.
Пример:
Input: n = 1, presses = 1
Output: 2
Explanation: Status can be:
- [off] by pressing button 1
- [on] by pressing button 2
Алгоритм:
Решение:
class Solution {
public int findNumberOfLIS(int[] nums) {
int n = nums.length;
int[] length = new int[n];
int[] count = new int[n];
Arrays.fill(length, 1);
Arrays.fill(count, 1);
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
if (nums[j] < nums[i]) {
if (length[j] + 1 > length[i]) {
length[i] = length[j] + 1;
count[i] = 0;
}
if (length[j] + 1 == length[i]) {
count[i] += count[j];
}
}
}
}
int maxLength = Arrays.stream(length).max().getAsInt();
int result = 0;
for (int i = 0; i < n; i++) {
if (length[i] == maxLength) {
result += count[i];
}
}
return result;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #CIcd
🤔 Что такое blue-green deployment?
Blue-green deployment - это стратегия развертывания, при которой две среды (синяя и зелёная) работают параллельно. Новая версия приложения разворачивается в зелёной среде, тестируется, а затем весь трафик переключается на неё, превращая её в новую продакшн-среду.
👉 Новости 👉 База вопросов
Blue-green deployment - это стратегия развертывания, при которой две среды (синяя и зелёная) работают параллельно. Новая версия приложения разворачивается в зелёной среде, тестируется, а затем весь трафик переключается на неё, превращая её в новую продакшн-среду.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Анонс: Azure Command Launcher для Java
jaz — новый инструмент запуска JVM, оптимизированный под Azure. Он предлагает более подходящие настройки по умолчанию для Java-приложений в контейнерах и на виртуалках.
И это ещё не всё — впереди больше обновлений.
подробнее
👉 Новости 👉 База вопросов
jaz — новый инструмент запуска JVM, оптимизированный под Azure. Он предлагает более подходящие настройки по умолчанию для Java-приложений в контейнерах и на виртуалках.
И это ещё не всё — впереди больше обновлений.
подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#статьи
😅 Нашёл годную статью — подробный гайд по ООП в Java: принципы, концепты и реальные примеры. Если ты новичок или хочешь освежить базу — заходи смело. Всё объяснено доступно и с кодом.
источник
👉 Новости 👉 База вопросов
источник
Please open Telegram to view this post
VIEW IN TELEGRAM