Documentation
The Java™ Tutorials
Search
Feedback

# Java Tutorials Learning Paths

Home Page

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.

## New To Java

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

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?

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

- 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!

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.