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