Overview
In this Java training course, students already familiar with Java programming will learn advanced Java techniques.
This advanced Java course is taught using Java 12.
1 Encryption
Introduction
Plaintext
Ciphertext
Ciphers
Keys
Symmetric Key Encryption
Exercise 1: Encrypting the String Using Advanced Encryption Standard
Block Ciphers
Initialization Vectors
Stream Ciphers
Asymmetric Key Encryption
Exercise 2: Encrypting the String Using the RSA Asymmetric Key Encryption
Encrypting Files
Exercise 3: Encrypting a File
Summary
2 Regular Expressions
Introduction
Decrypting Regular Expressions
Character Classes
Character Sets
Quantifiers
Anchors
Capturing Groups
Escaped Characters
Flags
Exercise 1: Implementing Regular Expressions
Activity 1: Regular Expressions to Check If the Entrance is Entered in the Desired Format
Regular Expressions in Java
Exercise 2: Extracting the Domain Using Pattern Matching
Exercise 3: Extracting Links Using Pattern Matching
Summary
3 Functional Programming with Lambda Expressions
Introduction
Background
Functional Programming
Side Effects
Deterministic Functions
Pure Functions
Exercise 1: Writing Pure Functions
Immutability of State
Exercise 2: Creating an Immutable Class
Activity 1: Modifying Immutable Lists
Immutable Collections
Exercise 3: Overriding the String Method
Functional Interfaces
Lambda Expressions
Exercise 4: Listing Spare Tires
Summary
4 Processing Data with Streams
Introduction
Creating Streams
Parallel Streams
Encounter Order
Closing Streams
Terminal Operations
Intermediate Operations
Exercise 1: Using the Stream API
Activity 1: Applying Discount on the Item
Using Collectors
I/O Streams
Exercise 2: Converting CSV to a List
Activity 2: Searching for Specifics
Lambda Function
Summary
5 Unit Testing
Introduction
Getting Started with Unit Tests
Introducing JUnit
Writing Unit Tests with JUnit
Exercise 1: Writing a First Unit Test
Exercise 2: Writing a Successful Test
Deciding What to Test
Writing Parameterized Tests
Exercise 3: Writing a Parameterized Test
When Tests Won't Work—Disabling Tests
Test Setup
Exercise 4: Using Test Setup and Cleanup Methods
Mocking
Testing with Mocks Using Mockito
Exercise 5: Using Mocks when Testing
Activity 1: Counting the Words in the String
Summary
Students should have experience with Java and working knowledge of the skills covered in Core Skills: Level 1.
Specifically, you should know: how Java works and its place in the world of programming languages; how to work with and manipulate strings; how to perform math operations; how to work with Java operators and loops; Object Oriented Programming concepts; how to make best use of the Java collections framework; best practices for dealing with exceptions; how to package Java code; and how to work with external data storage systems.