Course Description
<p>Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.</p>
Curriculum
- Introduction to Java
- Internals of Java Program
- Difference between JDK,JRE and JVM
- Internal Details of JVM
- Unicode System
- Naming Convention
- Primitive data types(Predefine)➢ byte
- short
- int
- long
- float
- double
- boolean
- char
- Non-Primitive data types(User Define)
- class
- Arrays
- Variable declaration: Object Reference variables
- Life time of variables
- Initial values of variables
- Default values of variables
- Initializing local variables of primitive data types
- Initializing local reference variables
- One dimensional array: Declaring array variables
- Constructing an array
- Initializing an array
- Using an array
- Anonymous array
- Multidimensional array
- Sequence
- Branch/Conditional
- Repetitive/Iterative/Looping
- Jump
- Arithmetic Operators
- Java-instance of-operator
- Bitwise Operators
- Relational Operators
- Boolean Logical Operators
- Assignment Operators
- The Conditional(Ternary) Operator
- Literals
- White Spaces
- Identifiers
- Keywords
- Separators
- Comments
- Classes
- Declaring Members: Fields and Methods
- Objects
- Class Instantiation
- Object References
- Printing Objects
- Types of methods
- Create and use a Method
- Methods returning primitive value
- Methods returning objects
- Methods that take parameters
- Overloading Methods
- Default Constructors
- Parameterized Constructors
- Overloading Constructors
- The finalize() method
- Inheritance
- Types Of Inheritance:
- Introduction
- Classes Inheritance
- Interface Inheritance
- Multilevel Inheritance
- Accessing members of other class/interface
- Chaining Constructor using this() and Super()
- This() constructor call
- Super()constructor call
- Dynamic method Dispatch
- Method Overriding
- Java Access Specifies
- Public
- Protected
- Private
- Default
- Static
- Final
- Abstract
- Synchronized
- Native
- Transient
- Volatile
- Other modifiers for classes:
- Abstract classes
- Final classes
- Introduction to Packages
- Defining packages
- Using Packages
- Importing, Compiling and Running code from packages
- Working with interfaces
- Defining interfaces
- Method prototype declaration
- Implementing interfaces
- Extending interfaces
- Constants in interfaces
- Types Of Fundamental Classes
- The Object class
- The Wrapper Classes
- The Math Class
- The String Class
- The String Buffer Class
- The String Builder Class
- String Handling
- Creating Format String
- String Length Method
- String : What and Why?
- Immutable String
- String Comparison
- String Concatenation
- Substring
- Methods of String class
- String Buffer class
- String Builder class
- Creating Immutable class
- toString method
- StringTokenizer class
- Exception Handling
- Exception Handling: What and Why?
- try block and catch block
- Multiple catch block
- Nested try
- finally block
- throw keyword
- Exception Propagation
- throws keyword
- Exception Handling with Method Overriding
- Custom Exception
- StringTokenizer class
- Nested Class : What and Why?
- Member Inner class
- Annonymous Inner class
- Shadowing in Java
- Local Inner class
- static nested class
- Nested Interface
- Multithreading
- Multithreading : What and Why?
- Life Cycle of a Thread
- Creating Thread
- Thread Schedular
- Sleeping a thread
- Joining a thread
- Thread Priority
- Daemon Thread
- Thread Pooling
- Thread Group
- Shut down Hook
- Performing multiple task by multiple thread
- Garbage Collection
- Runnable class
- Core interfaces
- Implementations
- Basic Operations
- Bulk Operations
- Array operations
- Iterators
- Hashset and linked hashset
- ArrayList, Linked list and vector
- Basic Operations
- Bulk Operations
- Collections views
- Hashmap, Linked hashmap and Hashtable
- The Comparator interface
- The Comparable Interface
- The SortedSet interface
- The SortedMap interface
- TreeSet and MapSet
- hasCode() and equals() Methods
- Properties:
- Load() Method
- Store() Method
- Synchronization : What and Why?
- synchronized method
- synchronized block
- static synchronization
- Deadlock
- Inter-thread Communication
- Interrupting Thread
- Input and output
- FileOutputStream and FileInputStream
- ByteArrayOutputStream
- SequenceInputStream
- BufferedOutputStream and BufferedInputStream
- FileWriter and FileReader
- CharArrayWriter
- Input from keyboard by InputStreamReader
- Input from keyboard by Console
- Input from keyboard by Scanner
- PrintStream class
- PrintWriter class
- Compressing and Uncompressing File
- Reading and Writing data simultaneously
- DataInputStream and DataOutputStream
- StreamTokenizer class
- Serialization and Deserialization
- Serialization with IS-A and Has-A
- transient keyword
- Socket Programming
- URL class
- Displaying data of a web page
- InetAddress class
- DatagramSocket and DatagramPacket
- Two way communication
- AWT Controls
- Event Handling by 3 ways
- Event classes and Listener Interfaces
- Adapter classes
- Creating Games and Applications
- Basics of Swing
- JButton class
- JRadioButton class
- JTextArea class
- JComboBox class
- JTable class
- JColorChooser class
- JProgressBar class
- JSlider class
- Digital Watch
- Graphics in swing
- Displaying Image
- Edit Menu for Notepad
- Open Dialog Box
- Creating Notepad
- Creating Games and applications
- Assertion
- For-each loop
- Varargs
- Static Import
- Autoboxing and Unboxing
- Enum Type
- Annotation
- Internationalization
- ResourceBundle class
- I18N with Date
- I18N with Time
- I18N with Number
- I18N with Currency
- Servlet: What and Why?
- Basics of Web
- Servlet API
- Servlet Interface
- GenericServlet
- HttpServlet
- Servlet Life Cycle
- Working with Apache Tomcat Server
- Steps to create a servlet in Tomcat
- How servlet works?
- servlet in Myeclipse
- servlet in Eclipse
- servlet in Netbeans
- Servlet Request methods
- Registration example with DB
- Request Dispatcher
- send Redirect
- Servlet Config methods
- Servlet Config example
- Servlet Context methods
- Servlet Context example
- How to set, get and remove example?
- Cookies
- Hidden Form Field
- URL Rewriting
- Http Session
- Filter
- Authentication Filter
- Filter Config
- Useful examples
- Life cycle of JSP
- JSP API
- JSP in Eclipse and other IDE’s
- scriptlet tag
- expression tag
- declaration tag
- out
- request
- response
- config
- application
- session
- page Context
- page
- exception
- page directive
- include directive
- taglib directive
- jsp:forward
- jsp:include
- Bean class
- jsp:use Bean
- jsp:set Property & jsp:get Property
- Displaying applet in JSP
- Custom Tag: What and Why?
- Custom Tag API?
- Custom Tag Example
- Attributes
- Iteration
- Custom URI
- Sending Email
- Sending email through Gmail server
- Receiving Email
- Sending HTML content
- Singleton
- DAO
- DTO
- MVC
- Front Controller
- Factory Method etc.
- JUnit: What and Why?
- Types of Testing
- Annotations used in JUnit
- Assert class
- Test Cases
- Maven: What and Why?
- Ant Vs Maven
- How to install Maven?
- Maven Repository
- Understanding pom.xml
- Maven Example
- Maven Web App Example
- Maven using Eclipse
- Struts : What and Why?
- Model 1 vs Model 2
- Struts 2 Features
- Steps to create Struts 2 application
- Understanding Action class
- Understanding struts.xml file
- Struts 2 in Eclipse IDE
- Struts 2 in Myeclipse IDE
- Interceptors
- Value Stack
- Action Context
- Action Invocation
- OGNL
- Action Interface
- Action Support class
- multi configuration
- multi namespace
- Custom Interceptor : Life Cycle of Interceptor
- params interceptor
- exec And Wait interceptor
- prepare interceptor
- model Driven interceptor
- exception interceptor
- file Upload interceptor
- Custom Validation : workflow interceptor
- Input Validation : validation interceptor
- Ajax Validation : json Validation interceptor
- By convention
- By annotation
- Eclipse IDE
- Netbeans IDE
- Myeclipse IDE
- Apache Tomcat
- Glassfish Server
- JBoss Server
- Weblogic Server
- The Need for JavaEE.
- Overview on the JavaEE Architecture
- 1 tier
- 2 tier
- 3 tier
- N tier
- JavaEE Key Standards
- The EJB Model
- Key Services of the Application Server
- Stateless Session Beans
- Stateful Session Beans
- Packaging
- Writing Clients
- No More JNDI
- Injection of EJB Context
- JMS Overview
- JMS Messaging Domains
- Example of JMS using Queue
- Example of JMS using Topic
- Object Relational Mapping
- Mapping configurations
- Embedded Objects
- EJBQL
- Introduction to HTML
- HTML Tags
- Creating Forms
- Creating tables
- Managing home page
- Introduction to CSS
- Three ways to use CSS
- CSS Properties
- Designing website
- Working with Templates
- Introduction to Javascript
- Three ways to use Javascript
- Working with events
- Client-side Validation
- Introduction to JQuery
- Validation using JQuery
- JQuery Forms
- JQuery Examples
- Introduction to AJAX
- Servlet and JSP with AJAX
- Interacting with database
- Boot Security Design
- Authentication and Authorizations
- Roles and AntMatcher ULR Patterns
- In Memory Authentication
- Default Form Logins
- Custom Form Creation
- JPA/Hibernate(ORM) Authentication
- Java MAIL API structure
- Mail Properties
- Boot Mail Design
- Simple Email
- Mime Email with Attachments
- What is API Endpoints
- Swagger Introduction
- Design of SwaggerUI
- Coding for RestController
- Testing Swagger Operations
- Introduction of spring cloud
- deployment of spring boot project in AWS
- Google Recaptcha Integration
- Facebook Login Integration
- Introduction
- Spring VS JavaEE
- Advantage of using Spring Framework
- Aspect Oriented Programming
- Spring Modules
- Spring AOP
- Dependency Injection/IOC Container
- Application Context
- Constructor/Setter Injection
- Spring DI Project
- Bean Autowiring
- Singleton Bean Design Pattern
- Spring Web MVC and its Configuration
- Annotations(Required, Autowired, Service, Component, Repository,
- Spring WEB MVC/Transaction Management(@Transaction)
- Controller, RequestMapping, PathVariable, ModelAttribute
- Component Scan, View Resolver Resource
- Redirect, Multipart file upload/ download
- Spring Form tag library
- Spring Persistence
- Spring JDBCTemplate
- Spring Web Service
- Hibernate Integration with Spring
- Basic Annotations in Boot
- Execution Flow
- Boot Starter class
- Application Properties
- Server Port Change
- Managing of Dependencies
- Common Problem in coding
- @SpringBootApplication
- What are DevTools
- Dependency for DevTools
- Working with DevTools
- Quick introduction to ORM with JPA
- Benefits of using Spring with JPA
- JPA configuration in Spring
- Configuring Spring JPA using Spring Boot
- Spring Data JPA dynamic repositories
- JPA Repository,JPA DB Operations (CURD)
- findAll and findBy methods
- @Query Annotation for HQL
- @Data
- @Getter
- @Setter
- @ToString
- @NoArgsConstructor
- @AllArgsConstructor
- @NonNull
- What is REST?
- Restful Controllers
- JPA Repositories with Hibernate Provider
- Spring Data Rest, Exposing Endpoints
- Need of JSON
- JSON and It's Auto Conversion
- Testing Using POSTMAN
- Types of HTTP Methods
- PUT
- GET
- DELETE
- POST
- ResponseEntity Format
- @RequestBody and @ResponseBody Format
- Restful Clients using RestTemplate
