Course Overview
Chapter 1 - Overview of Java
- History Of Java
- Benefits Of Java
- What Is Java?
- What's This "Virtual Machine"?
- Comparison to Other Languages
- Java Programs
- Basic Java Development Tools
- Java Editions
- Example HelloWorld
- Java Classes
- Main Methods
- Statements
- Summary
Chapter 2 - Introduction to Rational Application Developer (RAD) v7.5
- The RAD 7.5 Product
- Eclipse Platform
- Rational Web Developer
- Rational Application Developer
- Key Features in RAD v7.5
- Key Features in RAD v7.5
- Key Features in RAD v7.5
- Views, Perspective, and Editor Areas
- Basic Operations with RAD Views and Perspectives
- The Java Perspective
- The Debug Perspective
- Navigator View
- Package Explorer
- Outline View
- Task and Problems View
- Build and Validation
- Import and Export Project
- Code Completion, Templates and Snippets
- Code Completion, Templates and Snippets
- Searching
- Setup Compiler Class Path
- JRE Switching
- Refactoring
- Refactoring
- Changing Class Name
- Changing Method Name
- Changing Variable Name
- Moving a Class to a Different Package
- Extracting Code to a Method
- Pull Up and Push Down Methods
- Migrating Workspace from RAD v6 or WSAD v5.1.2
- Project Interchange Feature
- References
- Summary
- Eclipse Platform
- Eclipse Workspace
- Perspectives, Views & Editors
- Perspectives, Views & Editors
- Basic Operations with Eclipse Views and Perspectives
- The Java Perspective
- The Debug Perspective
- Navigator View
- Package Explorer
- Outline View
- Problems View
- Eclipse Preferences
- Build and Validation
- Code Completion, Templates and Snippets
- Searching
- Configure Compiler Class Path
- JRE Switching
Chapter 3 - Basic Object Concepts
- What Is An Object?
- State
- Behavior
- Encapsulation
- Encapsulation Examples
- Classes vs. Objects
- Inheritance
- Interfaces
- Polymorphism
- Benefits Of Objects
- Summary
Chapter 4 - Basic Java Syntax
- Declaring And Initializing Variables
- Keywords
- Coding Tips Variables
- Primitive Data Types
- Logical - boolean
- Textual - char and String
- Integral - byte, short, int, long
- Floating Point - float and double
- Literal Values
- Strings
- Creating Strings
- White Space
- Comments
- Coding Tips - Comments
- Java Statements
- Coding Tips - Statements
- Scope of a Variable
- System.out/System.in
- Scanner Class
- Summary
Chapter 5 - Operations and Making Decisions
- Operator Categories
- Special Situations
- Binary Operators
- Integer Division
- Numeric Promotion
- Type Conversion Of Primitive Types
- Unary Operators
- Relational Operators
- Logical Operators
- Bitwise Operators
- Bitwise Examples
- Shift Operators
- Overflow And Underflow
- Assignment Operators
- Ternary Operator
- Calculation Errors
- Operator Precedence
- Precedence Examples
- Combining Strings
- Coding Tips - Operators
- Control Flow Statements
- 'if' Statement
- 'ifelse' Statement
- Nested Statements
- "Short Circuited" Operators
- Coding Tips - if & if-else
- Summary
Chapter 6 - Using Classes and Objects
- Objects, Instances, And Classes
- What Are Classes?
- Working With Classes And Objects
- Working With Classes And Objects
- Instantiation
- Instance Methods
- Object References
- Object References
- String Operations
- The Math Class
- Summary
Chapter 7 - Writing Classes
- Why Define Your Own Classes?
- Encapsulation
- Elements Of A Class
- Defining Classes
- Coding Tips - Class Definitions
- Fields
- Defining Fields
- Coding Tips - Fields
- Methods
- Defining Methods
- Passing Parameters
- Overloading Methods
- Coding Tips - Methods
- Local Variables vs. Instance Variables
- Example - Defining a Class
- Example - Fields
- Example - Fields
- Example - Defining a Method
- Example - Calling a Method
- Summary
Chapter 8 - Controlling Code Access and Code Organization
- Controlling Access
- Data Hiding
- Encapsulation
- JavaBeans
- Packages
- Problems Solved With Packages
- Naming Packages
- Declaring Packages In Classes
- Package Access
- Example - Access Modifiers
- Import Statement
- Using Classes From Packages
- Coding Tips - Import Statements
- Correlation To File Structure
- Class Path
- Java Core Packages
- Java API Documentation
- Summary
Chapter 9 - Constructors and Class Members
- Constructors
- Multiple Constructors
- Defining Constructors
- Default Constructor
- Example - Calling Constructors
- 'this' Keyword
- Using 'this' to Call a Constructor
- Using 'this' to Set a Field
- Class Members
- Examples Of Class Members
- Comparison With Instance Members
- Use Of Class Variables
- Static Class Methods
- Use Of Class Methods
- Main Method And Command Line Arguments
- Declaring Constants
- Coding Tips - Class Members
- Useful Standard Class Members
- Initialization Blocks
- Static Initialization Blocks
- Summary
Chapter 10 - Advanced Control Structures
- 'switch' Statement
- Example - switch
- Switch "Fall Through"
- 'for' Loop
- Example - for
- 'while' Loop
- Example - while
- 'dowhile' Loop
- Example - do while
- Break Statement
- Example - break
- Labeled Statements
- Example - Labeled break
- Continue Statement
- Example - continue
- Example - Labeled continue
- Coding Tips - Control Structures
- Summary
Chapter 11 - Arrays
- Arrays
- Declaring Arrays
- Populating Arrays
- Accessing Arrays
- Array Length
- Coding Tips - Arrays
- Array References
- Multidimensional Arrays
- Arrays Of Arrays
- Copying Arrays
- For-Each loop
- Variable Arguments
- Variable Arguments Example
- Summary
Chapter 12 - Inheritance
- Inheritance Is
- Inheritance Examples
- Declaring Inheritance
- Inheritance Hierarchy
- Access Modifiers Revisited
- Inherited Members
- Inherited Members
- Instances Of A Subclass
- Instances Of A Subclass
- Example Of Inheritance
- Role In Reuse
- The super Keyword
- Example - super Keyword
- Problems with Constructors
- Problems with Constructors
- Limiting Subclasses
- 'set' Methods in Constructors
- The Object Class
- Summary
Chapter 13 - Commonly Overridden Methods
- Overriding Methods
- toString()
- toString() in Object
- Overriding toString()
- Comparing Objects
- Using == vs. equals(..)
- Using == vs. equals(..)
- Overriding equals(..)
- Complex Comparisons
- equals(..) Example
- hashCode()
- Overriding hashCode()
- hashCode() Example
- @Override Annotation
- Refactoring
- Refactoring
- Changing Class Name
- Changing Method Name
- Changing Variable Name
- Generalizing a Variable
- Moving a Class to a Different Package
- Extracting Code to a Method
- Pull-up and Push-down Methods
Chapter 14 - Exceptions
- What is an Exception
- Benefits
- The Exception Class
- How to Work With Exceptions
- Example Exception Handling
- The try-catch-finally Statement
- Flow of Program Control
- Exception Hierarchy
- Checked Exceptions
- Unchecked Exceptions
- Coding Tips - Exception Types
- Catching Multiple Exceptions
- Specifying Thrown Exceptions
- Rethrowing Exceptions
- Chaining Exceptions
- Creating your Own Exception
- Creating your Own Exception
- Assertions
- Assertion Example
- Using Assertions
- Summary
Chapter 15 - Interfaces and Polymorphism
- Casting Objects
- Casting Objects
- The instanceof Operator
- Abstract Classes
- Abstract Class An Example
- Interface
- Interface An Example
- Comparable Interface
- Comparable Example
- Coding Tips - Superclass or Interface?
- Polymorphism
- Conditions for Polymorphism
- Coding Tips - Leveraging Polymorphism
- Covariant Return Types
- Summary
Chapter 16 - Collections and Generics
- What are Collections?
- Arrays vs. Collections
- Main Collections Interfaces
- java.util.Collection
- Main Collection Methods
- Sets
- java.util.List
- java.util.Queue
- Iteration on a Collection
- Iteration on a Collection
- Iteration on a Collection
- Iteration on a Collection
- Iterator vs. For-Each Loop
- Maps
- java.util.Map
- java.util.SortedMap
- Collections Implementations
- Collections Implementations
- Collections Implementations
- Generics
- Generics and Collections
- Generic Collection Example
- Generic Collection Example
- Collections and Primitive Types
- "Wrapper" Classes
- Autoboxing
- Summary
Chapter 17 - Useful Java Classes
- Java Logging API
- Control Flow of Logging
- Logging Levels
- Logging Handlers
- Loggers
- Logging Example
- Logging Formatters & Log Manager
- Logging Configuration File
- Example Logging Configuration File
- Logging Filters
- java.lang.StringBuilder
- java.util.StringTokenizer
- java.util.Arrays & java.util.Collections
- java.util.Random
- java.util.Date
- GregorianCalendar & Calendar
- Formatting
- Formatting Example
- Summary
Chapter 18 - Input and Output
- Overview of Java Input/Output
- Streams
- Input Stream
- Output Stream
- "Chained" Streams
- The File Class
- File Example
- RandomAccessFile
- Reader and Writer
- Buffers
- Buffers
- Channels
- Serialization
- Serializing Object State
- Avoiding Serialization Problems
- serialVersionUID
- Options to Write Files
- Using Streams - Write Example
- Using Streams - Read Example
- Using Readers and Writers - Write Example
- Using Readers and Writers - Read Example
- Using Readers and Writers - Scanner Read Example
- Using Buffers and Channels - Write Example
- Using Buffers and Channels - Write Example
- Using Buffers and Channels - Read Example
- Using Buffers and Channels - Read Example
- Summary
Chapter 19 - Other Java Concepts
- Annotations
- Enumerated Types
- Garbage Collection
- JVM Storage Areas
- Assertions
- Assertions
- Assertions Example
- When to use Assertions
- Enabling Assertions
Chapter 20 - Java Enterprise Edition (EE) Overview
- Introduction to Java Platform
- Java Community Process (JCP)
- Introduction to Java EE
- Why Move to Java EE
- Why Move to Java EE
- Java EE - New and Enhanced Features
- Java EE - New and Enhanced Features
- Java EE - New and Enhanced Features
- Java EE Software Packaging
- Java EE Technologies
- Java EE Technologies
- Java EE Technologies
- Summary
Chapter 21 - Servlet Basics
- History CGI
- Server Extension APIs
- Java Servlet
- New In Servlet 2.5
- Servlet Container
- Servlet Responsibilities
- J2EE and Servlet
- The Servlet Class
- The HttpServlet Class
- An Example Hello World
- The Servlet Container
- The Servlet API
- Life Cycle Initialization
- Life Cycle Initialization
- Example Initialization
- Life Cycle Processing
- Life Cycle Processing
- Life Cycle Destroy
- User Input
- Example User Input
- Output to Client
- Servlet Error Handling
- Threading Issues
- Threading Issues
Chapter 22 - JavaServer Page (JSP) Basics
- JavaServer Pages
- JavaServer Pages 2.1
- A Simple Example - Hello.jsp
- JSP Benefits
- Evolution of Dynamic Content Technologies
- How JSP Works
- JSP Invocation
- JSP Scripting Elements
- The XML Syntax
- The XML Syntax
- JSP Directive
- page Directive Attributes
- page Directive an Example
- page Attribute errorPage
- page Attribute isErrorPage
- Using XML Syntax
- Directives include
- Include an Example
- Include an Example
- Include at compile time vs. at request time
- Request time inclusion
- JSP Declarations
- Declarations an Example
- JSP Expressions
- JSP Expressions an Example
- JSP Scriptlets
- JSP Scriptlets an Example
- JSP Scriptlets an Example
- JSP Comments
- JSP Predefined Variables
- The request Object
- The request Object
- The response Object
- The out Object
- Out an Example
Chapter 23 - Enterprise JavaBeans (EJBs) Overview
- Need for EJBs
- Distributed Computing
- Distributed Transaction
- Distributed Security
- What are EJBs?
- Main Characteristics of EJBs
- EJB Remote Method Call
- EJB Architecture Components
- EJB Client
- EJB JAR File
- EJB Container
- EJB Container
- EJB Server
- Enterprise JavaBeans
- Session Beans
- Entity Beans
- Java Persistence API - Entities
- Message-Driven Beans (MDBs)
- EJB Specification
- Summary
Chapter 24 - Overview of Java SE APIs
- Java GUI Programming
- Image I/O
- Networking
- Remote Method Invocation
- Security
- Databases - JDBC
- Naming - JNDI
- Management - JMX
- XML
- Printing
- Summary