Deadlock — это взаимная блокировка потоков. Два потока ждут друг друга, и программа зависает.В этом посте:
• Создадим deadlock на двух потоках;
• Покажем решение через одинаковый порядок захвата;
• Разберём альтернативу.
Этот приём важен для многопоточных приложений, правильная работа с блокировками избавляет от зависаний.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤4👍4🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Это кладезь пошаговых гайдов по Java, Android и инструментам вроде Eclipse. Автор объясняет всё просто и с примерами — идеально для тех, кто хочет разобраться без лишней воды.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2🔥2
Сегодня разбираем List.subList — получаем подсписок из коллекции!
Иногда нужно взять только часть списка. Для этого удобно использовать метод
Например, индекс начала включается, а конца нет:
Изменения в подсписке отражаются в оригинале:
🔥 Такой способ помогает работать с частью данных без копирования всего списка.
👉 Java Ready | #практика
Иногда нужно взять только часть списка. Для этого удобно использовать метод
subList(from, to).Например, индекс начала включается, а конца нет:
List<String> items = List.of("A", "B", "C", "D", "E");
List<String> part = items.subList(1, 4);
System.out.println(part); // [B, C, D]Изменения в подсписке отражаются в оригинале:
List<String> list = new ArrayList<>(List.of("one", "two", "three"));
List<String> sub = list.subList(0, 2);
sub.set(0, "ONE");
System.out.println(list); // [ONE, two, three]🔥 Такой способ помогает работать с частью данных без копирования всего списка.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь собраны разборы по Java Core, работе с базами данных, веб-приложениям, Spring, Hibernate и множеству других технологий.
Все материалы сопровождаются кодом и понятными объяснениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥3
Запускай задачи в фоне, строй цепочки преобразований, обрабатывай результат и ошибки и жди несколько задач. Удобный способ писать неблокирующий код.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤3👍3🤝1
Перемешиваем список случайным образом!
Чтобы перемешать элементы списка, достаточно одной строки с методом
Каждый запуск даёт новый порядок элементов:
Можно указать свой генератор случайных чисел:
🔥 Удобный способ для тасовки колоды карт, выбора случайного порядка заданий или случайного распределения данных.
👉 Java Ready | #практика
Чтобы перемешать элементы списка, достаточно одной строки с методом
shuffleКаждый запуск даёт новый порядок элементов:
List<String> cards = new ArrayList<>(List.of("A", "K", "Q", "J", "10"));
Collections.shuffle(cards);
System.out.println(cards); // [Q, 10, J, A, K]Можно указать свой генератор случайных чисел:
Random rnd = new Random(42);
Collections.shuffle(cards, rnd);
System.out.println(cards); // [J, K, 10, A, Q]
🔥 Удобный способ для тасовки колоды карт, выбора случайного порядка заданий или случайного распределения данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥5👍3
С помощью этого ты можешь добавлять и убирать элементы слева и справа. Подходит и для очередей, и для стеков.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤4👍3🤝2