Java Learning
18.9K subscribers
1.6K photos
1 video
3 files
982 links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
#Вопросы_с_собеседования

Каковы состояния в жизненном цикле потока?

1) New: В этом состоянии объект класса Thread создается с использованием оператора new, но поток не существует. Поток не запускается, пока мы не вызовем метод start().
2) Runnable: В этом состоянии поток готов к запуску после вызова метода start(). Однако он еще не выбран планировщиком потока.
3) Running: В этом состоянии планировщик потока выбирает поток из состояния готовности, и тот работает.
4) Waiting/Blocked: в этом состоянии поток не работает, но все еще жив или ожидает завершения другого потока.
5) Dead/Terminated: при выходе из метода run() поток находится в завершенном или мертвом состоянии.
👍31
Spring. Экспертное мнение о плюсах и минусах самого популярного Java-фреймворка

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

Смотреть статью
👍10
Зубчатый массив в Java

Зубчатый массив — это массив массивов, в котором массивы элементов могут быть разных размеров, т. е. мы можем создать двумерный массив, но с переменным числом столбцов в каждой строке. Эти типы массивов также известны как зубчатые массивы.

Подробнее о зубчатых массивах можно почитать здесь.
👍23🔥1
#Вопросы_с_собеседования

Могут ли у разных объектов быть одинаковые hashCode()?

Да, могут. Метод hashCode() не гарантирует уникальность возвращаемого значения. Ситуация, когда у разных объектов одинаковые хэш коды называется коллизией. Вероятность возникновения коллизии зависит от используемого алгоритма генерации хэш кода.
👍31
Сравнение массивов с Arrays.equals

Чтобы проверить, равны ли два массива с точки зрения их содержимого, Java предоставляет статический метод Arrays.equals . Этот метод будет выполнять параллельную итерацию по массивам для каждой позиции и применять оператор == для каждой пары элементов.
👍32🔥4
#Вопросы_с_собеседования

Как можно вывести на экран уникальные квадраты чисел используя метод map()?

Ответ на картинке.
👍28
#Вопросы_с_собеседования

Объясните смысл параметров в конструкторе HashMap(int initialCapacity, float loadFactor)


initialCapacity - исходный размер HashMap, количество корзин в хэш-таблице в момент её создания.
loadFactor - коэффициент заполнения HashMap, при превышении которого происходит увеличение количества корзин и автоматическое перехэширование. Равен отношению числа уже хранимых элементов в таблице к её размеру.
👍16
#Вопросы_с_собеседования

Как можно заранее выйти из цикла?

Используя оператор break, мы можем немедленно прекратить выполнение цикла:

for (int i = 0; ; i++) {
if (i > 10) {
break;
}
}
😢23👍142🤔2
#Вопросы_с_собеседования

Что такое неизменяемый класс?

Класс называется неизменяемым, если его состояние не может быть изменено после создания. К примеру String в Java является неизменяемым. Как только вы создадите строку, вы не можете изменить ее содержание, и любая операция над ней вернёт новый объект.

Неизменяемые объекты хорошо применять при многопоточном программировании, так как при их использовании вы можете не беспокоиться о синхронизации. По сути, вся парадигма функционального программирования построена на неизменяемых объектах.

Подробнее тут: https://javarevisited.blogspot.com/2013/03/how-to-create-immutable-class-object-java-example-tutorial.html#axzz7O0LoB9rM
👍15
👍8
👍27🔥5
Как преобразовать цветное изображение в черно-белое

Иногда может потребоваться преобразовать изображение в двоичное. Другими словами, вам нужно преобразовать цветное изображение или изображение в оттенках серого в черно-белое изображение.

Более подробно о работе с изображениями вы можете ознакомиться здесь.
👍258
#Вопросы_с_собеседования

Какой результат будет выведен в консоль?

Ответ:
This is abstract class constructor
This is demo class constructor

Вопрос на понимание абстрактных классов. Создать экземпляр абстрактного класса нельзя, но он все же имеет конструктор. Более того любой класс имеет конструктор, даже если он не задан явно (он будет добавлен при компиляции). Здесь важно понимать, что при создании экземпляра наследника, самой первой строкой в конструкторе класса наследника будет вызван конструктор класса родителя.
👍36
#Вопросы_с_собеседования

Что такое Java Classloader? Перечислите и объясните назначение трех типов загрузчиков классов.

Загрузчик классов Java — это часть среды выполнения Java, которая загружает классы по запросу (отложенная загрузка) в JVM (виртуальную машину Java). Классы могут быть загружены из локальной файловой системы, удаленной файловой системы или даже из Интернета.

При запуске JVM используются три загрузчика классов: 1. Bootstrap Classloader: загружает основной файл java API rt.jar из папки. 2. Extension Classloader: загружает файлы JAR из папки. 3. System classloader
👍25
Округление дробных чисел до целых

1) Math.ceil(n) — возвращает наименьшее целое число, которое больше или равно аргумента n.
2) Math.floor(n) — возвращает наибольшее целое число, которое меньше или равно аргументу n.
3) Math.round(n) — возвращает целое число, ближайшее к аргументу n (округляет n).
👍25
#Вопросы_с_собеседования

Могут ли нестатические методы перегрузить статические?

Да. В итоге получится два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.
👍29😱4🤔2
#Вопросы_с_собеседования

Какая проблема возникнет с этим кодом?

Ответ: Данный код не с компилируется.

Этот вопрос на знание иерархии исключений, в данном случае FileNotFoundException унаследован от IOException, первый catch будет перехватывать все исключения и в следующий блок catch управление не будет передано.
👍23😢8