jvm
Java
OOP, collections and streams, concurrency and the JVM
16 topics 6 sections Java 25 LTS beginner → advanced
All beginner intermediate advanced
show All Unread Read
01 · Basics
6 topics Data types The boundaries between Java primitives and references, conversion and boxing rules, and type mistakes that break production code. beginner 17 min Exceptions How Java exceptions propagate, where checked and unchecked failures belong, how resources close, and which failure-handling bugs generated code introduces. intermediate 16 min Java 17 features The stable language features available at the Java 17 source level, with runnable examples and migration boundaries that prevent version drift. intermediate 12 min Java 21 features Java 21's stable language and concurrency features, its preview boundary, and the version drift to catch when reviewing old examples on Java 25. intermediate 13 min Java language fundamentals Understand program structure, variable scope, expression evaluation, and control flow in Java 25 without common short-circuit and boundary bugs. beginner 19 min Strings Java String value semantics, UTF-16 indexing, pooling, comparison, Unicode boundaries, encoding, and efficient construction. beginner 16 min
02 · OOP and generics
10 topics Annotations Attach structured metadata to Java declarations and type uses, then consume it correctly through compiler checks, processing, or reflection. intermediate 13 min Generics Java generics express type relationships across an API; understand bounds, wildcards, and erasure to design flexible, type-safe interfaces. intermediate 16 min Inner classes Distinguish nested and inner classes, understand enclosing instances, local capture, and anonymous classes, and avoid lifecycle and semantic bugs. intermediate 14 min Interfaces Java interfaces define replaceable behavior contracts; learn member rules, default-method conflicts, functional interfaces, and safe API evolution. intermediate 14 min Object-oriented programming Java objects organize state and behavior behind explicit boundaries; learn invariants, dynamic dispatch, substitutability, and composition. intermediate 15 min Records Model transparent data carriers with records, including derived members, compact constructors, shallow immutability, and record-pattern boundaries. intermediate 15 min Reflection Inspect runtime types and invoke members in Java 25 while handling exact lookup, module access, exception wrapping, and dynamic proxies correctly. advanced 18 min Sealed classes Model closed type hierarchies with sealed, permits, and exhaustive pattern switches while handling extension, modules, and API evolution correctly. intermediate 13 min Type erasure Understand how Java generics become executable JVM types, and where type tokens, bridge methods, heap pollution, and runtime checks meet their limits. advanced 15 min Wildcards and PECS Java wildcards define safe read and write capabilities at generic API boundaries; use PECS, capture helpers, and named type parameters without unsafe casts. intermediate 19 min