Advanced Java

Course Number:


This advanced Java course focuses on building skill sets frequently used by mature Java developers. After participating, students will be able to better use strategic libraries in order to understand how the core language and various frameworks leverage key concepts like reflection, Aspect Oriented Programming (AOP), generics and concurrency.


Course Duration:
3 days


To succeed in this course, participants need a solid understanding of object-oriented concepts and familiarity with Java and the core libraries.

Course Objectives:
  • Gain an overview of the collections framework and its recent updates
  • Understand the exception hierarchy, and know how and when to use custom exceptions
  • Examine the new abilities of Java concurrency
  • Understand what generics are, how to write your own generic class and how to use them properly
  • Use reflection to examine objects at runtime
  • Use reflection to parse variables in external files and create objects “on the fly”
  • Learn basic annotations and how to create your own annotations when needed
Course Outline:
  • Collections
    • Dynamic Collections
    • Collections versus Arrays
    • The Collections API
    • Abstraction: The Collection Interface
    • Vector, LinkedList, ArrayList
    • Reading Elements and Downcasting
    • Collecting Primitive Values
    • Iterators
    • Maps
    • Sorted Collections


  • Exception Handling
    • Overview of Exceptions
    • Following the Control Flow of an Exception Handler
    • Writing Exception Handlers
    • Checked versus Unchecked Exceptions versus Errors
    • Defining Custom Exceptions
    • Nesting Exceptions


  • Threading and Concurrency
    • Overview of java.util.concurrent
    • Locks
    • Executors and Executor Service
    • Latch
    • Cyclic Barrier
    • Queues
    • Synchronizers
    • Callable vs Runnable
    • Future
    • Atomics, Locks, Latches
    • Exchangers


  • Generics
    • Motivation for Generics
    • Defining a Simple Generic Class
    • Generic Methods
    • Bounds for Types
    • Limitations on Generics
    • Inheritance Rules for Generics
    • Wildcard Types


  • Reflection
    • lang.reflect and Overview
    • Fields
    • Methods
    • Modifier
    • AccessibleObject
    • Reflection and Java Beans
    • A Word About Performance


  • Using Annotations
    • Meta-data and Its Usage
    • Aspect Oriented Programming (AOP) Basics
    • Built-In Annotations


Related Posts

About Us

IT Training, Agile Ways of Working and High Impact Talent Development Strategies

Let Us Come to You!

Classes recently delivered in: Atlanta, Boston, Chicago, Columbus, Dallas, Detroit, Indianapolis, Jerusalem, London, Milan, New York, Palo Alto, Phoenix, Pittsburgh, Portland, Raleigh, San Antonio, San Diego, San Francisco, San Jose, Seattle, Springfield, Mass., St. Louis, Tampa and more!