Java developer training

Full Java developer training materials and references. Feel free to use for any educational (free or commercial) purposes. Topics:

1. Fundamentals

Core Java language

Object Oriented Programming (part 1)

Object Oriented Programming (part 2)

Data structures

Algorithm Complexity

Core JDK APIs (part 1)

Core JDK APIs (part 2)

Core JDK APIs (part 3)

Git Crash course

JVM internals

Clean code and refactoring

Design patterns

Unit testing

Test automation

Concurrent programming (part 1)

Concurrent programming (part 2)

Concurrent programming (part 3)

2. Build and deployment

Build systems

3. Database principles

RDBMS fundamentals

MySQL fundamentals

SQL: basic data retrieval

SQL: insert, update, delete

SQL: joins and nested queries

SQL: aggregations and functions

SQL: DDL and views

Transactions

Users, roles and permissions

Stored procedures in MySQL

RDBMS objects and metadata

NoSQL databases

4. Persistence

JDBC

ORM fundamentals

Hibernate: architecture and features

Hibernate: manipulating persistent objects

Hibernate: queries and transactions

Hibernate: advanced concepts and design patterns

5. Core Java frameworks

Spring framework overview

Spring MVC

6. Messaging systems

The RabbitMQ Message broker

Apache Kafka

7. Bonus topics

Docker