"Exceptional job by the instructor teaching HTML. I look forward to my next class and instructor." More Testimonials »

Advanced Java Programming

Delivery Options

Class Description

Class Overview

This course provides advanced training in developing software using the Java Platform, Standard Edition, or Java SE. It is intended for students with solid experience in structured and object-oriented Java programming, including use of the Collections API and exception handling.

The course covers several general-purpose topics: using and building generic types, writing multi-threaded applications, the Reflection API and annotations, and network programming using sockets. It combines nicely with various other courses in the Java curriculum, each of which is also "advanced Java" of some sort: JDBC, secure coding, Swing GUI programming, design patterns, and so on.

Class Goals

  • Make effective use of Java generic types.
  • Write multi-threaded Java applications.
  • Use the Reflection API for highly generic tasks, discovery, or code-generation.
  • Use standard annotations and develop custom annotations to express meta-data in Java source files.
  • Communicate between processes using network sockets.

Class Outline

  1. Generics
    1. Using Generics
    2. Type Erasure
    3. Type Boundaries
    4. Wildcards
    5. Generic Methods
    6. Strengths and Weaknesses of Generics
    7. Legacy Code and Generics
  2. Threads
    1. Java Thread Model
    2. Creating and Running Threads
    3. Manipulating Thread State
    4. Thread Synchronization
    5. Volatile Fields vs. Synchronized Methods
    6. wait and notify
    7. join and sleep
    8. The Concurrency API
    9. Atomic Operations
    10. Thread Pools
  3. Reflection
    1. Uses for Meta-Data
    2. The Reflection API
    3. The Class<T> Class
    4. The java.lang.reflect Package
    5. Reading Type Information
    6. Navigating Inheritance Trees
    7. Dynamic Instantiation
    8. Dynamic Invocation
    9. Reflecting on Generics
  4. Annotations
    1. Aspect-Oriented Programming and Java
    2. The Annotations Model
    3. Annotation Types and Annotations
    4. Built-In Annotations
    5. Annotations vs. Descriptors (XML)
  5. Sockets
    1. The OSI Reference Model
    2. Network Protocols
    3. The Socket Class
    4. The ServerSocket Class
    5. Connecting Through URL Objects
    6. HTTP and Other TCP Servers
    7. Datagram Clients and Servers
    8. Non-Blocking Sockets
    9. Multi-Threading in Servers

Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following areas is required:

  • Solid Java programming experience is essential

Courses that can help you meet these prerequisites:

Technical Requirements

Our computer technical requirements and setup process is easy, with support just a click away.

Potential Follow-on Classes


  • Java ®, all Java-based marks, Hibernate ®, and all Hibernate-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries.
Client Success
  1. Independent Survey
  2. Client List
  3. Testimonials
Join The Team
  1. Learn how you can become a Webucator Trainer
  2. Career Opportunities
Locations
Watch 3-minute Demo Video
of Live Online Training:
Learn the benefits of online training with Webucator

Free Webinars

A Crash Course in CSS

Wed, 3/21 1:00 PM EST

Project Management Institute Partner

Webucator is a Registered Education Provider (R.E.P.) approved by PMI to issue professional development units (PDUs) for our training courses.

© Webucator, Inc. All rights reserved. | Toll Free: 1-877-932-8228 | From outside the USA: 315-849-2724| Fax: 315-849-2723