Dev.java: Learn Java
The official learning path from the Java team at Oracle, covering setup, language basics, object-oriented programming, generics, collections, streams and newer features such as records and pattern matching. Because it tracks current Java releases, it is a better starting point than older tutorials that still teach Java 8 habits. It reads as documentation rather than a course with exercises, so pair it with practice problems or a project.
Guide
Other
Oracle
Self-paced
Beginner
Free
The official learning path from the Java team at Oracle, covering setup, language basics, object-oriented programming, generics, collections, streams and newer features such as records and pattern matching. Because it tracks current Java releases, it is a better starting point than older tutorials that still teach Java 8 habits. It reads as documentation rather than a course with exercises, so pair it with practice problems or a project.
Ready to start?
Opens on Oracle in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.