+44 20 7 193 893 7 info@zero2hero.training
+44 20 7 193 893 7 info@zero2hero.training
Zero To Hero IT Training
  • Home
  • About Us
  • Meet The Team
  • Courses
  • Contact Us
  • Home
  • -
  • Courses
  • -
  • Java 12 Programming
  • - Introduction
    4
    • Java SE Platform Versions
    • Java in Server Environments
    • The Java Community and JCP
    • OpenJDK
  • Java Syntax and Class Review
    25
    • Java Language Review
    • Java Class Structure
    • Java Naming Conventions
    • How to Compile and Run
    • Code Blocks
    • Primitive Data Types
    • Numeric Literals
    • Operators
    • Logical Operators
    • If else Statement
    • Switch Statement
    • Basic loops
    • Arrays and for-each Loop
    • Strings
    • Strings Operations:StringBuilder
    • A Simple Java Class: Employee
    • Methods
    • Creating an Instance of a Class
    • Constructors
    • package Statement
    • import Statements
    • Java Is Pass-By-Value
    • Pass-By-Value for Object References
    • Objects Passed as Parameters
    • Garbage Collection
  • Encapsulation and Subclassing
    16
    • Encapsulation
    • Encapsulation: Public and Private Access Modifiers
    • Encapsulation: Private Data, Public Methods
    • Employee Class Refined
    • Make Classes as Immutable as Possible
    • Method Naming: Best Practices
    • Encapsulation: Benefits
    • Creating Subclasses
    • Subclassing
    • Manager Subclass
    • Constructors in Subclasses
    • Using super
    • Constructing a Manager Object
    • Overloading Methods
    • Overloaded Constructors
    • Single Inheritance
  • Overriding Methods, Polymorphism, and Static Overr
    28
    • Using Access Control
    • Access Control: Good Practice
    • Overriding Methods
    • Invoking an Overridden Method
    • Virtual Method Invocation
    • Accessibility of Overriding Methods
    • Applying Polymorphism
    • Overriding Object methods
    • Object toString Method
    • Object equals Method
    • Overriding equals in Employee
    • Overriding Object hashCode
    • Methods Using Variable Arguments
    • Casting Object References
    • Upward Casting Rules
    • Downward Casting Rules
    • static Keyword
    • Static Methods
    • Using Static Variables and Methods: Example
    • Implementing Static Methods
    • Static Variables
    • Defining Static Variables
    • Using Static Variables
    • Static Initializers
    • Static Imports
    • Design Patterns
    • Singleton Pattern
    • Immutable Classes
  • Abstract and Nested Classes
    15
    • Modelling Business Problems with Classes
    • Enabling Generalization
    • Enabling Generalization
    • Identifying the Need for Abstract Classes
    • Defining Abstract Classes
    • Defining Abstract Methods
    • Validating Abstract Classes
    • Final Methods
    • Final Classes
    • Final Variables
    • Declaring Final Variables
    • Nested Classes
    • Enumerations
    • Enum Usage
    • Complex Enums
  • Interfaces and Lambda Expressions
    25
    • Java Interfaces
    • Adding an Interface
    • Interface References
    • Interface Reference Usefulness
    • Interface Code Flexibility
    • default Methods in Interfaces
    • default Method: Example
    • static Methods in Interfaces
    • Constant Fields
    • Extending Interfaces
    • Implementing and Extending
    • Anonymous Inner Classes
    • Anonymous Inner Class: Example
    • String Analysis Regular Class
    • String Analysis Regular Test Class
    • String Analysis Interface: Example
    • String Analyzer Interface Test Class
    • Encapsulate the for Loop
    • String Analysis Test Class with Helper Method
    • String Analysis Anonymous Inner Class
    • String Analysis Lambda Expression
    • Lambda Expression Defined
    • What Is a Lambda Expression?
    • Lambda Expression Shorthand
    • Lambda Expressions as Variables
  • Generics and Collections
    22
    • Topics
    • Generics
    • Simple Cache Class Without Generics
    • Generic Cache Class
    • Generics in Action
    • Generics with Type Inference Diamond Collections
    • Collection Types
    • Collection Interfaces and Implementation
    • List Interface
    • ArrayList
    • Autoboxing and Unboxing
    • ArrayList Without Generics
    • Generic ArrayList
    • Generic ArrayList: Iteration and Boxing
    • Set Interface
    • TreeSet: Implementation of Set
    • Map Interface
    • Map Types
    • TreeMap: Implementation of Map
    • Deque Interface
    • Ordering Collections
    • Comparator Interface
  • Collections, Streams, and Filters
    11
    • Collections, Streams, and Filters
    • The Person Class
    • Person Properties
    • Builder Pattern
    • Collection Iteration and Lambdas
    • Stream and Filter Again
    • Java Streams
    • The Filter Method
    • Method References
    • Method Chaining
    • Pipeline Defined
  • Lambda Built-in Functional Interfaces
    8
    • Built-in Functional Interfaces
    • The java.util.function Package
    • Primitive Interface
    • Return a Primitive Type
    • Process a Primitive Type
    • Binary Types
    • Unary Operator
    • Wildcard Generics Review
  • Lambda Operations
    16
    • Streams API
    • Types of Operations
    • Extracting Data with Map
    • Taking a Peek
    • Search Methods: Overview
    • Search Methods
    • Optional Class
    • Lazy Operations
    • Stream Data Methods
    • Performing Calculations
    • Sorting
    • Comparator Updates
    • Saving Data from a Stream
    • Collectors Class
    • Quick Streams with Stream.of
    • Flatten Data with flatMap
  • Exceptions and Assertions
    19
    • Error Handling
    • Exception Handling in Java
    • try-catch Statement
    • Exception Objects
    • Exception Categories
    • Handling Exceptions
    • finally Clause
    • try-with-resources Statement
    • Catching Multiple Exceptions
    • Declaring Exceptions
    • Handling Declared Exceptions
    • Throwing Exceptions
    • Custom Exceptions
    • Assertions
    • Assertion Syntax
    • Internal Invariants
    • Control Flow Invariants
    • Class Invariants
    • Controlling Runtime Evaluation of Assertions
  • Java Date/Time API
    19
    • Why Is Date and Time Important?
    • Previous Java Date and Time
    • Working with Local Date and Time
    • Working with LocalDate
    • Working with LocalTime
    • Working with LocalDateTime
    • Working with Time Zones
    • Modelling Time Zones
    • Creating ZonedDateTime Objects
    • Working with ZonedDateTime Gaps/Overlaps
    • ZoneRules
    • Working Across Time Zones
    • Date and Time Methods
    • Date and Time Amounts
    • Period
    • Duration
    • Calculating Between Days
    • Making Dates Pretty
    • Using Fluent Notation
  • Java I/O Fundamentals
    12
    • Java I/O Basics
    • I/O Streams
    • I/O Application
    • Data Within Streams
    • Character Stream Reader Methods Character Stream Writer Methods
    • Writing to Standard Output
    • Reading from Standard Input
    • Channel I/O
    • Persistence
    • Serial Version UID
    • Writing and Reading an Object Stream
    • Serialization Methods
  • Java File I/O (NIO)
    23
    • New File I/O API
    • Limitations of java.io.File
    • File Systems, Paths, Files
    • Relative Path Versus Absolute Path
    • Java NIO Concepts
    • Path Interface
    • Path Interface Features
    • Removing Redundancies from a Path Creating a Subpath
    • Joining Two Paths
    • Symbolic Links
    • Working with Links
    • File Operations
    • Checking a File or Directory
    • Deleting a File or Directory
    • Copying a File or Directory
    • Moving a File or Directory
    • List the Contents of a Directory
    • Walk the Directory Structure
    • BufferedReader File Stream
    • NIO File Stream
    • Read File into ArrayList
    • Managing Metadata
    • Symbolic Links
  • Concurrency
    22
    • Task Scheduling
    • Legacy Thread and Runnable
    • Extending Thread
    • Implementing Runnable
    • The java.util.concurrent Package
    • Recommended Threading Classes
    • Shutting Down an ExecutorService java.util.concurrent.Callable
    • java.util.concurrent.Future
    • Shared Data
    • Problems with Shared Data
    • Non-shared Data
    • Atomic Operations
    • Out-of-Order Execution
    • The synchronized Keyword
    • synchronized Methods
    • synchronized Blocks
    • Object Monitor Locking
    • Threading Performance
    • java.util.concurrent Classes and Packages
    • The java.util.concurrent.atomic Package
    • java.util.concurrent.CyclicBarrier
    • Thread-Safe Collections
  • Parallel Streams
    15
    • Streams Review
    • Old Style Collection Processing
    • New Style Collection Processing
    • Stream Pipeline: Another Look
    • Styles Compared
    • Parallel Stream
    • Using Parallel Streams: Collection
    • Using Parallel Streams: From a Stream Pipelines Fine Print
    • Embrace Statelessness
    • Streams Are Deterministic for Most Part Some Are Not Deterministic
    • Reduction
    • Reduction Fine Print
    • A Look Under the Hood
    • Illustrating Parallel Execution
    • Performance
  • Building Database Applications with JDBC
    14
    • Using the JDBC API
    • Using a Vendor’s Driver Class
    • Key JDBC API Components
    • Writing Queries and Getting Results
    • Using a ResultSet Object
    • CRUD Operations Using JDBC API
    • SQLException Class
    • Closing JDBC Objects
    • try-with-resources Construct
    • Using PreparedStatement
    • Using PreparedStatement: Setting Parameters
    • Executing PreparedStatement
    • PreparedStatement:Using a Loop to Set Values
    • Using CallableStatement
  • Modularity and Other New Features
    12
    • Working with the Module System
    • Modular JDK
    • Creating Custom Runtime Images
    • Multi-release JAR files
    • Private Interface Methods
    • Enhancements to the Stream API
    • var keyword and functional improvements
    • Convenience Methods for Collections
    • Convenience Methods for Arrays
    • Convenience Methods for Files
    • Enhanced Deprecations for APIs
    • JShell

Java 12 Programming

This content is protected, please login and enroll course to view this content!
Prev The Person Class
Next Builder Pattern

Subscribe

To Our Newsletter

Footer logo

A learning curve is essential to growth and could be achieved by involvement. Involve, Learn, Innovate

GET IN TOUCH

+44 20 7 193 893 7 info@zero2hero.training www.zero2hero.training Salisbury House, 29 Finsbury Circus, EC2M 7AQ, London

Useful Links

  • Become a Teacher
  • Upcoming Events
  • Courses
Copyright © 2021 Zero To Hero IT Training. All Rights Reserved.
Modal title

Message modal