Java 6 & Java 7 Tutorial
A Fast-Moving Guide to Java Programming for Experienced Developers

Interested in training from the author of these tutorials? See the upcoming Java programming courses in Maryland (co-sponsored by Johns Hopkins Engineering for Professionals), or contact hall@coreservlets.com for info on customized courses onsite at your location.


These tutorials are aimed at developers who are experienced in some other language, but are new to Java. They move too fast for first-time programmers. These tutorials are derived from Marty Hall's world-renowned live Ajax, jQuery, Android, and Java EE training courses, and have been tested by Marty in live training courses in the US, Canada, Australia, Puerto Rico, Japan, Mexico, India, and the Philippines. Click on a topic below to get the detailed tutorial, download the source code, or try out exercises on the topic. The training materials home page has tutorials on many other more advanced topics related to Java and Web programming, but the core Java language is the foundation for all of the topics. The PDF versions of the tutorials are freely available to anyone for personal use. As a courtesy, we also make the original PowerPoint slides available to university faculty for no charge. See the J2EE instructor materials page for details.

To arrange a Java-related course at your organization based on these materials, contact info@coreservlets.com. These courses can be customized to use any combination of the materials on the J2EE tutorials site (servlets, JSP, JSF 2.0, PrimeFaces, GWT, Ajax, jQuery, Spring, Hibernate, RESTful Web Services, etc), and new materials can be added for specific client needs. To learn more details about the instructor, the curriculum for the live training courses, or the public course schedule, please see http://courses.coreservlets.com.

If you find these free tutorials helpful, we would appreciate it if you would link to us. Send corrections or feedback on any tutorial to hall@coreservlets.com. Update: based on student feedback, we have added more simple/warmup exercises to each section (and added the corresponding code to the downloadable solution sets).


Introduction to and Overview of Java

This section gives a big-picture view of what the Java language and various Java packages are all about. No syntax is covered.

Java with Eclipse: Setup and Getting Started

Basic Java Syntax

Basic Object-Oriented Programming in Java

Object-Oriented Programming in Java: More Capabilities

Applets and Basic Graphics

More Java Syntax and Utilities

Asynchronous Event Handling

AWT Components: Simple GUIs

Layout Managers

Java 2D Drawing

Basic Swing

Advanced Swing and MVC

Multithreaded Programming

Multithreaded Graphics and Animation

Network Programming - Clients

Network Programming - Servers

Network Programming and Object Serialization

XML Parsing and DOM

Accessing Databases with JDBC

Java Web Start and Deployment Options

Note: this section has not been updated in a long time, and is undoubtedly out of date.

Invoking OS-Specific Programs and Native Methods

Note: this section has not been updated in a long time, and is undoubtedly out of date.

HTML 4: A Crash Course

The HTML sections are not specific to Java, but basic knowledge of HTML is useful for practically everyone, and both servlets and JSP and Ajax require pretty extensive knowledge.

XHTML and HTML5: A Crash Course

This gives a brief intro to XHTML with a smattering of HTML 5 and a super-fast summary of CSS selector syntax. Again, the HTML sections are not specific to Java, but basic knowledge of HTML is useful for practically everyone: in particular, both servlets and JSP and Ajax require pretty extensive knowledge of HTML of some sort, and JSF 2 is built entirely around XHTML. Also see the separate tutorial on HTML5 input elements.

Introduction to HTML Frames

Again, the HTML sections are not specific to Java, but basic knowledge of HTML is useful for practically everyone, and both servlets and JSP and Ajax require pretty extensive knowledge.

  • This tutorial section in PDF.
  • Topics covered:
    • Advantages and disadvantages of frames
    • FRAME template
    • Defining rows and cols in a FRAMESET
    • Common FRAME and FRAMESET attributes
    • Nested frames
    • Targeting a document to a named FRAME cell

New Features in JDK 1.5

All the material in this section is covered in more detail in earlier sections. But, if you are a real old-timer and only know Java 1.4 or earlier (Gasp! How 20th century!), this section might be useful for you. Please note that this section was created in the early days of Java 5 and has not been updated since then.

  • This tutorial section in PDF.
  • Topics covered:
    • The for/each loop
    • Scanner and command-line input
    • Generics
    • Autoboxing
    • Varargs
    • printf
    • Reading command-line input

PowerPoint Files for University Faculty

The PDF files in this tutorial contain the complete text of the original PowerPoint files, so if your goal is learning this technology, just stick with this tutorial. However, as a service to instructors teaching full-semester courses at accredited universities, coreservlets.com will release the original PowerPoint files for free. Please see the instructor materials page for details.

More Information

Java

JSF (JavaServer Faces)

Servlets & JSP
Ajax, GWT, & JavaScript

Spring, Hibernate, & JPA

Struts