👍8😢2
#Вопросы_с_собеседования
В чем разница между Thread.sleep() и Thread.yield()?
В чем разница между Thread.sleep() и Thread.yield()?
Thread.sleep(): Этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep(), поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep() может сгенерировать исключение InterruptedException, поэтому необходимо обрабатывать его или пробрасывать.Thread.yield(): Этот метод предоставляет намек планировщику потоков на то, что поток, вызвавший yield(), готов уступить процессорное время другим потокам с тем же приоритетом. Однако это рекомендация, а не гарантия. Вызов Thread.yield() приводит к тому, что текущий поток переходит из исполняемого в состояние готовности, чтобы другие потоки могли получить доступ к процессору. Однако, если нет других готовых потоков с тем же приоритетом, поток может продолжить выполнение.👍24❤1🔥1
Разница между загрузкой и инициализацией классов в Java на любопытном примере
Смотреть статью
Смотреть статью
Хабр
Разница между загрузкой и инициализацией классов в Java на любопытном примере
Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце). Поводом для написания статьи стал вопрос на...
👍2
Какого сборщика мусора не существует для Jvm?
Anonymous Quiz
7%
Serial GC
7%
Parallel GC
26%
CMS
31%
G2
29%
Узнать ответ
👍12😱5
Что будет напечатано в результате выполнения этого кода?
Anonymous Quiz
46%
Ошибка компиляции
22%
11
9%
10
15%
1
9%
0
👍18
Prototype
В Java паттерн Prototype используется для создания новых объектов путем клонирования существующих объектов, вместо создания новых объектов с помощью конструкторов.
Для реализации этого паттерна необходимо, чтобы классы имели возможность клонирования, что достигается реализацией интерфейса
В этом примере класс
В
В Java паттерн Prototype используется для создания новых объектов путем клонирования существующих объектов, вместо создания новых объектов с помощью конструкторов.
Prototype позволяет создавать копии объектов с минимальными затратами и избегать сложной логики инициализации объектов.Для реализации этого паттерна необходимо, чтобы классы имели возможность клонирования, что достигается реализацией интерфейса
Cloneable и переопределением метода clone().В этом примере класс
Sheep имеет два приватных поля name и color, а также соответствующие геттеры и сеттеры. Класс также имплементирует интерфейс Cloneable и переопределяет метод clone() для создания копии объекта.В
main мы создаем оригинальный объект, клонируем его с помощью метода clone() и получаем клонированный объект clonedSheep. Затем мы изменяем его параметры и выводим результат.👍12❤1
Что такое класс Object? Какие в нем есть методы?
Object это базовый класс для всех остальных объектов в Java. Любой класс наследуется от Object и, соответственно, наследуют его методы:public boolean equals(Object obj) – служит для сравнения объектов по значению;int hashCode() – возвращает hash код для объекта;String toString() – возвращает строковое представление объекта;Class getClass() – возвращает класс объекта во время выполнения;protected Object clone() – создает и возвращает копию объекта;void notify() – возобновляет поток, ожидающий монитор;void notifyAll() – возобновляет все потоки, ожидающие монитор;void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.👍15❤2
Что выведет следующий код?
Anonymous Quiz
25%
012012012
14%
000111222
4%
010120212
57%
Все варианты правильные
👍18😢4❤1
#Вопросы_с_собеседования
Что такое «интеграционное тестирование»?
Интеграционное тестирование (
Что такое «интеграционное тестирование»?
Интеграционное тестирование (
integration testing) — это тестирование, проверяющие работоспособность двух или более модулей системы в совокупности — то есть нескольких объектов как единого блока. В тестах взаимодействия же тестируется конкретный, определенный объект и то, как именно он взаимодействует с внешними зависимостями.👍17
Оптимизация поиска товаров в приложении-маркетплейсе на примере eBay с использованием Java
Сегодня мы рассмотрим тему, которая будет полезна для Senior Java Developer, работающего над разработкой маркетплейса, такого как eBay: оптимизация поиска товаров. Мы изучим пример реализации простой системы индексирования товаров на основе префиксного дерева (трие) для обеспечения эффективного поиска товаров.
Реализация префиксного дерева для индексирования товаров
1. Создайте класс TrieNode, который будет представлять узел в префиксном дереве
2. Создайте класс ProductTrie, который будет содержать методы для добавления и поиска товаров
3. Воспользуйтесь классом ProductTrie для индексирования и поиска товаров
В этом примере мы реализовали индексирование и поиск товаров с использованием префиксного дерева. Оптимизация поиска товаров важна для любого приложения-маркетплейса, такого как eBay. Этот пример может быть использован как отправная точка для оптимизации поиска товаров в вашем приложении.
Сегодня мы рассмотрим тему, которая будет полезна для Senior Java Developer, работающего над разработкой маркетплейса, такого как eBay: оптимизация поиска товаров. Мы изучим пример реализации простой системы индексирования товаров на основе префиксного дерева (трие) для обеспечения эффективного поиска товаров.
Реализация префиксного дерева для индексирования товаров
1. Создайте класс TrieNode, который будет представлять узел в префиксном дереве
2. Создайте класс ProductTrie, который будет содержать методы для добавления и поиска товаров
3. Воспользуйтесь классом ProductTrie для индексирования и поиска товаров
В этом примере мы реализовали индексирование и поиск товаров с использованием префиксного дерева. Оптимизация поиска товаров важна для любого приложения-маркетплейса, такого как eBay. Этот пример может быть использован как отправная точка для оптимизации поиска товаров в вашем приложении.
🔥13👍3
Укажите все advice-интерфейсы, методы которых не требуют явного вызова target-метода
Anonymous Quiz
8%
1.MethodBeforeAdvice
5%
2.AfterReturningAdvice
13%
3.ThrowsAdvice
16%
1 и 3
13%
2 и 3
31%
Все
14%
1 и 2
👍4
В чём различия между volatile и Atomic переменными?
volatile принуждает использовать единственный экземпляр переменной, но не гарантирует атомарность. Например, операция count++ не станет атомарной просто потому, что count объявлена volatile. C другой стороны class AtomicInteger предоставляет атомарный метод для выполнения таких комплексных операций атомарно, например getAndIncrement() – атомарная замена оператора инкремента, его можно использовать, чтобы атомарно увеличить текущее значение на один. Похожим образом сконструированы атомарные версии и для других типов данных.👍16