JAVA
Java — Advanced
Build and run professional Java systems: Maven projects with JUnit tests, concurrency with executors, CompletableFuture and virtual threads, thread safety, HTTP clients and servers, PostgreSQL with JDBC, REST APIs with Spring Boot, and packaging and tuning the JVM for production.
Lessons
- 1Maven Projects & Testing with JUnitStandard project layout, pom.xml dependencies, and unit tests with JUnit including parameterized tests.
- 2Concurrency: Executors & CompletableFutureRun work in parallel with thread pools, collect results with futures, and compose async tasks.
- 3Virtual Threads & Thread SafetyRace conditions, atomics, concurrent collections, locks, and massive concurrency with virtual threads.
- 4HTTP: HttpClient & a Built-in ServerServe a small JSON API with the JDK's HttpServer and call it with java.net.http.HttpClient.
- 5Databases with JDBC & PostgreSQLConnect to PostgreSQL, run PreparedStatements, map rows to records and use transactions.
- 6REST APIs with Spring BootControllers, records as DTOs, validation, error handling and tests with MockMvc.
- 7Spring Data JPA with PostgreSQLMap entities to tables, let Flyway own the schema, write repositories with derived and JPQL queries, and use transactions.
- 8Packaging, the JVM & ProductionExecutable jars, container images, memory and garbage-collection settings, logging and diagnostics.
- 9Project: Results Portal APIA secured Spring Boot API: users and roles with Spring Security, parent-only access, validated input, rankings with SQL window functions and full MockMvc tests.