JavaNotes
Эта страница — карта базы. Обзорные заметки задают маршрут, а вложенные ссылки ведут к отдельным механизмам, примерам и вопросам для собеседований.
Java Core
- Java Core
- О языке Java
- Базовый синтаксис java
- Переменные и типы данных Java
- Классы обертки Java
- Символы char Java
- Перевод кода в char и обратно
- Работа со строковыми данными
- Работа с числовыми данными
- Логические операторы Java
- Побитовые операции
- Двоичная система счисления
- Условные конструкции Java
- Циклы в Java, работа с массивами, ввод данных
- static java
- Основы ООП
- Работа с исключениями в Java
- Сериализация
- Клонирование
- Понятие рефлективность Java
- Новый кодировщик Java 8 Base 64
Ввод-вывод
JVM и выполнение программы
- Структура JDK
- Class loader
- Стек и куча в Java
- Garbage collector
- Нововведения Java 8
- Нововведения Java 17
- Движок JavaScript Nashorn
Коллекции и generics
Функциональный стиль и Stream API
- Функциональное программирование
- Функциональные интерфейсы
- Лямбда выражения
- ФИ стандартной библиотеки Java
- Stream API
Многопоточность
- Многопоточность в Java
- Отличие Thread от Runnable создание потоков
- В каких состояниях может находиться поток
- Методы класса Thread
- Приоритет потока
- демон-поток
- Java Memory Model
- happens before
- Синхронизация в Java
- Системная синхронизация с использованием wait(), notify(), notifyALll()
- volatile
- Atomic типы данных
- Race condition
- deadlock
- livelock
- Объект Future
- FutureTask
- Фреймворк fork и join
- Зачем используются thread local переменные
SQL и базы данных
- SQL
- Структура данных в БД
- Транзакции принцип ACID
- Индексы SQL
- SQL оценка производительности
- Селективность SQL
- Нормализация денормализация
- Шардирование базы данных
- SQL инъекции
JPA и Hibernate
- JPA Hibernate и JDBC сравнение интерфейсов
- Hibernate
- Каким условиям должен удовлетворять класс чтобы являться Entity
- EntityManager
- Session
- Persistence Context
- Жизненный цикл Entity в Hibernate
- Маппинг Hibernate
- Основные аннотации Hibernate
- Каскадные обновления
- Fetch type Hibernate
- Проблема N plus 1 Select Hibernate
- Entity Graph
- Проблема декартова произведения Cartesian product problem в Hibernate
- LockModeType
- Кэширование hibernate
- Criteria API
- JDBC
Spring
- Spring
- Разница между BeanFactrory и ApplicationContext
- Spring Dependency Injection и Inversion of Control
- Способы внедрения зависимостей Spring
- Как заинжекить коллекцию
- Как заинжекить примитив
- Можно ли вставить бин в статическое поле
- Жизненный цикл бина
- Spring AOP
- Spring Boot
- Spring WEB
- Spring Data JPA
- Безопасность приложения Spring Security
- Spring Reactor
- Что изменилось в Spring 5
- Transactional
Web и интеграции
- Принципы организации Интернет
- DNS
- Http протокол
- REST
- ViewResolver
- Jackson
- Regex
- SSL
- Сервлет
- Tomcat
- MVC
- Kafka
- Camunda 7 и BPMN
- Circuit Breaker, Предохранитель, автоматический выключатель
Инструменты и эксплуатация
- Основы GIT
- Docker
- Linux
- Kubernetes и k3s
- Lens
- Log4j
- Основы иcпользования Maven
- Инженерные инструменты эксплуатации
Алгоритмы и структуры данных
Паттерны
Практика инженера
- Java pre-project
- Базовые инструменты разработки
- Сервисы для программистов
- Сервисы для обучения программированию
- Тестирование
- Подготовка к собеседованиям - дорожная карта
- Инженерные кейсы
- Как я веду и публикую JavaNotes
- Сайд проекты
Системное мышление
- Системный анализ
- Основные этапы системного анализа
- Классификация и свойства систем
- Сложные системы
- Эмерджентность
- Теория массового обслуживания