Learn Modern Java 8 to 25
// Peta skill Modern Java 8 sampai 25 berbasis framework The First 20 Hours dari Josh Kaufman: target performa, dekomposisi skill, feedback loop, deliberate practice, dan rubrik engineering maturity.
This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.
Curriculum Map
Navigate by phase, then choose the lesson that matches your current depth.
Kaufman Skill Map untuk Modern Java
13 minPeta skill Modern Java 8 sampai 25 berbasis framework The First 20 Hours dari Josh Kaufman: target performa, dekomposisi skill, feedback loop, deliberate practice, dan rubrik engineering maturity.
Practice Environment, Multi-JDK, Build Tool, IDE, dan Feedback Loop
11 minPanduan membangun environment praktik Modern Java 8 sampai 25: multi-JDK, Maven, Gradle, toolchains, IDE, JShell, static analysis, test loop, dan template repository untuk pembelajaran cepat berbasis feedback.
Dari .java ke Running Program: Source, Bytecode, Classpath, Module Path, dan Runtime
17 minPelajari mental model lengkap dari file .java menjadi program Java yang berjalan: javac, bytecode, classpath, module path, JAR, javap, class loading, linking, initialization, main method, dan debugging runtime.
Type System dan Object Model: Class, Interface, Inheritance, Composition, Records, Sealed Types, dan Equality
17 minPelajari type system dan object model Java modern dari Java 8 sampai 25: class, interface, inheritance, composition, records, sealed types, enum, equality, identity, mutability, nullability, dan domain modeling.
Control Flow, Error Flow, dan Contract Thinking
17 minMateri mendalam tentang control flow, error flow, exception handling, switch expression, try-with-resources, invariants, dan contract thinking di Java modern 8 sampai 25.
Java 8 Functional Mindset: Lambda, Method Reference, dan Functional Interface
16 minMateri mendalam tentang Java 8 functional mindset, lambda expressions, method references, functional interfaces, default methods, dan desain API berbasis behavior value di Java modern.
Streams Deep Dive: Pipeline, Laziness, Collectors, Spliterator, dan Parallel Trap
17 minMateri mendalam Java Stream API dari Java 8 hingga Java 25: pipeline, laziness, intermediate dan terminal operation, collectors, spliterator, parallel stream, performance trap, dan mental model production-grade.
Optional, java.time, Immutability, dan Value-Oriented Design
17 minMateri mendalam Java Optional, java.time, immutability, dan value-oriented design: null handling, temporal modeling, timezone bugs, defensive copies, records, dan domain value objects untuk Java modern.
Collections, Generics, Type Erasure, dan API Design
17 minMateri mendalam tentang Java Collections Framework, generics, type erasure, wildcard, PECS, collection selection, dan desain API Java modern dari Java 8 hingga Java 25.
I/O, NIO.2, Resources, Serialization, dan Data Boundaries
16 minMateri mendalam tentang Java I/O, NIO.2, Path, Files, resource lifecycle, charset, large files, serialization, dan desain data boundary untuk aplikasi Java production-grade.
Baseline Concurrency: Thread, Executor, Future, CompletableFuture
15 minMateri mendalam baseline concurrency Java 8: Thread, ExecutorService, Future, CompletableFuture, blocking, timeout, cancellation, thread pool sizing, dan failure mode asynchronous code.
Java 9: JPMS, Modules, JShell, jlink, dan Strong Encapsulation
15 minMateri mendalam Java 9 dan Java Platform Module System: module-info.java, requires, exports, opens, classpath vs module path, jdeps, jlink, JShell, migration, dan strong encapsulation.
Java 10 dan 11 LTS: var, HttpClient, Single-File Source, dan Migration Baseline
15 minMateri mendalam Java 10 dan Java 11 LTS: local variable type inference, var pada lambda, HTTP Client, single-file source execution, API baru, removal Java EE/CORBA modules, dan checklist migration Java 8 ke 11.
Java 12 sampai 16: Switch Expressions, Text Blocks, Records, Pattern Matching
13 minMateri mendalam evolusi bahasa Java 12 sampai 16: switch expressions, yield, text blocks, helpful NullPointerException, records, compact constructor, pattern matching for instanceof, dan refactoring POJO ke model Java modern.
Java 17 LTS: Sealed Classes, Strong Encapsulation, dan Modern Domain Modeling
14 minMateri mendalam Java 17 LTS tentang sealed classes, sealed interfaces, strong encapsulation, dan cara memakai hierarchy tertutup untuk domain modeling Java modern yang aman, eksplisit, dan evolvable.
Data-Oriented Programming di Java: Records, Sealed Types, Pattern Matching, dan Exhaustiveness
12 minMateri mendalam tentang data-oriented programming di Java modern menggunakan records, sealed types, pattern matching, exhaustive switch, dan modeling domain yang eksplisit, aman, serta mudah dievolusi.
API Evolution: Binary Compatibility, Source Compatibility, Serialization, dan Library Design
24 minMateri mendalam tentang evolusi API Java: binary compatibility, source compatibility, behavioral compatibility, serialization compatibility, default methods, records, sealed types, deprecation, versioning, dan library design yang defensible.
Java 18 sampai 21: UTF-8 Default, Simple Web Server, Pattern Finalization, dan Java 21 LTS
19 minMateri mendalam tentang evolusi Java 18 sampai Java 21: UTF-8 by default, Simple Web Server, Javadoc snippets, preview wave, virtual threads, sequenced collections, record patterns, pattern matching for switch, dan Generational ZGC.
Virtual Threads dan Project Loom: Throughput, Blocking, Pinning, dan Structured Thinking
18 minMateri mendalam tentang virtual threads dan Project Loom di Java modern: mental model, mount/unmount, carrier threads, blocking I/O, pinning, ThreadLocal, ScopedValue, structured concurrency, migration dari thread pool/reactive, dan failure modes production.