Для начала разберемся, что такое XML файл и для чего он нужен. Для Java-приложений XML-файлы могут также служить в качестве конфигурационных файлов (например, для сохранения параметров приложения, конфигурации сервисов и других настроек). Также, XML файл достаточно удобен для передачи какой либо информации между разными системами (например между сервером и телефоном). Представляет собой текстовый файл, содержащий информацию в структурированном виде, который понятен для большинства языков программирования, и как раз в этом и есть основное назначение XML файла.
Используя сериализацию объектов, мы сможем разложить свои объекты на последовательность байтов и затем использовать их наиболее эффективным образом (обычно используется в Hibernate, JMS, JPA и EJB). Для чего? Чтобы создаваемые нами объекты могли существовать за пределами жизненного цикла виртуальной машины.
Перед определением IoC и DI, стоит кратко рассмотреть, что такое Spring Container. Данный контейнер является ответственным за создание и управление объектов (это контейнер, в котором будут находиться созданные объекты(бины), откуда мы их сможем извлекать, запустив приложение). Контейнер будет читать наш configuration file и внутри контейнера будет создаваться бин, который мы опишем в конфигурационном файле.
Какие бывают ассоциативные массивы (Map)? Какие из них быстрее? Что нужно сделать, чтобы они заработали быстрее? Для чего нужны ф-ии hashCode и equals?