Java Course Content

1. Introduction to Java and OOPS

  • Java Development Kit
  • Java Platform Independency
  • Data Type Introduction
  • Type Casting
  • Implicit Type Casting
  • Explicit Type Casting
  • Identifiers
  • Object Oriented Programming Introduction
  • Encapsulation
  • Inheritance
  • Abstraction
  • Polymorphism

2. Static Members and their execution control flow

  • Static and Non Static Contexts
  • Static Blocks
  • Static Methods
  • Static Variables

3. Non-Static Members and their execution control flow

  • Non Static Members
  • Create Non Static Variables Blocks and Constructor
  • Static vs Non Static Blocks
  • Default Constructor
  • Create a object reference
  • The this Keyword

4. Wrapper Classes with Auto boxing & unboxing

  • Wrapper Classes Introduction
  • Primitives and Objects
  • Primitives and String
  • String and Objects
  • Wrapper Type Constructors
  • Wrap up the wrapper types
  • Command Line Arguments

5. Operators and Assignments

  • Increment and Decrement Operators
  • Arithmetic Operators
  • String Concatenation Operator
  • Relational Operators
  • bitwise operators
  • short circuit operators
  • assignment operator
  • Ternary Operator

6. Flow Control Statements

  • IF-ELSE
  • Switch
  • Switch Fall Through
  • While
  • Do-While
  • For Loop
  • Break
  • Continue

7.Access Modifiers

  • Introduction
  • Private
  • Public
  • Default
  • Protected

8. Packages

  • Packages Introduction
  • Importing Packages

9. Inheritance

  • Single Inheritance
  • Multi Level Inheritance
  • super Keyword
  • super Method
  • Constructor Chaining

10. Abstraction

  • Introduction
  • Create an abstract class
  • Extending an abstract class
  • Create an interface
  • Interfaces vs Abstract Classes
  • Final Classes and Variables
  • Final Methods
  • Marker Interfaces

11. Polymorphism

  • Introduction
  • Compile Time Polymorphism
  • Introduction
  • Runtime Polymorphism
  • Using Interfaces
  • Object Casting
  • Auto Promotions and Object Types
  • Overriding and Static Method
  • Variables and Overriding
  • Overloading and Overriding Main Method

12. Encapsulation

  • Introduction
  • Encapsulated Class

13. Exception Handling and Assertions

  • Exception Handling Introduction
  • Exception while dividing numbers
  • Exception while parsing a String
  • ArrayIndexOutOfBoundException
  • NullPointerException
  • Exception Class Hierarchy and Handling
  • Handling Exceptions
  • Multiple Catch Blocks
  • Handling Checked Exceptions
  • Using a finally block
  • Using a throws keyword
  • Using a throw keyword
  • Creating Custom Exceptions
  • Assertions

14. Multithreading

  • Single Threaded Example
  • Multi Threading in Action
  • Sleep Method
  • Join Method
  • Calculating Time
  • Thread Identity
  • Thread Priority
  • Implementing Runnable Interface
  • Yield Method
  • Interrupt Method
  • Synchronization
  • Class Level Lock
  • Synchronized Block
  • InterThread Communication
  • Executor Framework Quick Start
  • Disadvantages of traditional thread creation

15. Executor Framework Introduction

  • Create a pool of threads
  • Callable and Future

16. Garbage Collection & Types Of Objects

  • Introduction
  • Basic GC
  • Requesting for Garbage Collection

17. Inner classes

  • Static Inner Classes With Static Members
  • Static Inner Classes With Non Static Members
  • Non Static Inner Classes
  • Accessing Outer Class Members
  • Local Inner Classes
  • Anonymous Inner Classes

18. String Handling

  • Strings Introduction
  • Different ways to create a String
  • Strings and Wrapper Types
  • String Pooling
  • Immutable Values
  • String Comparision
  • Object Comparision
  • String Methods
  • StringBuffer and StringBuilder

19. IO Streams (File IO)

  • IO Streams Introduction
  • Read a File Using FileInputStream
  • Copy A File using FileOutputStream
  • Using Reader And Writer
  • StringTokenizer
  • BufferedReader and StringTokenizer
  • Try with Resource Block
  • Serialization
  • Deserialization
  • hasNext method

20. Arrays

  • Using Arrays
  • For-Each Loop
  • Two Dimensional Array

21. Object class methods

  • Introduction
  • toString method
  • hashCode method
  • equals method

22. Collections with Generic

  • Collections Introduction
  • List Introduction
  • ArrayList
  • LinkedList
  • Set Introduction
  • Using HashSet
  • Using LinkedHashSet
  • TreeSet of Strings
  • TreeSet of StringBuffers
  • Iterator
  • ListIterator
  • Comparable and Comparator
  • Create a StringBuffer Comparator
  • Sort Strings by Length
  • Map Introduction
  • HashMap
  • LinkedHashMap
  • IdentityHashMap
  • Queue Introduction
  • PriorityQueue Introduction
  • Collections Sort
  • Using Custom Comparator
  • Generics
  • Generic class structure
  • Create your own Generic Class
  • Restricting Generic Type Parameters
  • Using multiple restrictions
  • Using Generic Method Parameters and Wild Cards

23. Concurrent Collections

  • Introduction
  • Use CopyOnWriteArrayList
  • Use Multiple Threads
  • Use CopyOnWriteArraySet
  • Use ConcurrentHashMap
  • BlockingQueue Introduction
  • Producer Consumer Pattern

24. Enums

  • Enum Introduction
  • Using a Enum

25. Lambda Expressions

  • Introduction
  • Functional Interfaces
  • Create a functional Interface
  • Create your first Lambda
  • Lambdas using Runnable Interface

26. Predicates

  • String Predicate
  • Passing Predicate to a method
  • Predicate Joins

27. Functions

28. Method Referencing

  • using :: Operator
  • Referencing an instance method
  • Referencing a Constructor

29. Streams

  • Introduction
  • Filter Even Numbers Using Streams
  • Convert Strings to Lower Case using streams
  • Other Methods on the Stream

30. Internationalization

  • Introduction
  • Locale
  • NumberFormat
  • DateFormat
  • SimpleDateFormat Class
  • String to Date

31. Annotations

  • Introduction
  • Using @Deprecated
  • Using @Override
  • Using @SuppressWarnings
  • Create User Defined Annotation
  • Use your annotation

32. Reflection API

  • Introduction
  • Load the Class
  • List the constructors fields and methods
  • Create an Object
  • Invoke the Parameterized Constructor
  • Invoke the Getter
  • Invoke the Setter