В чем разница между Thread.sleep() и Thread.yield()?
Thread.sleep(): этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep() поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep() может сгенерировать исключение InterruptedException, поэтому необходимо обрабатывать его или пробрасывать.
Thread.yield(): этот метод предоставляет намек планировщику потоков на то, что поток, вызвавший yield(), готов уступить процессорное время другим потокам с тем же приоритетом. Однако это рекомендация, а не гарантия. Вызов Thread.yield() приводит к тому, что текущий поток переходит из исполняемого в состояние готовности, чтобы другие потоки могли получить доступ к процессору. Однако, если нет других готовых потоков с тем же приоритетом, поток может продолжить выполнение.
#вопросы_с_собеседований
Thread.sleep(): этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep() поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep() может сгенерировать исключение InterruptedException, поэтому необходимо обрабатывать его или пробрасывать.
Thread.yield(): этот метод предоставляет намек планировщику потоков на то, что поток, вызвавший yield(), готов уступить процессорное время другим потокам с тем же приоритетом. Однако это рекомендация, а не гарантия. Вызов Thread.yield() приводит к тому, что текущий поток переходит из исполняемого в состояние готовности, чтобы другие потоки могли получить доступ к процессору. Однако, если нет других готовых потоков с тем же приоритетом, поток может продолжить выполнение.
#вопросы_с_собеседований
Код, задачи и тесты по Java📚
Напоминаем, что мы запустили канал, в котором разбираемся в коде и проверяем свои знания с помощью тестов🤓
👉Подписывайтесь на «Библиотеку задач по Java»
Напоминаем, что мы запустили канал, в котором разбираемся в коде и проверяем свои знания с помощью тестов🤓
👉Подписывайтесь на «Библиотеку задач по Java»
Свойство типа Controller Service в кастомном процессоре NiFi
В этой короткой статье показано, как использовать в качестве одного из свойств кастомного процессора NiFi стандартную службу Controller Service, а также как написать тест для такого процессора. В качестве примера использована стандартную служба SSLContextService.
Читать статью
В этой короткой статье показано, как использовать в качестве одного из свойств кастомного процессора NiFi стандартную службу Controller Service, а также как написать тест для такого процессора. В качестве примера использована стандартную служба SSLContextService.
Читать статью
Очередной #дайджест по Java:
✍️ Опыт Сдачи: Oracle Certified Professional: Java SE 11 Developer 1Z0-819
Публикация для тех кто планирует сдавать OCP от Oracle (с личным опытом автора).
✍️ JavaDoc: добро или необходимое зло?
Рассказ о том, принёс ли JavaDoc пользу, а также немного слов о том, где усилия по JavaDoc были избыточны.
✍️ Как VMware создала проблему, а мы ее решили
Любопытный разбор кейса.
✍️ Одна из возможных версий переезда с MySQL на PostgreSQL
Автор рассказывает о подводных камнях переезда.
✍️ Разница между загрузкой и инициализацией классов в Java на любопытном примере
Статья о некоторых тонкостях загрузки и инициализации классов и немного о производительности.
👉Больше кода и задач в нашем канале «Библиотека задач по Java»
✍️ Опыт Сдачи: Oracle Certified Professional: Java SE 11 Developer 1Z0-819
Публикация для тех кто планирует сдавать OCP от Oracle (с личным опытом автора).
✍️ JavaDoc: добро или необходимое зло?
Рассказ о том, принёс ли JavaDoc пользу, а также немного слов о том, где усилия по JavaDoc были избыточны.
✍️ Как VMware создала проблему, а мы ее решили
Любопытный разбор кейса.
✍️ Одна из возможных версий переезда с MySQL на PostgreSQL
Автор рассказывает о подводных камнях переезда.
✍️ Разница между загрузкой и инициализацией классов в Java на любопытном примере
Статья о некоторых тонкостях загрузки и инициализации классов и немного о производительности.
👉Больше кода и задач в нашем канале «Библиотека задач по Java»
Какой сертификат вы бы посоветовали получить?
#интерактив
#интерактив
Метод repeat()
Этот метод копирует содержимое строки заданное количество раз и возвращает результат в одной строке.
Синтаксис: String repeat(int count).
#код
Этот метод копирует содержимое строки заданное количество раз и возвращает результат в одной строке.
Синтаксис: String repeat(int count).
#код
Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
Равные объекты должны возвращать одинаковые хэш коды. При переопределении equals() нужно обязательно переопределять и метод hashCode().
#вопросы_с_собеседований
Равные объекты должны возвращать одинаковые хэш коды. При переопределении equals() нужно обязательно переопределять и метод hashCode().
#вопросы_с_собеседований
Программа для преобразования десятичных чисел в шестнадцатеричные на Java
Воспользуемся методом Integer.toString().
Временная сложность: O(N)
Память: O(1)
#код
Воспользуемся методом Integer.toString().
Временная сложность: O(N)
Память: O(1)
#код
Сколько времени в рабочий день тратите на разработку?
#интерактив
#интерактив
Практический IT-интенсив: алгоритмы и структуры данных
🗓️ 14 августа, «NP-трудные задачи: почему их плохо решают».
🎙Дмитрий Коротенко простым языком объяснит, что такое NP-трудные задачи. И в прямом эфире раскажет про примеры, которые встречаются в реальном мире.
👉 Регистрируйтесь по ссылке
🗓️ 22 августа, «Графы: алгоритмы и структуры данных на Python».
🎙Иван Потапов расскажет, как графы представляются в коде, где бывает полезна топологическая сортировка. А также обсудим алгоритмы Дейкстры и Беллмана-Форда.
🗓️ 29 августа, «Собеседование на разработчика: разбор задач и ошибок».
🎙Алексей Бочкарев поделится своим опытом прохождения технических собеседований; разберет распространенные ошибки в коде и расскажет, как правильно подходить к задачам, тестировать решения.
👉Для регистрации и ознакомления с подробной программой перейдите по ссылке: https://proglib.io/w/0612e973
*Компания Meta признана в РФ экстремистской и запрещена
🗓️ 14 августа, «NP-трудные задачи: почему их плохо решают».
🎙Дмитрий Коротенко простым языком объяснит, что такое NP-трудные задачи. И в прямом эфире раскажет про примеры, которые встречаются в реальном мире.
👉 Регистрируйтесь по ссылке
🗓️ 22 августа, «Графы: алгоритмы и структуры данных на Python».
🎙Иван Потапов расскажет, как графы представляются в коде, где бывает полезна топологическая сортировка. А также обсудим алгоритмы Дейкстры и Беллмана-Форда.
🗓️ 29 августа, «Собеседование на разработчика: разбор задач и ошибок».
🎙Алексей Бочкарев поделится своим опытом прохождения технических собеседований; разберет распространенные ошибки в коде и расскажет, как правильно подходить к задачам, тестировать решения.
👉Для регистрации и ознакомления с подробной программой перейдите по ссылке: https://proglib.io/w/0612e973
*Компания Meta признана в РФ экстремистской и запрещена
Очередной #дайджест по Java:
☕️ Новый взгляд на Maven-plugin для IDEA — GMaven
О том, как устроен плагин под капотом, его сильных и слабых местах.
☕️ Kafka UI краткий гайд
☕️ Пошушукаемся о Барбаре Лисков или раз и навсегда запоминаем принцип подстановки
Принцип подстановки Лисков (англ. Liskov Substitution Principle, LSP) — принцип организации подтипов в объектно-ориентированном программировании, предложенный Барбарой Лисков в 1987 году.
☕️ Использование Kotlin и WebFlux для выполнения задач ML в Apache Spark на GPU
Это третья статья по теме реализации масштабируемой системы для выполнения задач распределенного машинного обучения на GPU с использованием Java, Kotlin, Spring и Spark.
☕️ Новый взгляд на Maven-plugin для IDEA — GMaven
О том, как устроен плагин под капотом, его сильных и слабых местах.
☕️ Kafka UI краткий гайд
☕️ Пошушукаемся о Барбаре Лисков или раз и навсегда запоминаем принцип подстановки
Принцип подстановки Лисков (англ. Liskov Substitution Principle, LSP) — принцип организации подтипов в объектно-ориентированном программировании, предложенный Барбарой Лисков в 1987 году.
☕️ Использование Kotlin и WebFlux для выполнения задач ML в Apache Spark на GPU
Это третья статья по теме реализации масштабируемой системы для выполнения задач распределенного машинного обучения на GPU с использованием Java, Kotlin, Spring и Spark.
✍️«Библиотека программиста» собирает кейсы использования нейросетей
Какие самые необычные задачи вы выполняли с помощью нейросетей? Может быть, вы просили ИИ пройти тестирование по правилам безопасности или писали с его помощью заявление на увольнение?
Заполняйте форму — лучшие истории появятся в нашей подборке по теме.
👉Ссылка тут👈
Какие самые необычные задачи вы выполняли с помощью нейросетей? Может быть, вы просили ИИ пройти тестирование по правилам безопасности или писали с его помощью заявление на увольнение?
Заполняйте форму — лучшие истории появятся в нашей подборке по теме.
👉Ссылка тут👈
Как преобразовать строку в Windows-1251?
В Java вы можете использовать классы Charset и String для преобразования строки из одной кодировки в другую. Пример на картинке выше.
Обратите внимание, что некоторые символы, которые существуют в кодировке Windows-1251, могут отсутствовать в кодировке UTF-16, поэтому процесс преобразования может вызвать потерю данных.
#код
В Java вы можете использовать классы Charset и String для преобразования строки из одной кодировки в другую. Пример на картинке выше.
Обратите внимание, что некоторые символы, которые существуют в кодировке Windows-1251, могут отсутствовать в кодировке UTF-16, поэтому процесс преобразования может вызвать потерю данных.
#код
🔍 Поиск в глубину
Это метод рекурсивного исследования всех вершин графа: начинаем с заданной стартовой вершины, сначала посещая как можно больше вершин вдоль каждой ветви, прежде чем вернуться.
Этот пример иллюстрирует обход в глубину для следующего графа:
0
/ \
1-----2
\
3
Начиная с вершины 2, алгоритм посетит вершины в следующем порядке: 2, 0, 1, 3.
#код
Это метод рекурсивного исследования всех вершин графа: начинаем с заданной стартовой вершины, сначала посещая как можно больше вершин вдоль каждой ветви, прежде чем вернуться.
Этот пример иллюстрирует обход в глубину для следующего графа:
0
/ \
1-----2
\
3
Начиная с вершины 2, алгоритм посетит вершины в следующем порядке: 2, 0, 1, 3.
#код
🐛🦋 Свитчеры после 30 лет: кто это, почему их не любят эйчары и как им найти работу в IT
Объясняем, как выжить тем, кто решил вкатиться в мир программирования после 30 лет.
🔗 Читать статью
🔗 Зеркало
Объясняем, как выжить тем, кто решил вкатиться в мир программирования после 30 лет.
🔗 Читать статью
🔗 Зеркало
Что не так с кодом?
Он не скомпилируется. Это вопрос на знание иерархии исключений: FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения, а в следующий блок catch управление передано не будет. Поэтому возникнет ошибка: exception FileNotFoundException has already been caught.
#вопросы_с_собеседований
Он не скомпилируется. Это вопрос на знание иерархии исключений: FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения, а в следующий блок catch управление передано не будет. Поэтому возникнет ошибка: exception FileNotFoundException has already been caught.
#вопросы_с_собеседований
Проверка на палиндром
Напишем небольшую программу, проверяющую является ли введенная строка палиндромом.
Перепишите код с картинки в файл с расширением .java, например, PalindromeChecker.java, затем скомпилируйте и запустите его с помощью команды javac PalindromeChecker.java, а затем java PalindromeChecker. Программа попросит вас ввести строку, и затем она выведет результат проверки на палиндром.
#код
Напишем небольшую программу, проверяющую является ли введенная строка палиндромом.
Перепишите код с картинки в файл с расширением .java, например, PalindromeChecker.java, затем скомпилируйте и запустите его с помощью команды javac PalindromeChecker.java, а затем java PalindromeChecker. Программа попросит вас ввести строку, и затем она выведет результат проверки на палиндром.
#код
Очередной #дайджест по Java:
✍️ Ракету пустил и забыл. Или как заставить DI работать
Рассматривается решение интересной задачи.
✍️ Поднимаем кластер PostgreSQL в Docker и Testcontainers
Такое решение помимо собственно отказоустойчивости позволяет частично решить проблему производительности, перераспределяя чтение данных с primary хоста на реплики.
✍️ Исчерпывающее руководство по одномерным массивам в Java
✍️ Список популярных утечек с GitHub: Анализ репозиториев компаний
Целью данного исследования было изучение файлов, которые компании могли случайно загрузить на GitHub, и выявление конфиденциальной информации, которая могла присутствовать в загруженных проектах.
✍️ Ракету пустил и забыл. Или как заставить DI работать
Рассматривается решение интересной задачи.
✍️ Поднимаем кластер PostgreSQL в Docker и Testcontainers
Такое решение помимо собственно отказоустойчивости позволяет частично решить проблему производительности, перераспределяя чтение данных с primary хоста на реплики.
✍️ Исчерпывающее руководство по одномерным массивам в Java
✍️ Список популярных утечек с GitHub: Анализ репозиториев компаний
Целью данного исследования было изучение файлов, которые компании могли случайно загрузить на GitHub, и выявление конфиденциальной информации, которая могла присутствовать в загруженных проектах.
Какое мероприятие по разработке вы посещали последним и будете ли на нем в следующий раз?
#интерактив
Кстати, на нашем сайте есть раздел с анонсами мероприятий по программированию.
#интерактив
Кстати, на нашем сайте есть раздел с анонсами мероприятий по программированию.