Advanced Java Programming
Version 6.0


Java Training Overview

This course provides advanced training in developing software using the Java Platform, Standard Edition, or Java SE. It is intended for students with solid experience in structured and object-oriented Java programming, including use of the Collections API and exception handling.

The course covers several general-purpose topics: using and building generic types, writing multi-threaded applications, the Reflection API and annotations, and network programming using sockets. It combines nicely with various other courses in the Java curriculum, each of which is also "advanced Java" of some sort: JDBC, secure coding, Swing GUI programming, design patterns, and so on.


Java Training Prerequisites

Solid Java programming experience is essential -- especially object-oriented use of the language. Language features and techniques that are integral to some lab exercises include interfaces and abstract classes, threading, generics and collections, and recursive methods. Course "Java Programming," is excellent preparation.

Java Training Learning Objectives

After successfully completing this course, you will be able to:

  • Make effective use of Java generic types.
  • Write multi-threaded Java applications.
  • Use the Reflection API for highly generic tasks, discovery, or code-generation.
  • Use standard annotations and develop custom annotations to express meta-data in Java source files.
  • Communicate between processes using network sockets.
Java Training Course duration

2 Days

Java Training Course outline

Chapter 1. Generics
  • Using Generics
  • Type Erasure
  • Type Boundaries
  • Wildcards
  • Generic Methods
  • Strengths and Weaknesses of Generics
  • Legacy Code and Generics
Chapter 2. Threads
  • Java Thread Model
  • Creating and Running Threads
  • Manipulating Thread State
  • Thread Synchronization
  • Volatile Fields vs. Synchronized Methods
  • wait and notify
  • join and sleep
  • The Concurrency API
  • Atomic Operations
Chapter 3. Reflection
  • Uses for Meta-Data
  • The Reflection API
  • The Class<T> Class
  • The java.lang.reflect Package
  • Reading Type Information
  • Navigating Inheritance Trees
  • Dynamic Instantiation
  • Dynamic Invocation
  • Reflecting on Generics
Chapter 4. Annotations
  • Aspect-Oriented Programming and Java
  • The Annotations Model
  • Annotation Types and Annotations
  • Built-In Annotations
  • Annotations vs. Descriptors (XML)
Chapter 5. Sockets
  • The OSI Reference Model
  • Network Protocols
  • The Socket Class
  • The ServerSocket Class
  • Connecting Through URL Objects
  • HTTP and Other TCP Servers
  • Datagram Clients and Servers
  • Non-Blocking Sockets
Appendix A. Learning Resources


Hardware/Software Requirements

Hardware – minimal
  • 500MHz, 256 meg RAM, 500 meg HD.
Hardware – recommended
  • 1.5 GHz, 512 meg RAM, 1 gig disk space
Operating system
  • Tested on Windows XP Professional. Course software should be viable on all systems which support a Java 6 Developer's Kit.
Software

All free downloadable tools

Wintrac Inc.
16523 SW McGwire Ct.
Beaverton OR 97007
© Wintrac, Inc. All rights reserved.                                                                               Site Map   |   Terms of Use   |   Privacy Policy