Course Code: 1142

Java for Advanced Programmers

Class Dates:
1/31/2022
Length:
3 Days
Cost:
$1495
Class Time:
Technology:
Developer
Delivery:
Instructor-Led Training, Virtual Instructor-Led Training

Overview

  • Course Overview
  • This intensive, hands-on course explores advanced Java 5.0 Standard Edition language features and packages. Students will learn to parse XML documents using the JAXP API. Multi-threaded applications will be covered in detail including concepts such as deadlocks and race conditions. Students will also learn how to utilize more advanced I/O capabilities with object serialization and low-level file I/O with the java.nio package. Client/server applications will be written utilizing both the java.net and java.rmi packages. Additional topics on JNI, performance tuning, and advanced RMI are included as appendices for further study.

  • Audience
  • Java programmers who wish to increase their depth of knowledge in Java programming and explore the uses of the various advanced packages.

Course Details

  • Processing XML with Java
  • The Java API for XML Processing
  • Introduction to SAX Parsing
  • SAXParser and JAXP
  • SAX Event Methods
  • Introduction to DOM
  • Parsing DOM with JAXP
  • The DOM API
  • Validation
  • Transformation
  • Introduction to Threads
  • Non-Threaded Applications
  • Threaded Applications
  • Creating Threads
  • Thread States
  • Runnable Threads
  • Coordinating Threads
  • Interrupting Threads
  • Runnable Interface
  • ThreadGroups
  • Thread Synchronization and Concurrency
  • Race Conditions
  • Synchronized Methods
  • Deadlocks
  • Synchronized Blocks
  • Thread Communication -wait()
  • Thread COmmunication - notify()
  • Java 5.0 Concurrency Improvements
  • Thread-Aware Collections
  • Executer
  • Callable
  • Advanced I/O - Object - Serialization
  • What is Serialization?
  • Serializable Objects
  • Writing an Object
  • Reading an Object
  • Handling Exceptions
  • Customizing Serialization
  • Controlling serialization
  • Versioning
  • Advanced I/O - New I/O
  • The java.nio Package
  • Buffers and Channels
  • Buffer Implementations
  • Buffer Methods
  • ByteBuffer Methods
  • File Channel
  • File Locking
  • MappedByte Buffer
  • Transferring Data between Channels
  • Character Sets
  • Reflection
  • Introduction to Reflection
  • THe Class Class
  • The reflect Package
  • Fields
  • Methods
  • Exception Handling and Reflection
  • JavaBeans
  • Dynamic Programming
  • Networking with Sockets
  • Clients and Servers
  • Ports, Addresses and Protocols
  • The Socket Class
  • Communication Using I/O
  • Servers
  • The ServerSocket Class
  • Concurrent Servers
  • The URL CLass
  • THe URL Connection Class
  • Remote Method Invocation
  • Distributed Applications
  • Stubs
  • Steps to Create a Remote Object
  • An RMI Client
  • RMI Classes and Interfaces
  • Class Distribution
  • RMI Utilities
  • Parameter Passing and Serialization
  • Java Naming and Directory Interface
  • Naming and Directory Services
  • Namespaces and Contexts
  • Naming Operations
  • Bindings
  • Attributes
  • Directory Operations
  • DNS Lookups with JNDI
  • JNDI in J2EE
  • Java Performance Tuning
  • Is Java Slow?
  • Dont Optimize until you Profile
  • HotSpot Virtual Machine
  • Garbage Collection Concepts
  • Garbage Collection Generations
  • Garbage Collection in Java 5.0
  • Object Creation
  • String, StringBuffer, and StringBuilder
  • Synchronized
  • Inline Methods
  • Tuning Collections