← Theory library
Core Java theory
Java 21 LTS, Virtual Threads (Loom), Records, and Pattern Matching.
Practise in the Code Lab →Easy
- 1. Java Syntax BasicsIntroduction to Java syntax, semicolons, and curly braces.
- 2. Data TypesPrimitive and reference types in Java.
- 3. Variables and ConstantsDeclaring variables and using final for constants.
- 4. Control Flow: If-Else & Switch ExpressionsConditional branching and modern switch expressions.
- 5. Loops: For and WhileIterating through blocks of code.
- 6. ArraysFixed-size data structures.
- 7. Classes and ObjectsThe building blocks of Java.
- 8. MethodsDefining behavior for objects.
- 9. ConstructorsSpecial methods for initialization.
- 10. EncapsulationHiding data using access modifiers.
- 11. InheritanceReusing code across classes.
- 12. PolymorphismOne interface, multiple forms.
- 13. AbstractionHiding implementation details.
- 14. InterfacesDefining a contract.
- 15. Static KeywordClass-level members.
- 16. This and SuperReferencing current and parent instances.
- 17. Method OverloadingSame name, different parameters.
- 18. Method OverridingRedefining parent behavior.
- 19. Exception HandlingDealing with runtime errors.
- 20. Strings & Text BlocksWorking with text and multi-line strings.
Medium
- 21. Records & Immutable DataCompact syntax for immutable data carriers.
- 22. Wrapper Classes & AutoboxingObjects for primitives.
- 23. ArrayList & GenericsResizable type-safe lists.
- 24. HashMapKey-value mapping.
- 25. HashSetCollection of unique elements.
- 26. Sequenced CollectionsStandardized order access in collections.
- 27. Comparable and ComparatorSorting objects.
- 28. Functional InterfacesInterfaces with one abstract method.
- 29. Lambda ExpressionsAnonymous functions.
- 30. Method ReferencesShorthand for lambdas.
- 31. Streams API IntroProcessing sequences of elements.
- 32. Stream: filter() and map()Transforming and selecting data.
- 33. Stream: toList() & CollectorsGathering results into collections.
- 34. Optional ClassAvoiding NullPointerExceptions.
- 35. Sealed Classes & Pattern MatchingExhaustive type hierarchies and matching.
- 36. AnnotationsMetadata for code.
- 37. Modern File I/O (NIO.2)Path and Files API.
Hard
- 38. Threads and RunnablePlatform threads and execution.
- 39. Virtual Threads (Project Loom)Lightweight threads for high-throughput I/O.
- 40. Synchronization & LocksThread synchronization and ReentrantLock.
- 41. Volatile and Atomic ClassesMemory visibility and lock-free concurrency.
- 42. ExecutorService & Thread PoolsManaging task execution.
- 43. CompletableFutureAsynchronous reactive pipelines.
- 44. Deadlock & Concurrency PitfallsDiagnosing and preventing lock contention.
- 45. Reflection APIInspecting and modifying metadata at runtime.
- 46. Garbage Collection BasicsAutomatic memory management in the heap.
- 47. Nested & Anonymous ClassesInner, static nested, and anonymous classes.
- 48. Try-with-resourcesAutomatic resource management.
- 49. Serialization & Modern AlternativesState persistence and DTOs.
- 50. Java Module System (JPMS)Modular architecture with module-info.java.