Learn advanced java. advanced java training. hands-on advanced java training courses.

Advanced Java Training

Advanced Java Training by Java developers for Java developers.
DevelopIntelligence has been delivering Advanced Java training for over a decade.

If you need to deepen your core Java language skills, take the Advanced Java Programming training course. Or, if you need advanced Java training on specific topics and technologies, check out our other courses: Java Thread Programming, java.nio training, JMX training, RMI & Jini training, and Java I18N Training

Advanced Core Java Training

Purpose: Learn how to write complex stand-alone applications using advanced features of the Java language

Audience: Experienced Java Programmers looking to deepen their expertise in the Java language and the core Java SE APIs

Duration: 5 days

Summary:
Advanced Core Java Training examines common language features and APIs required to develop complex stand-alone Java applications. This course builds on the Introduction to Java course and examines things like advanced OO concepts, threaded programming, logging, I18N, custom collections, formatting, reflection, network programming, custom annotations, etc. Advanced Core Java training also prepares developers for the Sun Certified Java Programmer and Sun Certified Java Developer exams.

Topics:
  • What is "advanced" core Java?
  • Advanced OO concepts: Class partitioning for deployment, Inner Classes, Enumerations, Generics
  • Customizing the Collections API through custom algorithms and data structures
  • Creating multi-threaded programs: Threads, ThreadGroups, Mutual exclusion, Semaphores, etc.
  • Interacting with the Virtual Machine through Shut-down hooks
  • Forking and managing external processes
  • Managing application preferences with the Preferences API
  • Creating and invoking dynamic systems at run-time with Reflection and custom Annotations
  • Leaving audit trails with the java.util.logging API
  • Formatting and localizing complex data
  • Synchronous TCP-based programming using java.io and java.net
  • Object reference management through java.lang.ref

Java Threaded Programming Training

Purpose: Learn how to high-performaning multi-threaded Java applications

Audience: Experienced Java programmers with little-to-no background in multi-threaded application development needing write multi-threaded stand-alone applications

Duration: 3 days

Summary:
Java Threaded Programming Training focuses on creating multi-threaded applications in Java, using both the core Java language features as well as the concurrency packages. Java Thread programming requires an understanding of the multi-threaded capabilities built into the Java language and the Java Virtual Machine (JVM). Once the threading capabilities of the platform are examined, the course transitions into the advanced discussion around multi-threading Java capabilities found in the java.util.concurrent package. Last, the Java Threaded Programming course explores common issues when creating a cross-platform multi-threaded application.

Topics:
  • What is "Thread" in Java?
  • Understanding the Virtual Machine Thread Scheduler
  • Types of Threads, Thread Lifecycles, and Priorities
  • Managing threads through priorities and ThreadGroups
  • Thread communication through wait, notify, and notifyAll
  • Creating mutual exclusion (mutex) with synchronized
  • Semphores, Barriers, Latches, and Exchangers
  • Thread-safe collection processing over Queues, Lists, and Maps
  • Managing collections of Thread with ThreadPools
  • "Background" thread execution through the Executor service

Developing Applications using java.nio

Purpose: Learn how to create high-throughput Input-Output (IO) oriented applications using Java.nio, the New Input-Output Application Programming Interface (NIO API)

Audience: Java programmers with some IO and threaded programming experience

Duration: 3 days

Summary:
Developing Applications using NIO training focuses on creating applications that leverage the NIO libraries. Our java.nio training begins with an examination of the IO libraries found in java.io, then the java.nio training transitions into an examination of both synchronous and asynchronous IO capabilities found within the java.nio package.

Topics:
  • What is NIO?
  • Synchronous v. Asychronous I/O Processing
  • Working with Buffers
  • IO Channels and Selectable Channels
  • Selectors and Selection Keys
  • Character Sets

Distributed Programming in Java
(RMI Training and Jini Training)

Purpose: Learn how to write distributed Java programs

Audience: Advanced Java Programmers needing to write stand-alone distributed solutions

Duration: 3 days

Summary: The Distributed Programming in Java training course teaches students core distributed programming concepts, as well as distributed programming technologies like RMI and Jini. Our Distributed Programming in Java training begins with a discussion about network programming in Java and then transitions into a discussion around the Remote Method Invocation (RMI). The Distributed Programming in Java training then concludes with an examination of peer-to-peer technologies found in Java like Jini and Juxtapose (JXTA).

Topics:
  • What is distributed programming?
  • From CORBA to Mash-ups: the history, motivations, and evolution of distributed programming
  • Fundamentals of RMI: remote references, distributed garbage collection, rmiregistry, etc.
  • Dynamic Service Discovery and Lookup using Jini
  • Distributed workflow and caching with JavaSpaces
  • Packaging and deploying a Jini-based solution
  • Building Peer-to-Peer systems with JXTA
  • Integrating with non-Java based systems using WebServices

Managing Applications with Java Management Extensions
(JMX Training)

Purpose: Learn how to enable remote management and monitoring in Java applications with Java Management Extensions (JMX) via our advanced Java training

Audience: Advanced Java Programmers needing to write JMX-based applications

Duration: 3 days

Summary: Managing Applications with JMX training examines core management and monitoring concepts required in an enterprise class application. The JMX training then moves into discussion about a software solution implementation supporting management and monitoring through the Java platform's built in management extensions, JMX.

Topics:
  • What is management v. monitoring?
  • Motivations and requirements for creating a managed and monitored system
  • Ways to do management monitoring
  • Implementing management and monitoring with JMX
  • Understanding the JMX architecture: Instrumentation, JMX Agents, Remote Management
  • Out-of-the-box JMX Tools: JConsole and monitoring the JVM
  • Creating Managed Beans (MBeans): Standard MBeans and Dynamic MBeans
  • Managing a MBeans: Locally and remotely
  • MBean notification and events
  • Writing your own management and monitoring console

Internationalizing Java Applications Training

Purpose: Learn how to leverage Internationalization and Localization (I18N) within Java to meet globalization needs via our advanced Java training

Audience: Advanced Java programmers needing to write internationalized applications

Duration: 3 days

Summary: Internationalizing Java Applications training provides students with an understanding of the I18N support found within the Java platform. The Internationalizing Java Applications training covers everything from formatting to resource bundles.

Topics:
  • Introduction to Internationalization (I18N)
  • Properties, Property Files, and Resource Bundles
  • Working with Locales
  • Isolating Locale-specific data using Resource Bundles
  • Message and Text Formatting
  • Working with Unicode
  • Internationalizing Web Applications
  • Internationalizing Rich GUI (Swing) Applications
  • Internationalizing Network Resources

Hands-On Format
Customized, in-depth, instructor-led lecture and lab training.

We'll Come To You
Here are just a few recent training locations: Austin, Baltimore, Boston, Boulder, Calgary, Charlotte, Chicago, Columbus, Dallas, Denver, Detroit, Edmonton, Houston, Indianapolis, Jacksonville, Las Vegas, Los Angeles, Louisville, Memphis, Milwaukee, Montreal, Nashville, New York, Ottawa, Philadelphia, Phoenix, Portland, San Antonio, San Diego, San Francisco, San Jose, Seattle, Toronto, Vancouver, Washington DC

110% Guarantee
If you aren't satisfied with our training, we'll refund your money and give you $750.

Customized for You
We customize every solution to meet the specific learning needs.