title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.
Java for Advanced Programmers
Course Description
Overview
This intensive, 3-day, hands-on course explores advanced Java 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 JNDI and performance tuning, as well as appendices on encryption and JNI, round out the course.
Objectives
- Access XML content with the Java API for XML Processing (JAXP)
- Use threads to improve the responsiveness of your Java Programs
- Store and retrieve a serialized Java object
- Use buffers and channels from Java's New I/O packages
- Use reflection classes to examine objects and classes at runtime
- Create client/server Java applications using sockets and Remote Method Invocation (RMI)
- Bind and lookup objects in a naming service using the Java Naming and Directory Interface (JNDI)
Audience
Prerequisites
- Intermediate Java Programming or equivalent experience is required
Topics
- Course Objectives
- Course Overview
- Using the Workbook
- Suggested References
- The Java API for XML Processing
- Introduction to SAX Parsing
- SAX Parser and JAXP
- SAX Event Methods
- Introduction to DOM
- Parsing DOM with JAXP
- The DOM API
- Validation
- Transformation
- Labs
- Non-Threaded Applications
- Threaded Applications
- Creating Threads
- Thread States
- Runnable Threads
- Coordinating Threads
- Interrupting Threads
- Runnable Interface
- ThreadGroups
- Labs
- Race Conditions
- Synchronized Methods
- Deadlocks
- Synchronized Blocks
- Synchronized Collections
- Thread-Aware Collections
- Thread Communication—wait()
- Thread Communication—notify()
- Executor
- Callable
- Labs
- What is Serialization?
- Serializable Objects
- Writing an Object
- Reading an Object
- Handling Exceptions
- Customizing Serialization
- Controlling Serialization
- Versioning
- Labs
- The java.nio Package
- Buffers and Channels
- Buffer Implementations
- Buffer Methods
- ByteBuffer Methods
- FileChannel
- File Locking
- MappedByteBuffer
- Transferring Data Between Channels
- Character Sets
- Labs
- Introduction to Reflection
- The Class Class
- The reflect Package
- Constructors
- Fields
- Methods
- Exception Handling and Reflection
- JavaBeans
- Dynamic Programming
- Labs
- 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
- Labs
- Distributed Applications
- Stubs
- Steps to Create a Remote Object
- An RMI Client
- An RMI Server
- RMI Classes and Interfaces
- Class Distribution
- Parameter Passing and Serialization
- Labs
- Naming and Directory Services
- Namespaces and Contexts
- Naming Operations
- Bindings
- Attributes
- Directory Operations
- DNS Lookups with JNDI
- JNDI in Java EE
- Labs
- Is Java Slow?
- Don't Optimize Until You Profile
- HotSpot Virtual Machine
- Garbage Collection Concepts
- Garbage Collection Generations
- Garbage Collection Algorithms
- Object Creation
- String, StringBuffer, and StringBuilder.
- Synchronized
- Inline methods
- Tuning Collections
- Labs
- Cryptography Concepts
- Encryption Keys
- Cipher Algorithms
- Modes and Padding Schemes
- The Cipher Class
- Encrypting and Decrypting Data
- Cipher Output Stream
- Cipher Input Stream
- Encryption Using Password Ciphers
- Exchanging Encrypted Keys
- Sealed Objects
- Labs
- 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
- JNI Signatures
- Labs
Related Courses
-
Programming Fundamentals Using Java
EJCJ-380- Duration: 4 Days
- Delivery Format: Classroom Training, Online Training
- Price: 2,340.00 USD
-
Java 8 New Features
EJCJ-590- Duration: 2 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,170.00 USD
Self-Paced Training Info
Learn at your own pace with anytime, anywhere training
- Same in-demand topics as instructor-led public and private classes.
- Standalone learning or supplemental reinforcement.
- e-Learning content varies by course and technology.
- View the Self-Paced version of this outline and what is included in the SPVC course.
- Learn more about e-Learning
Course Added To Shopping Cart
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Exam Terms & Conditions
Sorry, there are no classes that meet your criteria.
Please contact us to schedule a class.
STOP! Before You Leave
Save 0% on this course!
Take advantage of our online-only offer & save 0% on any course !
Promo Code skip0 will be applied to your registration
Purchase Information
title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.