Course outline for Java 8 to Java 11
Pre-requisites for learning Java 8 to Java 11
- The participants must be comfortable with programming constructs in any one language
Lab Setup
- All participants must have a laptop with Internet connectivity
- Windows/Linux with Eclipse Oxygen Java/JEE edition
- JDK 8/JDK 11
Duration
5-6 days
Training Mode
Online training for Java 8 to Java 11
We provide:
- Instructor led live training
- Self-paced learning with access to expert coaches
- 24x7 access to cloud labs with end to end working examples
All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.
Classroom training for Java 8 to Java 11
Classroom sessions are conducted in client locations in:
- Bengaluru
- Chennai
- Hyderabad
- Mumbai
- Delhi/Gurgaon/NCR
Note: Classroom training is for corporate clients only
Detailed Course Outline for Java 8 to Java 11
Introduction
- How is Java different from C/C++?
- Things you can do in Java
- Why Java?
- Terminologies
- Installing Java
- A Sample Run
- A Few Assignments
Java Language Basics
- Language Basics
- Naming Rules
- Primitive Datatypes and Arrays
- Type Conversion
- Type Casting
- Arrays
- Operators
- Expressions, Statements, Blocks, Methods
- Operator Precedence
- Scope
- Method Overloading
- Recursion
- Call by Value/Call by Reference
- Control Flow
- Strings
OOP in Java
- Object Oriented Programming – The Need
- Association, Composition, Aggregation
- Inheritance
- Composite Types – Lists, Sets and Maps
- Interfaces and Implementation
- Design by Contract
- Classes and Objects
- Constructors
- static methods
- public, private, protected class/methods
Advanced Class Features
- Declare and use static variables and methods
- Declare and use final classes, methods, and variables
- Use abstract methods and interfaces
- Use inner classes
- Classes for Primitive Types
- package private, protected
- Iterators
- abstract classes
- Method Overriding
- Generics
Advanced Java
- Advanced features of Eclipse IDE
- Configuration Management
- Logging
- Debugging
- Reuse - DRY principles
- Unit-testing and Test Driven Development
- Evolving the design - Refactoring
- Javadocs
- Packages
- I/O Streams
- Serialization
- Reflection & Annotations
- Creating your own annotation
- Working with Third Party Libraries
Networking in Java
- TCP/IP stack
- Working with URLs
- Sockets
- UDP and Datagrams
- RMI
- Data formats and Serialization
- REST concepts - what is resource state transfer, why it is important etc
Parallel programming
- The need
- Parallel programming paradigm
- Threads
- Synchronization
- Concurrency objects
- Map/Reduce (an introduction)
Exceptions
- Define exceptions
- Describe the use of the keywords try, catch, and finally
- Describe exception categories
- Identify common exceptions
- Write code to handle your own exceptions
RMI
- What is Remote Method Invocation?
- Understanding the RMI Flow
- The use of the RMI Registry
- RMI - An Example
- Various RMI Tools available
- Alternatives to RMI
XML Parsing
- Introduction to DOM concepts
- Document, Node, NodeList, Element, Attr, Text etc Comment
- Understanding the use of the DOM parser
- Using XPath with DOM
- Understanding the use of SAX parser
- Understanding when to use SAX v/s DOM
- Understanding the STAX parser
- Difference between SAX and STAX parsers
JDBC
- Introduction to Database Concepts
- ER modelling
- Handling 1..1, 1..n, m..n relationships
- Primary and Foreign Keys
- Normalization
- Creating a database
- Creating Tables
- CRUD Operations on Tables
- Introduction to JDBC
- Connection
- Statements
- ResultSet
- SQLException
- JDBC Driver Types
- Working with Prepared Statements
- Understanding Datasources
- Preventing SQL Injection Attacks
JUnit and TDD
- Introduction
- Why do we need to test code
- Different types of testing
- Unit testing using JUnit
- A deep dive into JUnit
- JUnit 5 v/s JUnit 4
- Getting started using JUnit
- Using JUnit within Eclipse
- Assertions
- Testing for exceptions
- Test isolation
- Creating and organizing test fixtures with setUp/tearDown and @Before/@After
- Creating Test Suites
- Test-Driven Development
- Best Practices with JUnit and TDD
- An example of TDD