Java Developer – Telegram
Java Developer
15.8K subscribers
1.85K photos
135 videos
2 files
2.06K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
👩‍💻 5 отличий между методами wait() и sleep()

Хотя и метод wait(), и метод sleep() можно использовать для приостановки потока, между ними существует разница, о которой вы скоро узнаете.

1. Синхронизированный контекст
Метод wait() должен вызываться из синхронизированного контекста (может быть синхронизированным блоком или методом), тогда как метод sleep() может быть вызван из синхронизированного блока без него.

2. Снятие блокировки
Когда вы вызываете метод wait(), поток снимает блокировку, которую он удерживал. А вот после вызова метода sleep() поток продолжает удерживать блокировку.

3. Пробуждение
Поток, вызвавший wait(), может быть разбужен (woken up) другими потоками с помощью вызова методов notify() и notifyAll(). При этом спящий поток не может быть разбужен другим потоком до истечения времени ожидания, но другой поток всегда может прервать спящий поток.

4. Различия в вызове
Самое важное различие между методами wait() и sleep() заключается в том, что вы вызываете wait() для объектов, то есть монитора, а метод sleep() вызывается для Thread.

5. Состояние
После вызова метода wait() поток переходит в состояние WAITING, а после вызова метода sleep() поток переходит в состояние TIMED_WAITING.

В перечисленных выше причинах и заключается разница между методами wait() и sleep() в Java. Как я уже сказал, sleep() — это самый простой способ перевести поток в спящий режим на ограниченное время, тогда как wait() — это более сложный способ взаимодействия между потоками в Java.


70🏆 — и выпускаю следующий пост

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆805👍4
Вопрос с собеседования

Какое худшее время работы метода contains() для элемента, который есть в ArrayList?

Ответ: O(N). Время поиска элемента линейно пропорционально количеству элементов в списке.

➡️ Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍202
👩‍💻 Telegram бот на Java и Spring Boot: Добавляем экранную клавиатуру ReplyKeyboard (Часть №6)

На данном этапе автор показывает, как добавить поддержку экранной клавиатуры ReplyKeyboard.

С её помощью реализуется общение пользователя с ботом более простым способом — вместо набора команды можно просто будет нажать на соответствующую кнопку на экране.

📱 Смотреть на YouTube

🔖 Предыдущая часть — КЛИК


➡️ Java Developer | #видео #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
Задача с LeetCode «Find the Index of the First Occurrence in a String №28»

Учитывая две строки needle и haystack, верните индекс первого появления needle в haystack или -1, если needle не является частью haystack.

Пример 1:
Входные данные: haystack = "sadbutsad", needle = "sad"
Вывод: 0
Пояснение: "sad" встречается под индексами 0 и 6. Первое вхождение происходит под индексом 0, поэтому мы возвращаем 0.

Пример 2:
Входные данные: haystack = "leetcode", needle = "leeto"
Вывод: -1
Пояснение: "leeto" не встречается в "leetcode", поэтому мы возвращаем значение -1.

➡️ Java Developer | #задача #easy
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🤣1
👩‍💻 Алгоритм Бойера-Мура-Хорспула с примером решения задачи с LeetCode

Благодаря данной статье вы ознакомитесь с алгоритмом Бойера-Мура-Хорспула и узнаете, как с его помощью решить задачу с LeetCode.

Ссылка на статью

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥1
👍1🔥1
Что выведет код сверху?
Anonymous Quiz
2%
One
46%
Hello
38%
One Hello
13%
Ошибка компиляции
18🏆8
👩‍💻 Ta4j

Ta4j — это библиотека Java для анализа и прогнозирования направления движения цен на основе изучения прошлых рыночных данных.

Библиотека предоставляет базовые компоненты для оценки и прогнозирования торговых стратегий.

Зависимость Maven:
<dependency>
<groupId>org.ta4j</groupId>
<artifactId>ta4j-core</artifactId>
<version>0.16</version>
</dependency>


📱 GitHub
Документация

➡️ Java Developer | #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🤯10🔥2🤣2
Под какой буквой правильный ответ?
Anonymous Quiz
50%
A
9%
B
8%
C
33%
D
🔥52
👩‍💻 Telegram бот на Java и Spring Boot: Кнопки и редактирование сообщения (Часть №7)

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

📱 Смотреть на YouTube

🔖 Предыдущая часть — КЛИК


➡️ Java Developer | #видео #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Неловко вышло

➡️ Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
👀30🤣185👍2
Вопрос с собеседования

Как получить сумму всех чисел в наборе?

Ответ: Ответ на картинке.

➡️ Java Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣26👍83😁2🤯1
👩‍💻 Параллельная редукция

Параллельная редукция — это процесс сокращения (редукции) коллекции элементов с использованием параллельных вычислений.

В Java для этого можно использовать параллельные потоки и функциональные интерфейсы, такие как reduce(), collect() и stream().

Использование параллельной редукции имеет смысл только при выполнении тяжелых вычислений или обработки больших коллекций данных.

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍42
Задача с LeetCode «Generate Parentheses №22»

Учитывая n пары круглых скобок, напишите функцию для генерации всех комбинаций правильно сформированных круглых скобок.

Пример 1:
Входные данные: n = 3
Вывод: ["((()))","(()())","(())()","()(())","()()()"]

Пример 2:
Входные данные: n = 1
Вывод: ["()"]

➡️ Java Developer | #задача #medium
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍5
👩‍💻 Telegram бот на Java и Spring Boot: Рассылка сообщений (Часть №8)

В этом выпуске автор показывает, как отправить сообщение всем пользователям бота и ограничить эту функцию правами владельца бота.

📱 Смотреть на YouTube

🔖 Предыдущая часть — КЛИК


➡️ Java Developer | #видео #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣48👍43💯1
Что выведет код сверху?
Anonymous Quiz
3%
false true false
15%
true false false
56%
true false true
26%
false false true
🔥14👍3
👩‍💻 System.nanoTime()

System.nanoTime() — это метод, который возвращает текущее время в наносекундах и позволяет измерить продолжительность выполнения небольших фрагментов кода.

Метод часто используется для:

Замеров производительности;

Измерения задержек в мультитрединге;

Микробенчмаркинга;

Определения интервалов между событиями в реальном времени.

➡️ Java Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14