Tutorials Watch & Listen FAQ Oracle University
Learn Java
Running Your First Java Application
Getting Started with Java
Downloading and setting up the JDK, writing your first
Java class, and creating your first Java application.
Launching Single-File Source-Code Programs
Launching Single-File Source-Code Java programs
with the Java launcher.
Jshell - The Java Shell Tool
jshell interactively evaluate declarations, statements,
and expressions of the Java programming language in
a read-eval-print loop (REPL).
Coding a Java application in an IDE
Oracle Java Platform extension enables you to develop
your Maven and Gradle Java project in Visual Studio
Code.
Staying Aware of New Features
Java Platform Evolution
Java has come a long ways since Java 8. Let's go over
some of this evolution.
Using the Preview Features Available in the JDK
How to compile and execute the preview features
available in the JDK.
Getting to Know the Language
Objects, Classes, Interfaces, Packages, and
Inheritance
Introducing the object oriented programming.
Java Language Basics
Getting to know the basics of the Java language.
Using Record to Model Immutable Data
How to model your immutable data with records to
make your code simpler and more readable.
Refactoring from the Imperative to the Functional
Style
Learning to change code from the Imperative to the
Functional Style.
Classes and Objects
Defining your own classes, declaring member
variables, methods, and constructors.
Numbers and Strings
Understanding numbers, characters and strings of
characters.
Inheritance
Leveraging inheritance in Java applications.
Interfaces
Creating and using interfaces.
Generics
Working with parameterized types.
Lambda Expressions
Using Lambda Expressions to improve the readability
of your code.
Annotations
Annotations is a form of metadata, provide data about
a program that is not part of the program itself.
Annotations have no direct effect on the operation of
the code they annotate.
Packages
How to bundle classes and interfaces into packages,
how to use classes that are in packages, and how to
arrange your file system so that the compiler can find
your source files.
Using Pattern Matching
Pattern matching is the next major evolution of the
Java language. It brings new features, one by one, that
greatly improve the way you can write your Java code.
Exceptions
Using exceptions to handle errors and other
exceptionnal events.
Mastering the API
The Collections Framework
Getting to know the Collections Framework to store
and retrieve data in collections and hashmaps.
The Stream API
Process your in-memory data with Java streams and
collectors. Process them faster with parallel streams.
The Java I/O API
Access external resources with the Java Input / Output
API.
The Date Time API
Covers the Date Time API added to the JDK 8,
including the core concepts and classes.
Regular Expressions
Provides a general overview of regular expressions. It
also introduces the core classes that comprise this API.
Fundamentals of Security using JDK Libraries
Provides a general overview of security APIs. It also
introduces the core components part of this API.
Virtual Threads
Virtual Threads: What, Why, and How?
Introduction to Java Reflection
Java reflection allows an object to look in the mirror
and discover what fields, methods, and constructors it
has. We can read and write fields, invoke methods, and
even create new objects by calling the constructors.
Organizing your Application
Modules
Understand how the module system shapes the JDK
and how you can use it to make your code base more
maintainable.
Creating Runtime and Application Images with
JLink
Learn how to use the command line tool jlink to
create custom-made runtime images or self-contained
application images.
Getting to know the JVM
The Core JDK Tools
Learn about the tools the JDK gives you to compile,
run, analyze and monitor your code.
The Monitoring Tools
Learn about the tools the JDK gives you to monitor
your application.
JPackage
Packaging your application to create a native installer.
The Security Tools
Setting security policies with the JDK tools and
commands.
The Troubleshooting Tools
Learn about the tools the JDK gives you to
troubleshoot Java applications and the Java Virtual
Machine (JVM).
Garbage Collection in Java Overview
Understanding the key aspects of how garbage
collection works in Java and how to tune garbage
collection.
CDS and AppCDS in Hotspot
Understanding how to use CDS in HotSpot to improve
JVM startup performance.
JDK Flight Recorder
Learn how to use JDK Flight Recorder to monitor,
profile, and test your applications.
Rich Client Applications
Download and Setup JavaFX
A guide to download and setup a JavaFX runtime on
your machine.
JavaFX Fundamentals
Learn to create simple JavaFX applications.
More Resources
Getting Started with Java Certification
Overview of the Java Certification and how to study
Debugging in Java
Learning how to use a debugger
References for the latest release
Java Documentation
Java API Docs
Java Release Notes
Java Language and Virtual Machine Specifications
Secure Coding Guidelines
About Downloads
About Java All Releases
About OpenJDK Source Code
Getting Started
Oracle Java SE
Subscription
Learning Java Community
Documentation Java User Groups
Java 21 API Docs Java Conferences
Tutorials Contributing
FAQ
Java YouTube
Stay Informed
Inside.java
Newscast
Podcast
Java Magazine
Java YouTube
@java on Twitter
Copyright © 2023 Oracle and/or its affiliates. All rights
reserved.
Terms of Use | Privacy | Trademarks