Telegram Web Link
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ String.format()

В Java метод String.format() позволяет форматировать строки с использованием плейсхолдеров и спецификаторов. Это удобно для создания строк с динамическими данными.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Map.merge()

В Java метод Map.merge() объединяет значение для указанного ключа с новым значением с помощью заданной функции. Это удобно для обновления данных в словаре на основе существующих значений.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
#вопросы_с_собеседований
Что будет, если в Map положить два значения с одинаковым ключом?

Если в Map положить два значения с одинаковым ключом, то произойдет следующее:

— При добавлении второго значения с уже существующим ключом, первое значение, связанное с этим ключом, будет перезаписано.

Map может содержать только уникальные ключи. При попытке добавить дублирующийся ключ, старое связанное значение будет заменено новым.

— Конкретная реализация Map (например, HashMap) может бросить исключение, если попытаться добавить дублирующийся ключ.

Таким образом, поведение в такой ситуации зависит от конкретной реализации интерфейса Map, но в целом дублирующиеся ключи в Map запрещены.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Collections.unmodifiableList()

В Java метод Collections.unmodifiableList() создаёт неизменяемый (immutable) список на основе существующего. Это удобно, когда нужно защитить коллекцию от изменений после её создания.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Math.floorMod

Метод Math.floorMod в Java выполняет деление по модулю с учётом знаков, возвращая всегда положительный остаток. Это полезно при работе с круговыми индексами или в математике с отрицательными числами.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ StringBuilder.append()

Метод append() класса StringBuilder позволяет эффективно добавлять строки к уже существующему объекту. В отличие от конкатенации строк с использованием оператора +, StringBuilder позволяет избежать создания новых объектов строк в процессе добавления.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
😁

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ System.nanoTime()

Метод System.nanoTime() в Java используется для получения текущего времени с высокой точностью, измеряемого в наносекундах. Этот метод полезен для точного измерения времени выполнения операций, например, для профилирования производительности вашего кода.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Apache POI

Apache POI – это библиотека с открытым исходным кодом для работы с форматами файлов Microsoft Office в Java.

Она позволяет читать, создавать и редактировать файлы Excel, Word, PowerPoint и другие.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Collectors.toSet()

В Java метод Collectors.toSet() из Stream API позволяет собрать элементы потока в Set, автоматически убирая дубликаты.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Map.replace()

Метод Map.replace() позволяет заменить значение, связанное с определённым ключом, если этот ключ уже существует в словаре. Это полезно для безопасного обновления данных.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ CompletableFuture.supplyAsync()

В Java метод CompletableFuture.supplyAsync() позволяет выполнять асинхронные задачи в фоновом потоке, возвращая результат. Это удобно для выполнения длительных операций без блокировки основного потока.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как это работает? — Java: Цикл for-each

В Java цикл for-each (или enhanced for loop) упрощает итерацию по коллекциям и массивам. Давайте посмотрим, как он работает.

➡️ Как это работает:

• numbers — это массив целых чисел.
В строке for (int number : numbers) переменная number последовательно принимает значения из массива numbers.
На каждой итерации выводится текущее значение number.

Развернутый аналог:
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}

1
2
3
4
5


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Антипаттерн недели: Забытая блокировка в многопоточном коде

Если использовать блокировки (synchronized) и забыть их освободить в случае исключения, можно легко привести к deadlock (взаимоблокировке).

Если во время выполнения блока synchronized возникает исключение, блокировка остаётся захваченной, что может заблокировать другие потоки навсегда.

✔️ Как исправить:

Используйте try-finally для гарантированного освобождения блокировки:
public class FixedExample {
private final Object lock = new Object();

public void performTask() {
synchronized (lock) {
try {
System.out.println("Задача выполняется...");
if (true) {
throw new RuntimeException("Ошибка!");
}
System.out.println("Задача завершена.");
} finally {
System.out.println("Блокировка освобождена.");
}
}
}

public static void main(String[] args) {
FixedExample example = new FixedExample();
example.performTask();
}
}


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Напоминаю, что у нас есть свой чат, где вы можете задать свой вопрос
@Java_Learning_Chat
2025/07/05 23:16:02
Back to Top
HTML Embed Code: