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