Back logo

Advance Java Course Content (Duration - 6 Months)

Introduction

  • Evolution of Java
  • Object-Oriented Programming Structure
  • Client-side Programming & its requirements
  • Platform Independence & Portability
  • Security
  • Relation between JVM, JRE, and JDK
  • Description of a Simple Java Program
  • Introduction to JAR format
  • Naming Conventions
  • Data types & Type casting

Classes and Objects

  • Defining attributes and methods
  • Implementing data encapsulation
  • Relation between objects and reference variables
  • Constructor and Anonymous block
  • Method Overloading
  • Static Data members, Block, and methods

Memory Structure

  • Stack
  • Heap
  • Class & Method area

Class loading & Execution flow

  • Static vs Dynamic Class loading
  • Implicit vs Explicit Class loading
  • Sequence of operations performed at the time of class loading

Argument Passing Mechanism

  • Passing primitive arguments
  • Passing objects
  • Wrapper Classes & their use

this keyword

  • Referencing instance members
  • Intra-class Constructor chaining
  • Method Chaining

Inheritance & Code reusability

  • Extending classes for code reusability
  • Usage of super keyword
  • Method Overriding
  • Object class and its roles

Inheritance & Runtime polymorphism

  • Static & Dynamic binding
  • Inheritance and Is-A relation
  • Runtime polymorphism and generalization
  • Abstract classes & methods
  • final keyword

Interfaces and role-based inheritance

  • Difference between Feature & Role-based Inheritance
  • Difference between Static & Dynamic class Environment
  • Difference between classes & interfaces
  • Use of interfaces in real scenarios

Implementing Has-A relation

  • Difference between Aggregation & Composition
  • Nested classes and their role
  • Inner classes
  • Anonymous Inner classes

Package & Scopes

  • Need for packages
  • Associating classes with packages
  • Understanding Classpath environment variable
  • import keyword and feature of static import
  • public, protected, private & default scope
  • Private Inheritance and its use
  • Example of private inheritance

Exception Handling

  • Difference between exception and error
  • Exception Handling & Robustness
  • Common Exceptions and Errors
  • Try and catch block
  • Exception handlers & importance of their order
  • throw keyword and its usages
  • Checked and Unchecked Exceptions
  • Role of finally
  • Creating User-defined Exceptions

MultiThreading

  • Multitasking and Multithreading
  • Thread-based execution model
  • Relation between Runnable interface and Thread class
  • States of Thread
  • Implementing User threads
  • Thread synchronization & mutual exclusivity
  • Inter-thread communication and Thread scheduling
  • Understanding and using Monitor
  • Interrupting Threads
  • Thread group and its use
  • Daemon Threads and their use

Input Output Streams

  • Streams & their advantages over conventional input-output
  • Commonly used byte-oriented streams
  • Commonly used character-oriented streams
  • Reading & writing data from different streams
  • Redirecting Standard input & output streams
  • Serialization
  • Use of transient keyword
  • Role of serialVersionUID
  • File class and File System interaction
  • Scanner class

Networking

  • InetAddress class and Factory Design Pattern
  • Understanding socket and port
  • TCP/IP based networking using Socket & Server Socket
  • UDP-based networking using DatagramSocket and DatagramPacket
  • HTTP-based networking using URL and URLConnection

Reflection

  • Understanding object representation of classes
  • Loading classes dynamically
  • Instantiating classes indirectly
  • Obtaining information about classes dynamically
  • Invoking methods indirectly
  • Referencing data members indirectly
  • Overriding access policy and referencing private members

Collection Framework

  • Role and Importance
  • Use of List & Set-based collections
  • Use of Iterator & ListIterator
  • Use of Maps
  • Searching elements in List, Hash, and Tree-based collections
  • Role of equals and hashCode() methods
  • Role of Comparable and Comparator Interfaces
  • Thread safety and Vector
  • Difference between Enumeration and Iterator
  • Type safety and Generics
  • Common algorithms and Collections class
  • Using Properties class for managing properties files

Database Connectivity

Overview of Native and ODBC Drivers

  • Introduction to JDBC
  • Types of JDBC drivers
  • Using different types of drivers
  • Defining properties-based Connection Factory

Performing basic database operations

  • Insert
  • Delete
  • Update
  • Select

PreparedStatement

  • Differences Between Statement & PreparedStatement
  • Setting Query Parameters
  • Executing Queries

Callable Statement

  • Creating PL/SQL Stored procedures and functions
  • Creating Callable statements
  • Executing procedures & functions

Misc

  • Batch Update
  • Transacting Queries
  • Programmatic Initialization of Database
  • ResultSet Metadata
  • Database Metadata

Commenting in SQL

  • Single-line comments
  • Multi-line comments
  • Inline comments within queries
  • Best practices for commenting code

Advance Java

Servlet API 3.X (Part 1)

  • Introduction to JEE
  • Overview of Dynamic Web Applications
  • Introduction to Servlet
  • Servlet Lifecycle
  • Annotations and Their Use in Servlet Development
  • DW Web Server & Application Server
  • Installing and Configuring Web & Application Servers
  • Web Application Formats
  • Deployment Modes Supported by Servers
  • Creating and Deploying a Simple Web Application

Servlet API 3.X (Part 2)

  • Understanding the role of ServletRequest & ServletResponse
  • Request/Response parameters and attributes
  • Using different content types in the response
  • Using RequestDispatcher for Include & Forward
  • Initialization Parameters and their use
  • ServletConfig & ServletContext
  • Inter-application collaboration
  • State Management and use of HttpSession & Cookies
  • Hidden Form fields and URL Rewriting
  • Using HttpOnly Cookies
  • Listeners and web application events
  • Applying Filters to servlets

Java Server Pages (JSP)

  • Advantages of JSP over Servlets
  • JSP Architecture
  • Integration of JSP & Servlet API
  • JSP Implicit Objects
  • Use of JSP Tags, Actions, and Directives
  • Error Handling in JSP
  • Using JavaBeans in JSP
  • Defining Custom Tags
  • JSTL & Expression Language

Struts 2.X

  • Introduction to MVC architecture
  • Struts2 architecture
  • Struts2 Components
  • Struts Tag Library
  • Understanding ActionContext and ActionInvocation
  • Implementing Custom interceptors
  • Implementing Custom Results
  • Use of Common predefined interceptors
  • Custom & Predefined validations
  • Internationalization
  • Generating composite views using tiles
  • Using velocity for generating views