Skip to content

Latest commit

 

History

History
219 lines (217 loc) · 8.38 KB

README.md

File metadata and controls

219 lines (217 loc) · 8.38 KB

Java novice to Master (industry compliant) course outline

Title Breakdown Time
1 Introduction Why Java
Java Design Goal and History
Role of Java Programming Language in Industry
Feature Of Java Language
JVM – the heart of Java
Byte code- the magic code
Different Edition of Java
2 Language Fundamentals and Java Environment Installing Java
Integrated Development Environment (IDE)- Eclipse/IntelliJ IDEA
Java Source file structure
Compilation & Execution
Hello world Program
Performing basic arithmetic operation and input taking from console
How to run java program in Command Line
3 Basic Java programming Structure and Language Elements Keywords, Literals, Comments
Data Types
Operators & Assignments
Class/Object
Methods
Package
Constructors
Package and importing Package
Variables
Printing Variables
Control Flow , looping and branching
Java Arrays
4 Object Oriented Programming Class fundamentals
Object & Object Reference
Creating objects
Constructor and initializing code blocks
Method overloading
Inheritance -is A , has A relation
Method overriding
Abstract class
Final class
Object composition
Polymorphism
Variable type & object Type
Upcasting & downcasting
Interface
Abstract class vs. interface
Encapsulation
Access Control, Modifiers, methods
Design of accessors and mutators
Cloning objects/shallow & deep cloning
5 Exception handling The idea behind the exception
Exception & Errors
Type of Exception
Use of try, catch, finally, throw and throws in Exception handling
Stack-trace
Checked -vs Unchecked exception
Frequently used in-built exception classes
User defined exceptions
6 Generics Generics in Java
How generics works in Java
Bounded Types
Generics, Inheritance, and Subtypes
Type Inference
Wildcard arguments
Generic Method
Type Erasure
Restrictions on Generics
7 Java I/O Serialization/Externalizable
readObject() / writeObject()
Serial Object Versioning
Streams- input/output streams
Writing/reading file using streams
Java I/O utility classess
Character/Byte based stream
Java New IO Package
Motivation for Using
Working with Buffers
Allocating Buffers
Buffers Advantages
Channels
Memory Mapped Files
Non-Blocking Operations
Selectors
NIO Uses
Character Streams Encoding
The Unicode Standard
Forms of Unicode
32-bit Characters
Big / Little Endian
Other Encodings
Charset Class
Encoders and Decoders
Code Points
8 Reflection API Overview
Introduction
Usefulness of Reflection
Dangers of Reflection
Examining Classes
Reflection Package
Retrieving Class Objects
Working with Class Objects
Accessing fields/methods
Generics
Manipulating/working with Objects
Getting and Setting Fields
Invoking Methods
Casting through Reflection
Final fields
Working with Arrays
Creating new Arrays
Dynamic Proxy Classes
Proxy Definition
Creating new Proxy
InvocationHandler
Proxy Class
Classes
When are Classes Loaded?
How loadClass() works
Implementing own ClassLoader
The defineClass Method
Java Annotation processing
Declaring an Annotation Type
Predefined Annotation Types
How to write custom annoation
9 Thread Understanding Threads
Needs of Multi-Threaded Programming.
Thread Life-Cycle
Thread Priorities
Synchronizing Threads
Inter Communication of Threads
Critical Factor in Thread -DeadLock
High Level Concurrency Objects
Thread Analysis with VisualVM
10 Java Memory model String operations
Java Memory model
Stack based architecture
Bytecode
Runtime Data Areas
Heap
Method Area
Runtime Constacnt pool
Java Virtual Machine Stacks
11 Strings String operations
String immutability
Tokenizing string
String buffer/string builder
12 Collection Framework The Java Collections Framework
Collections Interfaces
java.util.Collection
java.util.List
java.util.Map
java.util.Set
Concrete Collections
java.util.ArrayList
java.util.HashMap
java.util.HashSet
Iterating through Collections
java.util.Iterator
13 Lambda Expression & Stream API What is lambda expression
Structure of lambda expression
Passing code with behavior parametrization
Tackling verbosity
Real world examples
Functional Interface
Type checking, type inference, restriction
Method reference
Useful method to compose lambda expression
What is stream
Stream vs Collections
External vs internal iteration
Filtering and slicing
Mapping
Finding and matching
Reducing
Grouping
Partitioning
Putting it all in practice
Numeric stream
Parallel Stream
14 Dates and Time Zones Computer Time
Time Synchronization
Human Time Interpretation
java.util.Date
java.time.LocalDate
JSR310 vs Joda Time
15 Logging Why log
Logging API
Jakarta Common Logging
Log4j API
Logger/Appender/Layout
Logger Hierarchy
Level of inheritance
Appender Additivity
Configuration
How to analyze logs
16 Java Database connectivity JDBC drivers
Database operations
Query, update and prepared statement
Transaction management
Using RowSet objects
Using ResultSet objects
Using stored procedure
17 Java Servlet/JSP Understanding HTTP protocol
What is Servlet
Servlet Life cycle
Web Server/Web container
HttpServlet
DoGet method/ DoPost Method
Getting Parameters
Session
Filter
What is JSP and why
18 Build Tool About Gradle
Gradle build script
Defining Task
Executing Task
Built-in Task
Build Life-Cycle
Gradle plugins