Java Learning
18.9K subscribers
1.61K photos
1 video
3 files
986 links
№ 5079899194

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

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

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

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

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

Используя оператор 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
Метод subList()

Метод subList() класса java.util.AbstractList используется для возврата представления части этого списка между указанным fromIndex, включительно, и toIndex, исключая. (Если fromIndex и toIndex равны, возвращаемый список пуст).

Подробнее можно почитать здесь.
👍10😢1
👍3😢1
😱19👍14🤔7😢1
randomUUID()

java.util.UUID — это еще один класс Java, который можно использовать для генерации случайной строки. Он предлагает статический метод randomUUID(), который возвращает случайную буквенно-цифровую строку из 32 символов.

Теперь следует отметить, что случайно сгенерированная строка также имеет случайные вхождения «_». С этим можно легко справиться, используя метод replaceAll() в конце, чтобы заменить все '_' пустой строкой.
👍241😱1
#Вопросы_с_собеседования

Как перебрать элементы LinkedList в обратном порядке, не используя медленный get(index)?

Для этого в LinkedList есть обратный итератор, который можно получить вызва метод descendingIterator().
👍28
#Вопросы_с_собеседования

Какие виды ссылок на методы вы знаете?

☕️ ссылки на статические методы;
☕️ ссылки на методы экземпляра;
☕️ ссылки на конструкторы;
☕️ ссылки на обобщенные (шаблонные) методы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Зачем нужны профили в Spring?

При разработке приложений мы обычно имеем дело с несколькими средами, такими как Dev, QA и Prod. Свойства конфигурации для этих сред отличаются.

Например, мы можем использовать встроенную базу данных H2 для Dev, но Prod может использовать проприетарную базу данных Oracle или DB2. Даже если СУБД одинакова во всех средах, URL-адреса определенно будут разными.

Чтобы сделать это простым и понятным, Spring предоставляет профили, помогающие разделить конфигурацию для каждой среды.Таким образом, вместо того, чтобы поддерживать это программно, свойства можно хранить в отдельных файлах, таких как application-dev.properties и application-prod.properties. По умолчанию application.properties указывает на текущий активный профиль с помощью spring.profiles.active, чтобы подобрать правильную конфигурацию.

Больше узнать о профилях в Spring можно по ссылке: https://www.baeldung.com/spring-profiles
👍9