exceptional training for Java developers

Advanced Java Training Course

Advanced Techniques and Best Practices For Seasoned Java Developers

11 Nov London
request info

Capita Marks and Spencer Telefonica Cisco BBC Lloyds Sony

Advanced Java training course (code: JAVAADV)


This advanced Java training course is for experienced Java developers who need to go into more depth into the core features of the language that are not typically covered on basic Java programming courses. The course details subjects that get cursory coverage in most books and courses, like generics, multithreading, socket programming, synchronization, and annotation development and looks at how the Java 8 platform can be used to develop applications using these libraries and features.


IT professionals who already have some Java experience and are looking to further their skills or resolve any issues they may have with the more complex areas of its use.



Introduction to Generics

    Java collections Framework
    Lists, Sets and Maps
    Traversing Collections
    Utility methods for collections

Advanced Generics

    Defining Generic Types
    Comparison and Ordering
    Writing Generic Methods
    Type wildcards
    Bounded type wildcards
    Bounded type parameters
    Multiple bounds

Inner Classes

    What are inner classes
    Nested classes
    Member classes
    Local classes
    Anonymous classes

Enumerated Types

    The int Enum pattern
    The Java enum
    Iteration and switching
    Adding data and methods
    Constant specific class bodies

Introducing Java Threads

    Threads and Runnables
    Creating Threads
    Thread termination and cancellation
    Thread Scheduling
    Thread Groups
    Threads and Exceptions


    Why worry about synchronization?
    Basic monitor functionality
    Memory model and data visibility
    Lock objects
    Atomic data types
    Synchronizing execution
    Producer consumer problem and solutions
    Condition objects
    Cyclic barriers

High Level Concurrency Support

    The java.util.concurrent library
    Concurrent collections
    Queues and Synchronization
    Task Management
    Executor Framework and Thread Pools
    Tasks, Callables, and Future Objects
    The Completion Service

The Reflection API

    Inside Java classes
    Class file structure
    Accessing Fields, Methods and Constructors
    Reflective object creation
    Reflectie method invocation


    Source code metadata
    Java Annotations
    Built in annotations
    Defining annotation types
    Annotating an annotation type
    Annotation processing

Working with Sockets

    Creating a ServerSocket
    Creating a Client
    Working with streams
    Strategies for Creating multithreaded servers

  • Understand and work with generic types and collections
  • Understand the wild card and bounded features within generics
  • Read and write inner classes and understand where they should be applied
  • Understand multithreading in Java
  • Understand how concurrency works in the Java platform
  • Use the various Java threading libraries to implement robust multithreaded applications
  • Understand the structure of a class file
  • Use the reflection API to interact with a class file
  • Create and use Java annotations
  • Create single threaded and multithreaded servers using sockets
  • Create server client applications using sockets

Receive the latest version of this course into your inbox


11th Nov 2019 - 4 days £2495

see all dates


Show Discount for this course


  Bring a JBI course to your office
  and train a whole team onsite
  0800 028 6400
or request quote

  You can customise this course to
  suit your exact needs here
  0800 028 6400 or request quote

0800 028 6400

Why JBI ?

►"great technology tips"
► "Access to exclusive content"
► "Short course means less time off"

►"Inspiring trainers"
► "Joined via web"
► "Knowledgable sales staff"

Get exclusive news about upcoming programs, technical insights & special offers