Please open Telegram to view this post
VIEW IN TELEGRAM
Чем отличается оператор == от метода equals() при сравнении объектов в Java?
Anonymous Quiz
17%
== сравнивает содержимое, equals() — ссылки на объекты
67%
== сравнивает ссылки, equals() — содержимое
1%
Оба всегда сравнивают только содержимое
11%
== работает только для примитивов, equals() — только для объектов
4%
Посмотреть ответ
Что такое volatile-поле в Java?
Anonymous Quiz
1%
Поле, к которому нельзя обратиться из других классов
22%
Поле, доступ к которому синхронизирован блоком synchronized
64%
Поле, значение которого всегда читается/записывается напрямую в основную память
7%
Поле, которое автоматически инкрементируется при каждом доступе
7%
Посмотреть ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
Модификатор доступа static в Java. Часть 14.
Константы.
Говоря о ключевом слове static, нельзя не упомянуть о его применении в определении констант — переменных, которые никогда не изменяются.
В языке Java существует зарезервированное слово «const», но оно не используется, и Java не поддерживает константы на уровне языка. Выход из ситуации имеется: для определения константы необходимо добавить модификаторы «static final» к полю класса.
Константы — это статические неизменяемые поля, содержимое которых неизменно. Это может относиться к примитивам, String и другим классам оберткам, а также к неизменяемым коллекциям.
Если состояние объекта может измениться, он не является константой.
Модификатор static делает переменную доступной без создания экземпляра класса, а final делает ее неизменяемой.
При этом нужно помнить, что если мы сделаем переменную только static, то ее легко можно будет изменить, обратившись к ней через имя класса.
Если переменная будет иметь только модификатор final, то при создании каждого экземпляра класса она может быть проинициализирована своим значением.
Соответственно, используя совместно модификаторы static и final, переменная остается статической и может быть проинициализирована только один раз.
В Java константой считается не та переменная, которую нельзя изменить в рамках одного объекта, а та, которую не могут изменить ни один экземпляр класса в котором она находится (такая переменная создается и инициализируется один раз для всех экземпляров, сколько бы их не было).
✅ JavaStart. Подписаться
Константы.
Говоря о ключевом слове static, нельзя не упомянуть о его применении в определении констант — переменных, которые никогда не изменяются.
В языке Java существует зарезервированное слово «const», но оно не используется, и Java не поддерживает константы на уровне языка. Выход из ситуации имеется: для определения константы необходимо добавить модификаторы «static final» к полю класса.
Константы — это статические неизменяемые поля, содержимое которых неизменно. Это может относиться к примитивам, String и другим классам оберткам, а также к неизменяемым коллекциям.
Если состояние объекта может измениться, он не является константой.
Модификатор static делает переменную доступной без создания экземпляра класса, а final делает ее неизменяемой.
При этом нужно помнить, что если мы сделаем переменную только static, то ее легко можно будет изменить, обратившись к ней через имя класса.
Если переменная будет иметь только модификатор final, то при создании каждого экземпляра класса она может быть проинициализирована своим значением.
Соответственно, используя совместно модификаторы static и final, переменная остается статической и может быть проинициализирована только один раз.
В Java константой считается не та переменная, которую нельзя изменить в рамках одного объекта, а та, которую не могут изменить ни один экземпляр класса в котором она находится (такая переменная создается и инициализируется один раз для всех экземпляров, сколько бы их не было).
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Какая аннотация в Spring MVC позволяет сопоставить HTTP-GET запрос на метод контроллера?
Anonymous Quiz
2%
@PostMapping
4%
@RequestBody
82%
@GetMapping
12%
@RestController
0%
Посмотреть ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
Модификатор доступа static в Java. Часть 15.
Причины использовать константы.
1) Константы улучшают читабельность программного кода;
Улучшают производительность приложения, поскольку они кешируются как JVM, так и самим приложением.
2) Используя константы вместо чисел, вы практикуете применение паттерна Magic Number.
Ключевые моменты.
1) При использовании констант необходимо соблюдать соглашения об именах. Константы именуются в стиле CONSTANT_CASE: все буквы в верхнем регистре, каждое слово отделено от следующего подчеркиванием;
2) Разместить константы можно в классе, который их будет использовать, в отдельных нескольких классах в соответствии с логикой использования констант, в одном большом отдельном глобальном классе и в интерфейсе;
3) Если константы относятся к перечисляемому типу (например дни недели, месяцы и т.д.), то для таких констант удобнее использовать enum.
✅ JavaStart. Подписаться
Причины использовать константы.
1) Константы улучшают читабельность программного кода;
Улучшают производительность приложения, поскольку они кешируются как JVM, так и самим приложением.
2) Используя константы вместо чисел, вы практикуете применение паттерна Magic Number.
Ключевые моменты.
1) При использовании констант необходимо соблюдать соглашения об именах. Константы именуются в стиле CONSTANT_CASE: все буквы в верхнем регистре, каждое слово отделено от следующего подчеркиванием;
2) Разместить константы можно в классе, который их будет использовать, в отдельных нескольких классах в соответствии с логикой использования констант, в одном большом отдельном глобальном классе и в интерфейсе;
3) Если константы относятся к перечисляемому типу (например дни недели, месяцы и т.д.), то для таких констант удобнее использовать enum.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как называется сборщик мусора, работающий по принципу «молодое/старое поколение» с генерациями?
Anonymous Quiz
21%
Serial GC
46%
G1 GC
11%
Parallel GC
8%
CMS
13%
Посмотреть ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
Java простыми словами.
Java является объектно–ориентированным языком программирования 👨💻
Объект в Java – это любая сущность, обладающая характерным поведением (имеет какие-то методы) и отличительными характеристиками (имеет какие-то поля – атрибуты).
Объектно–ориентированное программирование – парадигма программирования, в которой программа строится из взаимодействующих объектов 🤝
✅ JavaStart. Подписаться
Java является объектно–ориентированным языком программирования 👨💻
Объект в Java – это любая сущность, обладающая характерным поведением (имеет какие-то методы) и отличительными характеристиками (имеет какие-то поля – атрибуты).
Объектно–ориентированное программирование – парадигма программирования, в которой программа строится из взаимодействующих объектов 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В чём преимущество использования JPA (Hibernate) над «чистым» JDBC?
Anonymous Quiz
70%
Нет необходимости писать SQL-запросы вручную
3%
JPA быстрее выполняет запросы
9%
JPA не требует конфигурации подключения к БД
5%
JDBC не поддерживает транзакции
13%
Посмотреть ответ
Please open Telegram to view this post
VIEW IN TELEGRAM
Для чего используется класс Optional<T> в Java?
Anonymous Quiz
14%
Хранения коллекции значений типа T
7%
Замена типа Future<T>
72%
Обёртка, позволяющая избежать NullPointerException при отсутствии значения
2%
Специальный тип для работы с потоками ввода/вывода
5%
Посмотреть ответ
Что обязательно следует переопределить вместе с equals() для корректной работы хеш-коллекций?
Anonymous Quiz
1%
clone()
8%
toString()
2%
finalize()
87%
hashCode()
1%
Посмотреть ответ
Основные принципы ООП в Java простыми словами.
Наследование, инкапсуляция, полиморфизм, абстракция.
Суть наследования состоит в том, что один объект может наследовать свойства другого объекта, а также иметь свои собственные.
Полиморфизм заключается в том, что один и тот же метод может работать по-разному в зависимости от объекта, где он вызван, и данных, которые ему передали.
Инкапсуляция же подразумевает, что вся информация, которая нужна для работы конкретного объекта, должна храниться внутри этого объекта. Для внешних объектов доступны только публичные атрибуты и методы.
Не так давно начали выделять Абстракцию — это выделение общих характеристик объектов, их свойств и методов, при игнорировании деталей реализации.
✅ JavaStart. Подписаться
Наследование, инкапсуляция, полиморфизм, абстракция.
Суть наследования состоит в том, что один объект может наследовать свойства другого объекта, а также иметь свои собственные.
Полиморфизм заключается в том, что один и тот же метод может работать по-разному в зависимости от объекта, где он вызван, и данных, которые ему передали.
Инкапсуляция же подразумевает, что вся информация, которая нужна для работы конкретного объекта, должна храниться внутри этого объекта. Для внешних объектов доступны только публичные атрибуты и методы.
Не так давно начали выделять Абстракцию — это выделение общих характеристик объектов, их свойств и методов, при игнорировании деталей реализации.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что добавило в язык использование record (Java 14+) по сравнению с обычным классом?
Anonymous Quiz
3%
Наследование от другого класса
49%
Автоматически генерируемые equals, hashCode, toString
11%
Возможность анонимных внутренних классов
16%
Поддержку множественного наследования с implements
21%
Посмотреть ответ