BrassHornet logo  

Is Your Schedule Tight?

Let us know your scheduling preferences, and we will do our best to accommodate you!

Advanced Java

Display a printer-friendly version.

Download a PDF version (readable by Adobe's Acrobat Reader).

About This Course

The Java platform is extensive in scope. The language and the platform's packages offer a wide array of features which allow the programmer to create powerful programs with minimal effort. This course focuses on the advanced features of the language and the more critical packages, giving the programmer a well-rounded toolbox to bring to his/her projects.

Course Duration

Two days.

Who This Course Is For

This course is designed for the individual who has written a few Java applications or applets. S/he should be comfortable with the basic constructs of Java, including variables and types, conditionals, loops, class declarations, inheritance, and the creation of new instances.


Participants should have taken Java Fundamentals or have equivalent knowledge and experience.

What Participants Will Learn

The participants will leave the course with a deeper understanding of the Java language itself and with the skills necessary to write more complicated programs, using a wider array of Java's packages.

After completing the course, participants will be able to do the following:

  • Handle exceptions and define appropriate exceptions for their own programs and packages
  • Understand the use and power of interfaces
  • Develop code with a deep knowledge of the manner in which objects are created, destroyed, and copied
  • Exploit the collection classes
  • Write robust code in a multi-threaded environment
  • Read from and write to files
  • Package the files that comprise a Java application together for distribution
  • Easily produce hyper-linked source code documentation
  • Produce dynamic code that examine classes and instances at run-time to discover their capabilities on the fly

Course Outline

  • Day 1
    1. Introduction
    2. Exceptions
      1. The Exception Mechanism
      2. The Exception Class Hierarchy
      3. The try / catch / finally Block
      4. Creating an Exception Class
      5. The throw Statement
      6. The throws Clause
    3. Interfaces
      1. Relationship to Multiple Inheritance
      2. Defining an Interface
      3. Implementing an Interface
      4. The Role of the Interface
    4. The Instance Life-Cycle
      1. Constructors
      2. Constructor Hand-Off
      3. Constructor Chaining
      4. The Default Constructor
      5. The Copy Constructor
      6. The finalize Method
      7. Assignment
      8. Copying with the Clone Method
      9. Clone and Arrays
      10. Deep and Shallow Copying
    5. Wrapper Classes
      1. The Byte, Short, Integer, and Double Classes
      2. The Float and Double Classes
      3. The Character Class
      4. The Boolean Class
  • Day 2
    1. Collection Classes
      1. The Vector Class
      2. The Enumeration Interface
      3. The Stack Class
      4. The HashMap Class
      5. The HashTable Class
      6. The PropertiesClass
    2. Threads
      1. What is a Thread
      2. Writing a Thread
      3. Thread States
      4. Controlling a Thread
      5. Thread Priorities
      6. Pitfalls of Threads
      7. Synchronized Instance Methods
      8. Synchronized Blocks
      9. Synchronized Class Methods
      10. Monitors
    3. File I/O
      1. Referring to Files and Directories
      2. Basic Operations on Files and Directories
      3. Writing to Files
      4. Using Buffered Output
      5. Reading from Files
      6. Using Buffered Input
      7. Numeric Parsing
    4. The Extended Java Tool-Set
      1. javadoc -- The Java documentation system
      2. jar -- The Java archiving program
    5. Reflection
      1. Discovering the components of a class
      2. Discovering the properties of variables
      3. Discovering how to call methods and constructors

Hands-On Workshops

Roughly 50% of the time is spent with hands-on workshops. Numerous Java programs are written and improved throughout the course. At the course's conclusion participants will have written multi-threaded programs, programs that use interfaces and exceptions, programs that read and write files, programs that take look into and discover information about classes at run-time, and programs that store and use large quantities of data.

Materials Provided

Each participant receives:

  • A comprehensive course textbook/workbook
  • Solutions to all exercises
  • A CD-ROM containing examples, exercise solutions, and other items as allowed by license
  • A certificate of completion


On-Site Training

For on-site training the price is $2145 plus $120 per participant plus actual instructor travel expenses. Please contact us to make arrangements.

Third-Party Site Training

The price is the same as for on-site training, except there will be additional costs to rent the venue and perhaps equipment costs as well.

Public Class Training

For participants in our pre-scheduled, public training, the price is $720 per person. Price includes lunch.

View a list of our public class training locations or learn more about our customizable on-site training. Please contact us if you would like any additional information.