HomeTrainingCoursewareList of CoursesContact UsSearch
Call (605) 391-2110 to speak with a sales representative, or email us at sales@javalicense.com.
Course Title: Advanced Java Programming
Course Length: 4 Days
Course Number: Java102
Delivery: Instructor-led, On-Site
Audience: Our 4-day Advanced Java course is for programmers who have a good working knowledge of the Java programming language. This course is intended to follow the Java for Programmers or Java for C++ Programmers course.
Description: Advanced Java covers popular Java programming concepts that are beyond the scope of the introductory courses. Topics discussed include object serialization, an important feature of other Java technologies like RMI and Enterprise JavaBeans. We also discuss creating TCP/IP sockets, the Java Reflection API, inner classes, and a detailed discussion on Java threads and how to use the built-in thread synchronization features of the Java language. The course then advances to some of the most popular APIs in the Java language: Remote Method Invocation (RMI), Java Database Connectivity (JDBC), the Java Native Interface (JNI), and JavaBeans, a specification for developing Java software components.
Course Outline:

Advanced Java Topics

  • Object Serialization: Object persistence.
  • Sockets: Creating TCP/IP connections.
  • The Reflection API: Determining the features of a class.
  • Inner Classes: Classes defined within a class or method.


  • Processes vs. Threads: Understanding what a thread is.
  • Thread Scheduling: The lifecycle of a thread.
  • Creating a Thread: The Thread class and the Runnable interface.
  • Synchronization: Making your Java classes thread-safe.
  • The Object Monitor: Using the wait() and notify() methods.

Remote Method Invocation

  • Overview of RMI: Understanding how RMI works.
  • The RMI Registry: Stores remote references.
  • The Remote Interface: Tagging interface for remote objects.
  • Implementing RMI: The steps involved in implementing RMI.
  • Callbacks: Passing a remote reference.
  • Activatable Objects: Instantiating remote objects on demand.
  • The Activatable Class: For use with activation.
  • The Setup Class: Registering the remote interface with rmid.
  • Implementing Activation: The steps involved in using rmid.


  • Overview of JavaBeans: Java software components.
  • The Bean Development Kit: The bean specification and Sunís beanbox.
  • Properties: Adding properties to a bean.
  • Methods: A beanís behavior.
  • Events: How beans communicate with each other.

Java Native Interface

  • Overview of JNI: Interface to native code.
  • Using JNI: The steps involved in using JNI.
  • "Hello, JNI": Your first JNI application.
  • JNI Data Types: How the Java data types map to JNIís data types.
  • The Methods of JNI: A reference for the JNI methods.
  • Fields, Methods and Constructors: Accessing members of Java objects from native code.


  • Overview of JDBC: An API for communicating with databases.
  • JDBC Drivers: Understanding the various types of drivers available for JDBC.
  • Connecting to a Database: Loading the appropriate driver and making the connection.
  • Statements: Executing SQL statements.
  • Prepared Statements: Executing precompiled SQL statements.
  • Results: Working with result sets.



JLicense, Inc. Copyright 2007. This site runs on a Tomcat server behind Apache's httpd Web server and uses JavaServer Pages, JavaServer Faces, JBoss RichFaces, and Ajax.