EInnovator - Java Programming Training
EInnovator - Java Programming Training

Java Programming Course

Course Summary

In this course you learn everything needed to become a professional JavaTM developer.

In this course, you will learn everything needed to become a professional JavaTM developer. You start by learning the JavaTM language fundamentals for imperative and object-oriented programming, and the many modules in the JavaTM APIs from the basic to the more advanced. You will also learn the new JavaTM 8 features such as lambda expressions and streams.

Datasheet

Course Objectives

  • Learn how to program fluently in the Java language
  • Learn how to model application domains with Java classes and object-oriented programming
  • Learn how principles and design-patterns for effective object-oriented programming are implemented in Java
  • Learn Java Basic APIs , including: Collections, IO Streams, Regular Expressions, and XML Processing
  • Learn Java more Advanced APIs , including: Concurrent programming, JDBC, Networking with Sockets, RMI, New IO, JMX, and Reflection
  • Learn Java 8 latest features, including: lambda expressions , streams , and internationalization (i18n)

Modes of Delivery

  • Public On-site
  • Corporate On-Site
  • Online access to course content
  • Trainer lead

Format

  • 50% theory + 50% lab work
  • Slides and Course Notes
  • Lab instructions and pre-prepared course projects workspace

Duration

  • 5 days

Course Modules

  • Introducing the Java World
  • Java Environment and Runtime Architecture
  • My First Java Program
  • Compiling and Running Java Programs
  • History of Java
  • Introducing the Java World
  • Java Environment and Runtime Architecture
  • My First Java Program
  • Compiling and Running Java Programs
  • History of Java
  • Java Types
  • Variables
  • Operators and Expressions
  • Method Definition and Invocations
  • Control Structures (Conditionals, Branching, Loops)
  • Exception Handling
  • Defining Classes
  • Class Inheritance
  • Method Inheritance
  • Object Class
  • Interfaces
  • Inner and Anonymous Classes
  • Object-Oriented Design Principles
  • Object-Oriented Design Patterns
    • Creation Patterns
    • Behavior Patterns
    • Structural Patterns
  • Generic Types
  • Inheritance with Generic Types
  • Type Inference
  • Wildcards in Generics
  • Java Collections Framework
  • Collection Interface
  • Sets
  • Lists
  • Queues
  • Maps
  • Collections Operations
  • Stream Types
  • Byte Streams — Reading and Writing
  • Character Streams
  • Data and Object Streams
  • Files and Directories
  • Regular Expressions Syntax
  • Regular Expressions API
  • Useful Regular Expressions
  • Concurrency and Multi-threading
  • Threads API
  • Synchronization (Concurrency Control)
  • Executors
  • Scheduling
  • Concurrent Data-Structures
  • Connection Management
  • Executing Queries
  • Batch Queries
  • Stored Procedures
  • Simplified APIs
  • Connection Management
  • TCP/IP Protocol Stack
  • Server and Client TCP/IP Sockets
  • UDP Sockets
  • Secure Connections
  • URLs
  • Connection Management
  • Remote Method Invocation
  • Java RMI
  • Object Serialization
  • Simplifying RMI
  • Alternatives to RMI
  • Functional Interfaces
  • Lambda Expressions
  • Default Methods
  • Built-in Functional Interfaces
  • Lambda Expressions in Java API
  • Streams API
  • Number Streams
  • Reduction Operations
  • Parallel Streams
  • Custom Streams
  • Locales
  • Resource Bundles
  • Formatting
  • Date-Time Representation
  • XML Technologies
  • JAXP
    • DOM
    • SAX
    • StaX
    • XPATH Expressions
    • XSLT Transforms
  • JAXB
  • The Class (Meta-)Class
  • Introspection of Class Members
  • Introspection of Annotations
  • Proxy Creation
  • ClassLoaders
  • Paths and Path Operations
  • File Operations
  • Random Access Files
  • Working with Directories
  • File Streams and Lambda Expressions
  • JMX Architecture
  • Registering MBeans
  • Simplifying JMX
  • JMX Clients