The Java Tutorials are practical guides for programmers who want
    to use the Java programming language to create applications. They
    include hundreds of complete, working examples, and dozens of
    lessons.  Groups of related lessons are organized into "trails".
  
    The Java Tutorials primarily describe features in Java SE 7.
    For best results, download JDK 7.
    
        
  
  
    The Java Tutorials are continuously updated to keep up with changes to
    the Java Platform and to incorporate feedback from our readers.
    This release of the tutorials coincides with the release of JDK 7.
    You can find detailed information about the JDK 7 release in
    Java SE 7 Features and Enhancements.
    The following trails and lessons have been updated for the JDK 7 release:
- The Project Coin
    updates have affected several sections in the
    Java Language and the 
    Essential Classes trails.
    For a complete list, see the
    history page.
- The File I/O lesson, part of
    the Essential Classes trail, has
    been updated to correspond to the new file I/O API.
- Several sections have been added to the
    Swing tutorial, including the
    JLayer component, the
    Nimbus look and feel, and
    information on
    Translucent
    and Shaped Windows.
- The Deployment trail has many updated and
    new lessons, including the following – 
    Deploying
    Without Codebase,
    Embedding JNLP File in Applet Tag,
    Handling Initialization Status With Event Handlers, and
    Customizing the Loading Experience.
- The Fork/Join
    section has been added to the
    Concurrency lesson.
- The Internationalization trail has
    been updated to reflect the updates as a result of the
    Unicode 6.0 work.
    For a list of the affected sections, see the
    history page.
- The JDBC Basics lesson of the
    JDBC trail has been completely reworked
    and updated.
- A trail introducing Java API for XML
    Processing (JAXP) 1.4 technology has been incorporated into the
    Java Tutorials.
Trails Covering the Basics
    These trails are available in book form as 
The Java
       Tutorial, Fourth Edition. To buy this book,
        refer to the box to the right.
    
        - 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 the essential concepts and features
        of the Java Programming Language.
        
- Essential Java Classes
        — Lessons on exceptions, basic input/output,
        concurrency, regular expressions, and the platform
        environment.
        
- Collections —
        Lessons on using and extending the Java Collections Framework.
        
- Swing — An introduction
        to the Swing GUI toolkit, with an overview of features and a
        visual catalog of components. See below for a more
        comprehensive tutorial on Swing.
        
- Deployment —
        How to package applications and applets using JAR files, and
        deploy them using Java Web Start and Java Plug-in.
        
- Preparation
        for Java Programming Language Certification
        — List of available training and tutorial resources.
    
Creating Graphical User Interfaces
    
    Specialized Trails and Lessons
    These trails and lessons are only available as web pages.
    
    
        - Custom Networking
        — An introduction to the Java platform's powerful
        networking features.
        
- The Extension Mechanism
        — How to make custom APIs available to all applications
        running on the Java platform.
        
- Full-Screen
            Exclusive Mode API — How to write applications
        that more fully utilize the user's graphics hardware.
        
- Generics —
        An enhancement to the type system that supports operations on
        objects of various types while providing compile-time type
        safety.  Note that this lesson is for advanced users. The Java Language trail contains a Generics lesson that is
        suitable for beginners.
        
- Internationalization —
        An introduction to designing software so that it can be easily
        be adapted (localized) to various languages and regions.
        
- JavaBeans —
        The Java platform's component technology.
        
- 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.
      
- 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.
      
- Sound — An API for
        playing sound data from applications.
      
- 2D Graphics — How to
        display and print 2D graphics in applications. 
      
- Sockets Direct Protocol — How to
        enable the Sockets Direct Protocol to take advantage of
        InfiniBand.