Courses
Oracle Courses
Symantec Courses

JAV-402 --- The Java Specialist Master Course

Overview

During this 4-day course, you will study over 1000 slides of advanced Java topics.

Objectives

During this 4-day course, you will study over 1000 slides of advanced Java topics. Each major section is followed by practical hands-on exercises to apply what you have learned. Even the most experienced Java programmer will be stimulated and challenged. This course is ideally suited to the professional Java programmer with at least 2 years experience, who would like to learn how to truly master the Java Programming Language.Students who can benefit from this course:Experienced Java technology developers.

PreRequisites

.

Who Can Benefit

.

Duration

4 Days

Course Content

The Java Specialist Master Course Content Details

 
 
Module 1 - Multi-Threading
  • Multi-Threading
    • Basics of Threads
      • Threading Background
        • Threading Models
        • Process vs thread
        • Parallel vs concurrent
      • Creating New
        • Thread Groups
        • States
      • Synchronized
      • Locks
      • Priorities
      • Timers
      • Daemon Threads
    • The Secrets of Concurrency
      • Interrupted Status
      • What threads are doing
      • Limiting # of Threads
      • Visibility Problems
      • Early Writes
      • Corrupt Data
      • Contention
      • Java Memory Model
      • Hardware impact
      • Deadlocks
    • Applied Threading Techniques
      • Executors
      • Count-down latch
      • Semaphore
      • Blocking queues
      • Atomic Variables
      • Volatile
      • Exceptions
      • Thread local variables
      • Stopping Threads
      • Shutdown hooks
    • Threading Problems
      • Race Conditions
      • Starvation
      • Fairness
      • Deadlock
      • Livelock
Module 2 - Java IO
  •  
    • Object Streams and Serialization
      • Object Serialization
      • Simple Object Serialization
      • Serializable Fields
      • readObject() / writeObject()
      • Controlling Serialization
      • Externalizable
      • Serial Object Versioning
      • Compatible Class Changes
      • Incompatible Class Changes
      • Overriding Versioning
      • Circular References
      • Serialization Performance
      • Serialization Pitfalls
      • Resetting Streams
    • Java New IO Package
      • Motivation for Using
      • Working with Buffers
      • Allocating Buffers
      • Buffers Advantages
      • Channels
      • Memory Mapped Files
      • Non-Blocking Operations
      • Selectors
      • NIO Uses
        • Event Driven Architecture
    • Character Streams Encoding
      • The Unicode Standard
      • Forms of Unicode
      • 32-bit Characters
      • Big / Little Endian
      • Other Encodings
      • Other Charsets - ISO 8859
      • Charset Class
      • Encoders and Decoders
      • Code Points
Module 3 - Java Memory
  •  
    • Garbage Collection
      • Overview
      • Generational Spaces
      • GC Tasks
      • Heap Fragmentation
      • GC Pros and Cons
      • Algorithms
        • Reachability
        • History
        • JVM 1.4, 5, 6
        • Young Space
        • Old Space
        • Summary
      • Measuring GC Activity
      • Performance
        • Object Size
      • Using jConsole
      • Managing OutOfMemoryError
    • Tuning JVM
      • JVM Switches
      • Non-Standard Switches
      • Sizing Generational Spaces
    • References
      • Reference Objects
      • Object Reachability
      • Using References
        • SoftReference
        • WeakReference
        • PhantomReference
        • Abstracting
      • ReferenceQueue
      • WeakHashMap
      • SoftHashMap
      • Performance Implications
    • Object Pooling
      • Introduction
      • Reasons for not Using
      • Thread Pooling
  • Database Connection Pooling
Module 4 - Reflection API
  •  
    • Overview
      • Introduction
      • Usefulness of Reflection
      • Dangers of Reflection
      • Examining Classes
      • Reflection Package
      • Retrieving Class Objects
      • Working with Class Objects
      • Accessing fields
      • Accessing methods
      • Generics
    • Manipulating Objects
      • Working with objects
      • Creating new objects
      • Getting and Setting Fields
      • Invoking Methods
      • Casting through Reflection
      • Final fields
    • Arrays
      • Working with Arrays
      • Elements' Type
      • Creating new Arrays
      • Getting and Setting Elements
    • Dynamic Proxy Classes
      • Proxy Definition
      • Creating new Proxy
      • InvocationHandler
      • Proxy Class
    • Classes
      • When are Classes Loaded?
      • How loadClass() works
      • Implementing own ClassLoader
      • The defineClass Method
 
Module 5 - Data Structures
  •  
    • Basics
      • Introduction
      • Abstract Classes
      • Algorithm Complexity
      • Data Structures & GC
      • Primitive Data Structures
      • Null Elements
      • Type Safety
    • Iteration
      • Iterators
      • Efficiency
      • RandomAccess
      • Multithreading
      • ConcurrentModification
      • CopyOnWrite Collections
      • New "for-each" iteration
      • Iterable interface
    • Sorting
      • Collections & Arrays
      • Sorting Performance
      • Comparisons
      • Maps
      • Trees
      • Hashing
        • JDK 1.4+ rehashing
      • Compound Keys
      • Map of Maps
      • ConcurrentHashMap
      • Linked Maps
      • Searching
    • Generics
    • Other Structures
      • Multimap
      • Queues
      • Deques
      • Heaps
      • LRU Cache
Module 6 - Exceptions
  •  
    • Error Handling
      • Class Hierarchy
      • Throwable Class
      • Exception Class
      • Error Class
      • StackTraceElement
      • Abuse of Exceptions
      • Uncaught Exceptions
      • Asynchronous Exceptions
    • Critical Errors Inside the JVM
    • Best Practices
      • Checked vs. Unchecked
      • Avoid Custom Exceptions
      • Writing Good Exceptions
      • Wrap Low Level Exceptions
      • Avoid Catching "Programmer Bug" Exceptions
      • Chain Exceptions
      • Avoid Swallowing Exceptions
      • Cleanup After An Exception
      • Never Abuse Exceptions for Flow Control
      • Throw Exceptions Early
      • Catch Exceptions Late
      • Good Throws Clauses
      • Document Exceptions
      • Unit Test Exceptions
    • Assertions
      • Mechanism
      • "assert" Statement
      • Detecting if enabled
      • When to Use
      • When Not to Use
      • JVM switches
      • Why disable?
    • Performance Issues
Module 7 - Java Optimizations
  •  
    • Low Level
      • Overview
      • High Level
      • Low Level
      • When Not to Use
      • Microbenchmarking
      • Finding bottlenecks
      • Optimization Techniques
    • Other Optimizations
      • Compiler
      • Runtime
      • Just-in-Time
      • HotSpot
    • Problem Areas
      • Typical Problem Areas
      • Methods Declarations
      • Object Creation
      • Strings and constants
      • Loops
      • Benchmarking
      • Class Casting
        • Generics
      • Other Areas
    • Tools
      • Profiling Tools
      • HPROF
      • How to tune
Module 8 - Dates and Time Zones
  •  
    • Computer Time
      • Time Synchronization
      • Human Time Interpretation
      • Computer Setting
    • Time in Java
      • Introduction
      • java.util.Date
      • java.util.TimeZone
      • java.util.Calendar
      • java.util.GregorianCalendar
      • java.util.DateFormat
      • java.sql.Date
      • java.sql.Timestamp
    • Best practices
Module 9 - Logging
  •  
    • Overview
      • Why log?
      • Principal Requirements
      • Main Logging APIs
      • Jakarta Commons Logging
    • Log4j API
      • Building Blocks
        • Logger
        • Appender
        • Layout
      • Principles
        • Logger Hierarchy
        • Level Inheritance
        • Appenders Additivity
      • Configuration
        • From Application
        • From XML File
    • Best Practices
      • Defining Logging Scheme
      • Logging Levels
      • Log Messages Format
      • Centralized Logging
      • Code Guards
      • Exceptions
      • Reviewing Logging
    • Impact on Performance
      • Unecessary Strings
      • Writing to Disk
      • Asynchronous Logging



Interested in any of our courses. Use this form to contact us