Skip to content
C 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

30 articles · page 1 of 2

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

  1. 01 Collections A pragmatic tour of Java's collection interfaces and implementations, with guidance on choosing between List, Set, Map, and Queue variants in real applications.
  2. 02 CompletableFuture How CompletableFuture composes asynchronous work in Java: chaining, combining, error handling, executors, and the patterns that keep concurrent code readable.
  3. 03 Exceptions Clear rules for using checked and unchecked exceptions in Java, with patterns for wrapping, logging, and propagating errors in real production code.
  4. 04 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.
  5. 05 Java JDBC Connect to relational databases from Java using JDBC: drivers, PreparedStatement, transactions, connection pooling, and resource management.
  6. 06 JPA vs Hibernate Understand the difference between JPA the specification and Hibernate the implementation, and when each abstraction matters in practice.
  7. 07 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.
  8. 08 Java Lambdas Learn how Java lambda expressions work, when to use them, and how they interact with functional interfaces and the Streams API.
  9. 09 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.
  10. 10 Mockito Learn how to use Mockito to write fast, focused unit tests. Understand mocks, stubs, spies, argument captors, and how to avoid over-mocking.
  11. 11 Multithreading Understand threads, the Java memory model, synchronization, locks, and concurrent collections. A practical guide to writing correct multithreaded Java code.
  12. 12 Java Optional Use Java's Optional type correctly: when to return it, when to avoid it, and how to chain operations safely without ever calling get().
  13. 13 Records vs Lombok Records and Lombok both reduce boilerplate, but they solve overlapping problems in very different ways. Here is when to pick which, with concrete tradeoffs.
  14. 14 Spring Data JPA Learn Spring Data JPA from the ground up. Understand repositories, derived queries, JPQL, pagination, and transaction boundaries in real Java apps.
  15. 15 Spring Security A practical introduction to Spring Security. Understand the filter chain, configure authentication, set up authorization rules, and avoid common mistakes.
  16. 16 Collectors Master java.util.stream.Collectors with practical examples covering grouping, partitioning, downstream collectors, and building your own custom collector.
  17. 17 Java Streams A practical tour of the Java Streams API: how it works, when to use it, lazy evaluation, collectors, parallel streams, and the pitfalls that trip up newcomers.
  18. 18 Virtual Threads Virtual threads make blocking I/O cheap again. Here is how they work under the hood, when to use them, and what changes in your code, from a practical perspective.
  19. 19 Spring DI How Spring Boot wires your beans: component scanning, constructor injection, qualifiers, profiles, and the testing strategies that follow from each choice.
  20. 20 MVC vs WebFlux Compare Spring's two web stacks: thread-per-request Spring MVC versus reactive non-blocking WebFlux, and how to choose between them.