Мои осознания от работы
Чем JPA отличается от Hibernate?
Ответ: JPA — это спецификация, а Hibernate — конкретный инструмент, её реализующий.
Работа с кешем В Spring есть несколько аннотация для работы с кешем 🔘 @Cacheable — кладёт результат в кеш 🔘 @CachePut — обновляет кеш 🔘 @CacheEvict — удаляет из кеша
Под капотом это работает (через Spring AOP или CGLIB), который перехватывает вызовы методов благодаря аспектам, потом проверяет кеш и возвращает либо сохранённое значение, либо выполняет метод и кеширует результат.
Может ли класс быть static ? Только вложенные или inner class могут быть static. (Объявленные внутри другого класса). Такие классы создаются без экземпляра внешнего класса. Они не имеют доступ к не статическим полям внешнего или outer класса. Внешний класс нельзя объявить статиком.
Различие между .map и .flatMap
.map - изменяет каждое значение или элемент коллекции по заданному правилу и возвращает коллекцию в исходном размере. .flatMap - он преобразует все элементы в коллекцию, будь-то поток, сложная и вложенная мапа. И потом все это разглаживает и объединяет (как метод .flutten в Kotlin) в одну коллекцию.