18) Next Steps: Projects to Build
Pick one and build it end-to-end.
Beginner projects
- CLI calculator (parse args, handle errors)
- To-do list (file persistence)
- Word counter (maps, sorting)
- Simple HTTP client (call a public API, parse JSON)
- Mini library system (OOP + collections)
- Concurrency downloader (executors + futures)
Advanced projects
- Build a small REST API (Spring Boot)
- Write a small Java library with tests and a published artifact
- Performance profiling exercise (JFR / async-profiler)
Suggested learning order from here
- Solidify collections, streams, and testing
- Learn Maven/Gradle
- Build 2–3 projects and deploy something
Table of contents
- Getting Started: Install, run, and your first program
- Java Basics: types, variables, operators, formatting
- Control Flow: if/switch/loops
- Methods: parameters, return values, overloading
- OOP: classes, objects, encapsulation
- Inheritance & Polymorphism (and when not to use them)
- Interfaces, abstract classes, and design basics
- Exceptions and error handling
- Strings, files, and I/O basics
- Collections: List/Set/Map and Big-O intuition
- Generics (the useful parts)
- Lambdas & Streams
- Dates and time (java.time)
- Testing with JUnit 5 (basics)
- Concurrency: threads, executors, futures
- JVM basics: memory, GC, performance habits
- Build tools: Maven essentials (recommended)
- Next steps: projects to build