Advanced Java Topics

Course:  JAVAA
Duration:  5 Days
Level:  I
Course Summary

This course outline is a starting point for building an Advanced Java Programming class for experience Java programmers. The goal of this document is to be a *menu* of topics which could be included in this course. Additional topics are welcomed. This document will act as a requirements document within the team.

« Hide The Details
Topics Covered In This Course

Overview of Java EE (Enterprise Edition)

  • Overview: Definitions, MVC Design Pattern, Server Products
  • Platform Servers: Containers, Client Technologies
  • API Services: Servlet, JSP, EJB, JNDI, JDBC, JTA, JMS, JAXP, JCA, JAAS
  • Web Application Processing Cycle
  • Deployment Objects: JAR/WAR/EAR
  • Server Component Directory Structure, XML Descriptors
  • Development Roles
  • Sample Apps.

Using JDBC to Access Databases

  • Overview: Packages, Coding Essentials, Drivers, Connections, Statements and ResultSets
  • Making Connections, Driver Types, Loading Drivers, Connection String URLs
  • Statements and ResultSets, Executing Queries/Updates, Accessing Rows/Columns, Handling Nulls, Exceptions
  • PreparedStatement and Efficiencies
  • Stored Procedures, CallableStatements
  • Advanced ResultSets, Scrollable Cursors, Updatable Rows
  • Transactions, commit/rollback
  • Database MetaData

Implementing Distributed Objects using RMI

  • Overview: Distributed Objects, RMI vs DCOM vs Corba
  • RMI Architecture: Stubs and Skeletons, RRL and Transport Layers, Naming Service and Registry, Memory Mgmt, Development checklist
  • RMI Servers, Remote Interfaces, RemObj Implementation, Servers, Binding
  • RMI Clients
  • Deployment Issues, Compiling/Testing, ClassLoaders and Servers, Classpaths
  • BiDirectional Messaging
  • Object Activation, rmid, Setup programs

Developing Servlets

  • Overview: Request/Response systems, HTTP, Browser/Server protocols
  • Servlet Architecture: Interfaces and Classes, Generic/HTTP Servlet classes, Life Cycle, Property files, Configuration and Context info
  • Coding Servlets: Request/Response classes/methods, GET and POST processing
  • File/DB Processing
  • Maintaining State: Cookies, HTTPSession object
  • Servlet Collaboration: Including and Forwarding Responses and Requests

Developing JavaServer Pages (JSP)

  • Overview: API package, App Servers, Classes and Translation Phases, Example
  • JSP Coding: Tag Syntax, Directives Page/Include
  • Scripting Elements, Expressions, Declarations, Scriptlets
  • Actions, useBean, get/setProperty, include/forward
  • JSP Design Patterns, Model I/II, Page-Centric vs MVC
  • Example Application

Java XML Processing

  • Overview: Standards, Parsers, APIs, SAX and DOM Features, Sun Java APIs
  • XML Overview: Modeling/Presentation/Processing Software, Technologies
  • XML Syntax, ProcInstructions, Declarations, Elements/Attributes
  • Examples XML, DTD, XSD
  • Coding With SAX
  • *
  • Overview/Steps
  • Xerces and JAXP API and packages
  • XMLReader
  • Content and Error Handlers
  • Event Callback Methods
  • Properties and Features
  • Examples
  • Coding With DOM
  • *
  • Overview/Step
  • Xerces and JAXP API and packages
  • DOMParser
  • DOMImplementation
  • Document object
  • Collections
  • DOM Classes
  • Mutability
  • Node/Element Methods
  • Document Methods
  • Creating Nodes
  • DocTypes
  • Serialization
  • Examples

Event Delegation Model, Sources, Objects and Listeners

  • Program Structure and Coding, Implementing Interfaces, Inner Classes, Anonymous Adapters

Java Networking and Sockets

  • Overview: Network Stack and Protocols, IP/TCP/UDP, Appl, Services
  • Package Classes and Exceptions
  • INET Address Translations
  • URL and URLConnections, HTTP Header Info, Downloading FileData
  • Socket Programming, Client vs Server Coding, Threading
  • Datagram Sockets and UDP
  • CGI-like GET/POST Processing

Using Java Threads

  • Overview: Process vs Thread
  • Object Threading Model, Thread Class, Data, run() code
  • Creating Threads, Runnable Interface vs Extending Thread Class
  • Thread States: New, Runnable, Blocked, Dead
  • Thread Class Methods, start/stop, suspend/resume, yield, sleep
  • Thread Priority and Scheduling, Daemons, Groups
  • Synchronization and Thread Safe coding, Locks
  • Producer/Consumer Model, wait/notify Processing
  • SE5 Concurrency Package, Executors, ThreadPools, Scheduling, Callables

Additional Topics

  • Spring Aspect Oriented Programming (AOP)
  • Test Driven Development
  • Agile Considerations
  • Design Patterns (23 available ? pick top 5)
  • Performance Considerations
  • JVM Tuning
  • JMeter for Load Testing
  • Maven
  • JavaServer Faces (JSF) Overview
Who Should Take This Course

This course is for Java programmers/developers who want to achieve an expert level of Java proficiency, or who want to rapidly gain experience/expertise in a specialized area.

Recommended Prerequisites

Students in this class should be proficient Java programmers with at least 2 years experience.

Training Style

Lecture (50%) and Workshop (50%)

« Hide The Details
Related Courses
Code Course Title Duration Level
Fundamentals of Java Development
5 Days
Java Web Development for OO Programmers
5 Days
Developing Java Web Services
5 Days

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
Live on the Web
Live on the Web
Live on the Web
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at