advanced Java programming

This course covers advanced object oriented techniques and algorithms with Java. It is an extremely practical course, developed and taught by consultants with many years' experience in OO design. When taught at your site, this modular course can be adapted to your situation and requirements. Included in the course are numerous examples and exercises, and comes with a reference text. After the course, we are able to offer reviews and mentoring to guide you in making the best use of the techniques.

Duration: 4 days


  • gain competence in Java's component model — Java Beans
  • learn how to dynamically invoke and configure components
  • develop essential skills to migrate components to a distributed environment
  • know the pitfalls and solutions of distributed and concurrent programming
  • be able to use relevant Java design patterns and idioms to solve common problems

target audience

The course is suitable for Java developers.


Ideally this training should be preceded by the course: design and develop Java applications.


  • find the class
  • discover modifiers, fields, methods, constructors, and superclasses
  • find information on interfaces
  • runtime object creation
  • flexible component initialization
  • dynamic method invocation

Java Beans

  • client side Beans
  • server side Beans
  • existing Beans


  • JDBC versus ODBC
  • JDBC driver types, JDBC-ODBC bridge
  • two tier versus three tier models
  • DriverManager
  • Driver
  • Connection
  • Statement
  • ResultSet
  • mapping SQL data types

Threads and concurrency

  • thread theory: philosophers at lunch
  • Runnable interface and the Thread class
  • critical sections, locks, synchronization

Distributed computing

  • overview of current technologies (J2EE, RMI, CORBA, DCOM)
  • RMI and ORBs
  • patterns for distributed components
  • defining interfaces to active objects
  • problems of building enterprise applications
  • adopting existing legacy applications into the universal C/S
  • structure
  • remote RMI interfaces
  • RMI clients, server, and registry


  • MVC(Model View Controller)
  • Two-way link
  • Observer
  • Recursive Composite
  • State Delegation
  • Interface Decoupling


  • advantages of Servlets over CGI
  • Servlet sessions
  • Servlet class hierarchy
  • Servlet interaction with the client

Review of other Java technologies

  • Java Naming and Directory Interface (JNDI)
  • Java Transaction Service (JTS)
  • Java Message Service (JMS)
  • Java in small memory spaces, eg PDAs

Please note, when taught at your site, this course is customizable. Modules can be adapted, removed, added from other courses, or even created.


Day 1

  • Reflection
  • Java Beans

Day 2

  • JDBC
  • Threads and concurrency

Day 3

  • Distributed computing
  • Patterns

Day 4

  • Servlets
  • Review of other Java technologies

course instructor

It is presented by one of our senior consultants, each of whom has at least ten years' experience in object oriented software development, and at least three years' experience as a trainer and consultant in a diverse range of application areas.

print     printer-friendly version