Get in Touch

Course Outline

Generics

  • Why, when, and the benefits versus costs of using generics
  • Type erasure
  • Type boundaries
  • Wildcards
  • Generic methods

Multithreading

  • The Java thread system
  • Managing threads
  • Interacting with threads and thread state
  • Thread synchronization
  • Volatile fields and synchronized methods
  • Wait and notify pattern
  • Join and sleep pattern
  • Concurrency API
  • Atomic operations
  • Thread pools

Reflection

  • When to use and when to avoid reflection
  • Applications for metadata
  • The Reflection API
  • The Class<T> class
  • The java.lang.reflect package
  • Reading type information
  • Navigating inheritance hierarchies
  • Dynamic instantiation
  • Dynamic invocation
  • Reflecting on generics
  • Accessing private fields using reflection

Annotations

  • Aspect-Oriented Programming (AOP)
  • Built-in annotations
  • Annotation model
  • Annotation types and annotations
  • Annotations versus descriptors (XML)

Multi-process communication

  • Shared memory
  • Sockets
  • Non-blocking sockets
  • TCP
  • URL objects
  • HTTP and other TCP servers
  • Datagram clients and servers
  • Multi-threading in servers

Requirements

Strong knowledge of Java and object-oriented programming, including interfaces, inheritance, polymorphism, generics, collections, recursive methods, annotations, and varargs.

 7 Hours

Number of participants


Price per participant

Testimonials (3)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories