Documentation

The Java™ Tutorials

Java Tutorials Learning Paths

Home Page

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.

Are you a student trying to learn the Java language or a professional seeking to expand your skill set? If you are feeling a bit overwhelmed by the breadth of the Java platform, here are a few suggested learning paths to help you get the most from your Java learning experience.

Java for beginners
Intermediate Java topics
Java UI and rich internet applications
Middleware and server related topics

New To Java

blocks The following trails are most useful for beginners:

  • Getting Started – An introduction to Java technology and lessons on installing Java development software and using it to create a simple program.
  • Learning the Java Language – Lessons describing essential concepts such as classes, objects, inheritance, datatypes, generics, and packages.
  • Essential Java Classes – Lessons on exceptions, basic input/output, concurrency, regular expressions, and the platform environment.

Building On The Foundation

building Ready to dive deeper into the technology? See the following topics:

  • Collections – Lessons on using and extending the Java Collections Framework.
  • Lambda Expressions: Learn how and why to use Lambda Expressions in your applications.
  • Aggregate Operations: Explore how Aggregate Operations, Streams, and Lambda Expressions work together to provide powerful filtering capabilities.
  • Packaging Programs In JAR Files – Lesson on creating and signing JAR files.
  • Internationalization – An introduction to designing software so that it can be easily be adapted (localized) to various languages and regions.
  • Reflection – An API that represents ("reflects") the classes, interfaces, and objects in the current Java Virtual Machine.
  • Security – Java platform features that help protect applications from malicious software.
  • JavaBeans – The Java platform's component technology.
  • The Extension Mechanism – How to make custom APIs available to all applications running on the Java platform.
  • Generics – An enhancement to the type system that supports operations on objects of various types while providing compile-time type safety.

Cherish the Client?

client

If you want to focus on developing Java based desktop solutions and rich Internet applications, see the following topics:

  • Get Started with JavaFX – A collection of sample applications that's designed to get you started with common JavaFX tasks
  • Get Started with Scene Builder – Shows you, step-by-step, how to create a simple issue-tracking application using the JavaFX Scene Builder tool.
  • Creating a GUI with Swing – A comprehensive introduction to GUI creation on the Java platform.
  • Deployment – How to package applications and applets using JAR files, and deploy them using Java Web Start and Java Plug-in.
  • 2D Graphics – How to display and print 2D graphics in applications.
  • Full-Screen Exclusive Mode API – How to write applications that more fully utilize the user's graphics hardware.

Fervor Over Server!

server

If you are interested in acquiring skills important for middleware, server-side, or web application development, see the following trails:

  • JDBC Database Access – Introduces an API for connectivity between the Java applications and a wide range of databases and a data sources.
  • JMX – Java Management Extensions provides a standard way of managing resources such as applications, devices, and services.
  • JNDI – Java Naming and Directory Interface enables accessing the Naming and Directory Service such as DNS and LDAP.
  • JAXP – Introduces the Java API for XML Processing (JAXP) 1.4 technology.
  • RMI – The Remote Method Invocation API allows an object to invoke methods of an object running on another Java Virtual Machine.
  • Concurrency – The Java platform has APIs to help you develop multi-threaded programs.