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