Java Programming: Training Course Outline — About Objects, Inc.

Need more info? Call now.

703-251-4474

Courses — About Objects, Inc.

Java Programming

Course Outline

  1. Overview
    • Platform independence
    • Byte code and JVMs
    • Garbage collection
    • Object-oriented features
    • Compilers
      • Hot spot
      • JIT
    • Libraries
      • Java SE
      • Java EE (J2EE)
  2. The Java Ecosystem
    • The Java Community Process (JCP)
      • What is a JSR?
    • Desktop GUIs: AWT, Swing, and SWT
    • Java and XML
    • Web technologies
      • Servlets and JSP
      • MVC frameworks
      • Web services
    • Persistence technologies
      • JDBC
      • JPA and object-relational frameworks
      • EJB 2.0 vs. EJB 3.0
    • Application Servers
      • Lightweight containers
    • Tooling
      • Unit testing frameworks
      • Build tools
      • IDEs
  3. Java Basics: the java.lang
    • Statements
      • Simple and compound statements
      • Comments
    • Operators
      • Assignment
      • Arithmetic
      • Boolean
      • Grouping
      • String operations
    • Variables and types
      • Primitive types
      • Object types
      • Java 5 generics
      • Declaring and de?ning variables
    • Classes and instances
      • String class
      • Constructing an instance
      • Method invocation
    • Arrays
      • Array declaration and de?nition
      • Referencing elements
      • The Arrays class
      • System utility methods
    • Control structures
      • Branching
      • Looping
      • Exception handling
  4. Writing Java Classes
    • Java packages
      • Namespaces
      • The default package
    • Class and instance members
      • Instance variables
      • Instance methods
      • Properties
      • Constructors
      • Finalization
      • Static variables and methods
      • Visibility modi?ers
    • Inheritance
      • Base classes
      • Object and Class classes
      • Overriding inherited methods
      • Abstract classes and methods
    • Interfaces
      • Implementing an interface
      • Marker interfaces (Serializable, Cloneable, etc.)
      • Interface inheritance
    • Inner classes
      • Where and how to use
      • Declaring and accessing
      • Anonymous inner classes
    • Exception handling
      • try/catch blocks
      • When to use finally
      • Error and Exception classes
      • Runtime vs. checked exceptions
    • Object identity
      • equals vs. ==
      • Implementing hashcode
      • Classloader issues
    • Java 5 annotations
      • Custom annotations
    • Unit testing
      • JUnit and TestNG
      • Mock objects and test isolation
  1. Java Types: the java.util and java.text Packages
    • Localization (i18n) issues
      • Format and its subclasses
      • Working with properties ?les
      • ResourceBundle
    • Wrapper types
      • Java 5 autoboxing
      • Number class
      • Byte, Character, Integer,
      • NumberFormat
    • Working with Dates
      • Date classes
      • Calendar classes
      • DateFormat
    • The java.math package
      • BigDecimal and BigInteger
      • Rounding modes
    • Collections
      • Iterators
      • Set and HashSet
      • List and ArrayList
      • The Collections utility class
    • Maps
      • Map and HashMap
      • Map entries
  2. Object-Oriented Concepts
    • Inheritance
      • Class heirarchies
      • Implementation inheritance
      • Overriding methods
      • Shadowing instance variables
    • Polymorphism
      • Inheritance-based
      • Re?ection-based
    • Encapsulation
      • Information hiding
      • Controlling visibility
      • Coupling and cohesion
  3. Files and Streams
    • Files and directories
    • Working with streams
    • Readers and Writers
    • Buffering
    • Serialization
  4. Re?ection and Introspection
    • Dynamic vs. compile-time binding
    • Language-level support
      • instanceof operator
    • Dynamic instantiation
      • newInstance method
    • Dynamic invocation
      • Method signatures
      • Method lookups and caching
    • Dynamic access
      • Obtaining member values
      • Modifying object state
  5. Threads
    • Thread safety
      • Thread contention
      • Avoiding deadlocks
    • Current thread
      • Obtaining classloader
      • Accessing resources
    • The ThreadLocal class
      • Managing global state
  6. XML
    • XML Documents
      • Elements and attributes
      • The concept of 'well-formedness'
      • DTDs and XML Schema
    • Parsers
      • SAX (Simple API for XML)
      • DOM (Document Object Model)
      • StAX (Streaming Asynchronous XML)
    • Transformations
      • CSS, XSL and XSLT
      • The XPath language