Core Java Online Training

Core Java Online Training Course Overview

Duration : 40 Hrs

Introduction to computer languages?

Need of computer languages?

Java V/S other languages

Platform dependency?

Introduction to Java?

History of Java

JDK includes

Versions and Certifications

Platform Independency?

Structure of Java-application?

Contexts of Java application

Introduction to Variable, Blocks and Methods?

  • Introduction to variables and identifiers
  • Type of variables
  • Memory construction and destruction of variables
  • Rules to create variables
  • Naming conventions of variables
  • Blocks introduction
  • Methods introduction.

 Datatypes

  • Primitive types
  • Introduction
  • Memory occupancy
  • Ranges
  • Errors(compile time and runtime)
  • Primitive type casting(implicit and explicit)
  • Reference types

First java application?

  • Class keyword and its naming convention
  • Class naming convention
  • Why main has public access
  • Why main has static modifier
  • Why return type is void
  • out.println() description
  • Naming convention of methods and packages.
  • Overloading main method

Operators

  • Assignment operator
  • Arithmetic operators
  • Conditional operator
  • Increment/Decrement operators
  • Relational operators
  • Logical operators
  • Bitwise operators
  • Shift operators
  • Compound assignment operators

Control Statements

  • Conditional control statements
    • If
    • If-else
    • If-else-if
    • Nested if
    • switch
  • Loop control statements
    • While
    • Do-while
    • For loop
    • Nested loops
  • Branching statements
    • break;
    • continue
    • return
    • exit

Methods

  • Need of functions.
  • Types of functions
  • Pre-defined
  • User-defined
  • Classification of functions
  • No args-no return values function
  • With args-no return values function
  • With args-with return values function
  • No args with return values function
  • Recursive function.

Class members in java

  • Static members(class level)
    1. Static block
    2. Static variables
  • Static methods
  1. Main method
  2. Memory allocation using JVM architecture
  3. Accessing Static members in multiple classes
  • Class loader usage
  • Non-static members(object level)
    1. Non-static block
    2. Non-static variables
  • Non-static methods
  1. Constructor
  2. Introduction to “this” keyword.
  3. Memory allocation using JVM architecture
  • Accessing Non-static members from multiple classes

Wrapper classes

  • Introduction
  • Why wrapping
  • Boxing and Unboxing
  • Auto Boxing and Auto Unboxing
  • Primitive to String conversion (using valueOf()and toString() methods)
  • String to Primitive conversion (using valueOf() and xxxValue() methods)

Packages

  • Introduction
  • How to create user defined package
  • Calling members of same package
  • Calling members of another package
  • Need of import statement
  • Need of fully qualified name
  • Difference between import and include
  • Creating Sub packages
  • Importing sub packages
  • Access specifiers introduction
  • public
  • private
  • protected
  • <package> or <default>
  • Usage of access specifiers in packages

Command line arguments

  • Introduction
  • Advantage and disadvantages
  • parseXxx methods
  • Scanner class
  • Random class

OOPS

  • Introduction to OOPS
  • Introduction to class, object
  • Encapsulation, Abstraction
  • Inheritance
    1. ‘this’ keyword
  • Initialization of object using “this”
  • Accessing variable using “this”
  • Invoking constructor using “this()”
  • Constructor chaining
  • “this” as parameter to a function
  • Returning “this” to a function
  • Calling instance members from non-static context
    1. ‘super’ keyword
  • Initialization of super class object
  • Constructor chaining in hierarchy
  • Instantiation of abstract class
  • Accessing super class variable using “super”
  • Invoking super class constructor using “super()”
    • Types of inheritance
  • Single(simple) inheritance
  • Multi level inheritance
  • Hierarchal inheritance
  • Applying Modifiers and Access specifiers in inheritance
    1. Object casting
      • Implicit & Explicit up casting
      • Implicit & Explicit down casting
      • Data hiding (static and non-static)
      • Introduction to dynamic polymorphism
  • final keyword
    • if class is final
    • if method is final
    • if variable is final
    • if abstract class is final
    • if interface is final
  • Polymorphism
    • Static polymorphism(method over loading)
    • Runtime polymorphism(method overriding)
  • Abstract classes
  • Introduction to Abstraction
  • Use of Abstraction
  • Instantiation of abstract class
  • Illegal combination of modifiers
  • Initialization of abstract class object
  • Super-Sub construction chaining
  • Runtime polymorphism in abstraction
    • Interfaces
  • Introduction to interfaces
  • Use of interfaces
  • Extending interfaces
  • Implementing interfaces
  • Multiple inheritance in java
    • Aggregation
    • Association
    • Composition
    • Singleton class
    • Factory class.

Exception handling

  • Introduction
  • Why exceptions
  • Exceptions API
  • Checked exceptions
  • Un checked exceptions
  • Try, catch, throw, throws, finally
  • Nested try blocks
  • Multiple catch blocks
  • Cautions while handling exceptions
  • Handling checked and unchecked exceptions
  • Throwing pre-defined exception class object explicitly
  • User defined exceptions
  • Throwing user-defined exception objects.
  • Finally block usage.

Multi threading

  • Introduction to multi tasking and multi threading
  • Drawbacks in multi tasking
  • Creation of Thread
  • Life cycle of Thread
  • Threads Using Thread class
  • Threads Using Runnable interfaces
  • Constructors of Thread class.
  • Time management in multi tasking and multi threading
  • Priorities of threads.
  • Naming to threads via constructors or via setters.
  • Synchronization
  • sleep(),join(), wait(), notify(), notifyAll(),

Garbage collection

  • Introduction GC
  • Introduction to daemon threads
  • Drawbacks of
  • finalize()
  • gc()
  • gc()
  • exec();
  • JVM memory increment
  • Process class.

Io streams

  • Byte streams
  • Character streams
  • Object streams (Serialization)
  • Buffered streams
  • Working with files
    • Creating a file
    • Creating a directory
    • Creating path
    • Deleting file or directory
    • Hiding file
    • Setting read, write and execute permissions to files

Reflection API

Inner classes

  • Static inner classes
  • Non-static inner classes
  • Local inner classes
  • Anonymous inner classes

Strings

  • Introduction to Strings
  • Creating objects to String
  • String library functions
  • Mutable objects
  • Immutable objects
  • String/StringBuffer/StringReader
  • Creating Immutable class

Collections

  • Introduction to collections
  • Introduction to generics
  • Difference between arrays and Collections
  • Collection interfaces
  • List Interface
  • ArrayList
  • Vector
  • LinkedList
  • Set Interface
  • HashSet
  • Introduction to Hashtable
  • Load factor influence
  • LinkedHashSet
  • TreeSet
  • Map Interface
  • HashMap
  • LinkedHashMap
  • TreeMap
  • Queue Interface
  • LinkedList
  • PriorityQueue
  • Time management over collection classes
  • Memory management over collection classes
  • Deleting duplicate objects from collections
  • equals() method
  • Iterator class
  • Enumeration class
  • for-each loop
  • influence of generics in collections

JDK 8 features

  • Functional interfaces
  • Lambda expressions
  • Default methods in interface
  • Static methods in interface
  • ForEach() method in Iterable interface
  • Stream API
  • Method references
  • Collectors class
  • Optional class

AWT, Applets and Swings

  • Introduction to AWT
  • AWT library classes and interfaces
  • Introduction to Applets
  • Creating Applets
  • Applet Life cycle
  • Drawing shapes and colors in Applets
  • Creating components
  • LayoutManagement
  • Flow layout
  • Grid layout
  • Box layout
  • Border layout
  • Event Listeners
  • ActionListeners
  • TextListeners
  • MouseListeners
  • MouseMotionListeners
  • FocusListeners
  • Calculator program
  • Introduction to swings
  • Swings API
  • Light weight components(independent)
  • Heavy weight components(native or dependant)
  • Components creation
  • Menu creation
  • Sub menu creation
  • Setting Listeners to components