Professional Java 2 Standard Edition ( Core Java)
Duration: 5 Days
Mandatory Prerequisites: Good Development Experience with at least one other programming language. Failing this, the advanced topics covered here will not be effective.
The duration of the course will vary based on the selection of topics.
Language Fundamentals The main method – starting point of execution A Simple Java Program Comments Datatypes and Variables Assignments and Initializations Operators Strings Control Flow Arrays Static Methods Object Orientation Object Class Class Specification Characteristics of an Object Basic Principles of Object Orientation • Abstraction • Encapsulation • Modularity • Hierarchy • Polymorphism and overloading/overriding Constructors Relationships between Classes Static attributes and Static Methods Packaging in Java
OO Programming in Java You manipulate objects with references Where storage lives Special case: primitive types Arrays in Java Scoping and Garbage Collection Static initialisers and Instance initialisers Up casting and down casting (instance of) Abstract Classes Preventing Inheritance and the final keyword
Protecting Access Object class and the singly rooted Hierarchy The Class called Class (Run-Time Type Identification)
Inner Classes Top level Nested classes and interfaces Non-static Inner classes Local classes Anonymous classes
Error Handling with Exceptions Basic exceptions Exception arguments Catching an exception The try block Exception handlers Creating your own exceptions Catching any exception Rethrowing an exception Standard Java exceptions Exception guidelines
Collections Advanced Array Operations The Array Class Copying Arrays Comparing Arrays Sorting arrays and the Equals Implementation Containers Filling Containers Disadvantages of Object Containers Making a type concoius ArrayList Parameterized types Iterators Container Taxanomies Collection Functionality List Functionality Stack and Queue Implementations Set Functionality Sorted Set Map functionality Sorting and searching Lists
Reflections Detecting Types The need for RTTI Reflection: run time class information Examining classes
Finding Class modifiers Finding Class Constructors Finding Class methods Finding Class fields Creating objects based on RTTI and invoking methods A Simple Factory pattern
Input/Output Byte Streams vs. Character Streams Java Stream Hierarchy Chaining of Streams and adding functionality Standard Input: Reading strings Standard Input: Reading Primitives Writing to the Standard Output File I/O Other java.io Classes Converting data Fetching primitives View buffers Data manipulation with buffers Buffer details Memory-mapped files Performance File locking Locking portions of a mapped file Java ARchives (JARs) Object serialization Finding the class Controlling serialization using Externalizable The transient keyword Versioning Threads The Basic Threads Yielding Sleeping Priority Daemon Threads Joining Sharing Resources Resolving shared resources contentions and synchronization Fixing Semaphores and Mutexs Critical Sections Thread States Becoming blocked Wait & Notify Piping between threads Deadlock Thread Group
Implementing Thread Pools Implementing Object Pools Implementing Queue Data Structures Implementing Asynchronous Call Semantics JDBC Introduction DB Drivers Type 1,2,3 and 4 drivers Driver Manager Connection Transaction concepts, Distributed Transactions and two phase commit Statements Callable and prepared statements Examine a Driver code Resultsets Meta Data