#Вопросы_с_собеседования
❓Каким образом реализованы методы hashCode() и equals() в классе Object?
Реализация метода
Реализация метода
❓Каким образом реализованы методы hashCode() и equals() в классе Object?
Реализация метода
Object.equals()
сводится к проверке на равенство двух ссылок(код 1 на картинке).Реализация метода
Object.hashCode()
описана как native
, т.е. определенной не с помощью Java кода и обычно возвращает адрес объекта в памяти(код 2 на картинке).👍32👎6
Топ 10 фреймворков тестирования для Java в 2020 году
Java не зря считают одним из наиболее универсальных языков программирования. В этой статье мы расскажем о 10 лучших фреймворках тестирования для него.
Смотреть статью
Java не зря считают одним из наиболее универсальных языков программирования. В этой статье мы расскажем о 10 лучших фреймворках тестирования для него.
Смотреть статью
Библиотека программиста
☕ Топ 10 фреймворков тестирования для Java в 2020 году
Java не зря считают одним из наиболее универсальных языков программирования. В этой статье мы расскажем о 10 лучших фреймворках тестирования для него.
👍10
#Вопросы_с_собеседования
❓Какие существуют unchecked exception?
Наиболее часто встречающиеся:
❓Какие существуют unchecked exception?
Наиболее часто встречающиеся:
ArithmeticException, ClassCastException, ConcurrentModificationException, IllegalArgumentException, IllegalStateException, IndexOutOfBoundsException, NoSuchElementException, NullPointerException, UnsupportedOperationException.
👍27
👍42
Введение в сериализацию
Сериализация — это процесс сохранения состояния объекта в последовательность байт.
Смотреть видео
Сериализация — это процесс сохранения состояния объекта в последовательность байт.
Смотреть видео
YouTube
Урок по Java 46: Сериализация
Cкидки до 22-го января на все курсы всего за 9.99:
Каждый купон расчитан на 10 покупок, спешите!
Новый курс по Photoshop:
https://www.udemy.com/course/draft/3356128/?couponCode=4CD42A416E75E5BB51B2
HIBERNATE:
https://www.udemy.com/course/hibernate-kurs/…
Каждый купон расчитан на 10 покупок, спешите!
Новый курс по Photoshop:
https://www.udemy.com/course/draft/3356128/?couponCode=4CD42A416E75E5BB51B2
HIBERNATE:
https://www.udemy.com/course/hibernate-kurs/…
👍12
#Вопросы_с_собеседования
❓Как исключить поля из сериализации?
Для управления сериализацией при определении полей можно использовать ключевое слово
❓Как исключить поля из сериализации?
Для управления сериализацией при определении полей можно использовать ключевое слово
transient
, таким образом исключив поля из общего процесса сериализации.👍26
#Вопросы_с_собеседования
❓Напишите потокобезопасную реализацию класса с неблокирующим методом BigInteger next(), который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]
Ответ на картинке.
❓Напишите потокобезопасную реализацию класса с неблокирующим методом BigInteger next(), который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]
Ответ на картинке.
👍31
#Вопросы_с_собеседования
❓Может ли один блок catch отлавливать сразу несколько исключений?
В Java 7 стала доступна новая языковая конструкция, с помощью которой можно перехватывать несколько исключений одним блоком
❓Может ли один блок catch отлавливать сразу несколько исключений?
В Java 7 стала доступна новая языковая конструкция, с помощью которой можно перехватывать несколько исключений одним блоком
catch
.👍47
elastic/elasticsearch ⭐️ 59k
Это распределенная поисковая система на Java с большими возможностями. Поддерживает многопоточность, горизонтально масштабируется. Находится в свободном доступе и используется многими популярными сайтами.
https://github.com/elastic/elasticsearch
Это распределенная поисковая система на Java с большими возможностями. Поддерживает многопоточность, горизонтально масштабируется. Находится в свободном доступе и используется многими популярными сайтами.
https://github.com/elastic/elasticsearch
GitHub
GitHub - elastic/elasticsearch: Free and Open Source, Distributed, RESTful Search Engine
Free and Open Source, Distributed, RESTful Search Engine - elastic/elasticsearch
👍9👎1
#Вопросы_с_собеседования
❓Как поведёт себя коллекция, если вызвать iterator.remove()?
Если вызову
❓Как поведёт себя коллекция, если вызвать iterator.remove()?
Если вызову
iterator.remove()
предшествовал вызов iterator.next()
, то iterator.remove()
удалит элемент коллекции, на который указывает итератор, в противном случае будет выброшено IllegalStateException()
.👍32
👍35😱2
#Вопросы_с_собеседования
❓В реализации класса ArrayList есть следующие поля: Object[] elementData, int size. Объясните, зачем хранить отдельно size, если всегда можно взять elementData.length?
Размер массива
❓В реализации класса ArrayList есть следующие поля: Object[] elementData, int size. Объясните, зачем хранить отдельно size, если всегда можно взять elementData.length?
Размер массива
elementData
представляет собой вместимость (capacity) ArrayList
, которая всегда больше переменной size
- реального количества хранимых элементов. При необходимости вместимость автоматически возрастает.👍40❤1
Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana
В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.
Смотреть статью
В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.
Смотреть статью
Хабр
Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana
Туториалы делятся на две больших категории: либо "как нарисовать сову", либо подробно расписанные тысячи шагов в формате "напиши туториал для дурака - и только дурак захочет его читать". К какой из...
👍21
#Вопросы_с_собеседования
❓Даны 3 потока Т1, Т2 и Т3? Как реализовать выполнение в последовательности Т1, Т2, Т3?
Такой последовательности выполнения можно достичь многими способами, например просто воспользоваться методом, чтобы запустить поток в момент, когда другой уже закончит своё выполнение.
Для реализации заданной последовательности, нужно запустить последний поток первым, и затем вызывать метод
❓Даны 3 потока Т1, Т2 и Т3? Как реализовать выполнение в последовательности Т1, Т2, Т3?
Такой последовательности выполнения можно достичь многими способами, например просто воспользоваться методом, чтобы запустить поток в момент, когда другой уже закончит своё выполнение.
Для реализации заданной последовательности, нужно запустить последний поток первым, и затем вызывать метод
join()
в обратном порядке, то есть Т3 вызывает Т2.join
, а Т2 вызывает Т1.join
, таким образом Т1 закончит выполнение первым, а Т3 последним.👍36
Извлекаем год, месяц и день из даты
Чтобы извлечь год, LocalDate просто предоставляет метод getYear.
Аналогично, для извлечения месяца мы используем getMonthValue API. В отличие от календаря, месяцы в LocalDate индексируются с 1; для января это вернет 1.
Наконец, для извлечения дня у нас есть метод getDayOfMonth.
Чтобы извлечь год, LocalDate просто предоставляет метод getYear.
Аналогично, для извлечения месяца мы используем getMonthValue API. В отличие от календаря, месяцы в LocalDate индексируются с 1; для января это вернет 1.
Наконец, для извлечения дня у нас есть метод getDayOfMonth.
👍35
#Вопросы_с_собеседования
❓Каково максимальное число значений hashCode()?
Число значений следует из сигнатуры
❓Каково максимальное число значений hashCode()?
Число значений следует из сигнатуры
int hashCode()
и равно диапазону типа int
— 2^32.👍33❤2
#Вопросы_с_собеседования
❓Что позволяет сделать PriorityQueue?
Особенностью
Используя
❓Что позволяет сделать PriorityQueue?
Особенностью
PriorityQueue
является возможность управления порядком элементов. По-умолчанию, элементы сортируются с использованием «natural ordering», но это поведение может быть переопределено при помощи объекта Comparator
, который задаётся при создании очереди. Данная коллекция не поддерживает null в качестве элементов.Используя
PriorityQueue
, можно, например, реализовать алгоритм Дейкстры для поиска кратчайшего пути от одной вершины графа к другой. Либо для хранения объектов согласно определённого свойства.👍24👎1