Advanced Java Programming
Rev. 1.0
This intensive hands-on course explores advanced Java language features
and packages. Java programmers will be able to take the content learned and
immediately apply it to the problems encountered on the job.
The course begins with a discussion of inner classes. Database
programming using JDBC is covered in depth. Object serialization is covered.
Distributed programming in Java is introduced, including use of both Remote
Method Invocation and CORBA. Reflection in Java and JAR files are covered.
Server-side Web programming is introduced using servlets. Java security is
covered in depth, including both the Java security model and details of the
java.security package. Native methods are covered. There is also an introduction
to JavaBeans. (For more detail on this last subject, please see our 4-day course
“Using and Developing JavaBeans”.
There are many hands-on labs and
example programs.
LEARNING
OBJECTIVES
·
Learn intermediate to advanced Java features such as inner
classes, object serialization, reflection, the use of JAR files, and native
methods.
·
Gain an in-depth understanding of database programming in Java
using JDBC
·
Learn Java's security model and how to do security programming in
Java.
·
Learn how to do distributed programming in Java using RMI and
CORBA
Course Duration: 5
days
Prerequisites: Java
Programming and some Java development experience are required.
1.
Course Introduction
Course Objectives
Course Overview
Suggested References
2.
Inner Classes
Nested Object Model
Member Classes
Local Classes
Anonymous Classes
Instance Initializers
Inheritance vs. Containment Last Topic
Inner Classes with the AWT
3.
Introduction to JDBC
The JDBC Connectivity Model
Database Programming
Connecting to the Database
Creating a SQL Query
Getting the Results
Updating Database Data
Finishing Up
4.
JDBC SQL Programming
Error Checking and the SQLError Class
The SQLWarning Class
The Statement Interface
The ResultSet Class
Executing SQL Statements
Executing SQL Updates
Transaction Management
5.
Advanced JDBC
Using a PreparedStatement
Parameterized Statements
Stored Procedures and Functions
ResultSets from Stored Procedures
The execute() Method
ResultSetMetaData
The DriverManager Class
Types of JDBC Driver
The DatabaseMetaData Class
Positioned Updates
Large Objects
6.
Object Serialization
What is Serialization?
Serializable Objects
Writing an Object
Reading an Object
Handling Exceptions
Customizing Serialization
Controlling Serialization
Motivation I: Persistence
Motivation II: Distributed Applications
Motivation III: Object Storage
7.
Remote Method Invocation
Distributed Applications
Stubs and Skeletons
Steps to Create a Remote Object
Local Example
Remote Client
Remote Server
RMI Classes and Interfaces
Parameter Passing and Serialization
RMI Utilities
8.
CORBA
Interface Definition Language
IDL-to-Java Compiler
Server Code - ImplBase Approach
Client Code
Running the Application
CORBA Review
9.
Reflection
The Class Class
The reflect Package
Dynamic Instantiation
Attribute Access
Method Determination and Invocation
Exception Handling and Reflection
Uses of Reflection
10.
JAR Files
The Jar Utility
Manifest Files
Signed JARs
11.
The Event Model
Event Listeners
Event Sources
Event Objects
Firing Events
Event Casting Models
Events and Exceptions
12.
JavaBeans
The Basic Bean
Bean Properties
Bound Properties
Constrained Properties
13.
More JavaBeans
Bean Persistence
Multithreading Considerations
Packaging Beans
The BeanBox
Introspection
Customizers
JavaBeans and ActiveX
14.
Servlets
3 Ways to Use Servlets
Dynamic HTML Symantics
GenericServlet API
HttpServlet API
HTML Servlet Choices
Client/Server Communication
Client Example
Server Example
15.
Managing Security Policy
The Java Security Model
The Java Virtual Machine
Applet Security - The Sandbox
Trusted Applets
Signatures and Message Digests
The javakey Utility
Security and JARs
16.
Keys, Signatures and Certificates
Java Cryptographic Architecture
The Security API
The Provider Class
Security Classes and Interfaces
Generating Keys
Managing Keys
Access Control Lists
Securing Network Traffic - Data Encryption
17.
Native Methods
Overview of Java Native Methods and JNI
How to Create and Use Native Methods
Native Method Declaration
Using javah
Creating the Implementation Code
Compilation
Distribution
Using the Native Methods
JNI
Passing Arguments
Calling Java Methods in Native Code
Embedding a VM in Native Code