Skip to content
Codeloom

Topics / Java

Java

The enterprise workhorse. JVM, OOP, generics, collections, and modern Java.

Why learn Java?

  • Powers a huge share of backend, Android, and enterprise systems.

  • Strong typing and tooling make large codebases manageable.

  • Modern Java (records, sealed classes, virtual threads) is genuinely pleasant.

  • A safe long-term skill — Java jobs are not going anywhere.

What you can build with Java

Enterprise backends with Spring Android apps Big-data tooling (Kafka, Spark, Hadoop) High-throughput JVM services

Java tutorials

37 articles · page 1 of 2

Hand-written tutorials, ordered as a recommended learning path.

  1. 01 CompletableFuture Patterns Master CompletableFuture composition patterns including chaining, combining, error handling, timeouts, and async pipeline design in Java.
  2. 02 Pattern Matching Switch Master Java pattern matching in switch expressions. Covers type patterns, guarded patterns, sealed class exhaustiveness, and record deconstruction patterns.
  3. 03 Records & Sealed Use Java Records and Sealed Classes to build expressive domain models. Covers compact constructors, sealed hierarchies, pattern matching, and real-world examples.
  4. 04 Records & Sealed Classes Master Java records for immutable data and sealed classes for controlled type hierarchies with pattern matching and practical domain modeling.
  5. 05 Spring Security JWT Implement JWT authentication in Spring Boot 3. Covers security filter chain, token generation, refresh tokens, role-based access, and common security pitfalls.
  6. 06 Stream Advanced Patterns Go beyond basic filtering and mapping with advanced Stream API patterns including custom collectors, parallel streams, and stateful operations.
  7. 07 Advanced Collectors Go beyond basic Java Stream collectors. Learn groupingBy compositions, teeing, custom Collector implementations, and performance considerations.
  8. 08 Virtual Threads Guide Master Java virtual threads with hands-on examples. Learn thread creation, executor patterns, structured concurrency, pinning pitfalls, and migration strategies.
  9. 09 Optional Learn how to use Java Optional to write null-safe code. Covers creation, chaining with map and flatMap, best practices, and common anti-patterns to avoid.
  10. 10 Pattern Matching Master Java pattern matching with instanceof, switch expressions, record patterns, and guarded patterns for cleaner, more expressive conditional logic.
  11. 11 Streams API Master Java Streams for functional-style data processing. Covers stream creation, map, filter, reduce, collectors, parallel streams, and performance considerations.
  12. 12 CompletableFuture How CompletableFuture composes asynchronous work in Java: chaining, combining, error handling, executors, and the patterns that keep concurrent code readable.
  13. 13 Exceptions Clear rules for using checked and unchecked exceptions in Java, with patterns for wrapping, logging, and propagating errors in real production code.
  14. 14 Generics Understand Java generics deeply: type parameters, upper and lower bounds, the PECS rule, and why type erasure shapes the rules you have to follow.
  15. 15 Java Lambdas Learn how Java lambda expressions work, when to use them, and how they interact with functional interfaces and the Streams API.
  16. 16 JUnit 5 A complete introduction to JUnit 5. Learn the new architecture, lifecycle, parameterized tests, assertions, and patterns that keep your test suite fast and readable.
  17. 17 JPA vs Hibernate Understand the difference between JPA the specification and Hibernate the implementation, and when each abstraction matters in practice.
  18. 18 Java JDBC Connect to relational databases from Java using JDBC: drivers, PreparedStatement, transactions, connection pooling, and resource management.
  19. 19 Maven vs Gradle An honest comparison of Maven and Gradle. Understand their philosophies, performance, ecosystem, and how to choose the right build tool for your Java project.
  20. 20 Mockito Learn how to use Mockito to write fast, focused unit tests. Understand mocks, stubs, spies, argument captors, and how to avoid over-mocking.