O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Java 9 Programming for Complete Beginners in 250 Steps

Video Description

Start learning Java programming step-by-step with 200+ code examples. 250 amazing steps for absolute Java beginners!

About This Video

  • Amazing Hands-on Step By Step Learning Experiences
  • Real Project Experiences using the Best Tools and Frameworks
  • Awesome Troubleshooting Guides with 200+ FAQs Answered

In Detail

Zero Java Programming Experience? No Problem. Do you want to take the first steps to Become a Great Java Programmer? Do you want to Learn Java Step By Step in a Fail Safe in28Minutes Way? Do you want to Learn to Write Great Java Programs? Java is one of the most popular programming languages. Java offers both object-oriented and functional programming features. We take a hands-on approach using a combination of JShell and Eclipse as an IDE to illustrate more than 200 Java Coding Exercises, Puzzles and Code Examples. This course assumes no previous ( beginner ) programming or Java experience. If you’ve never programmed a computer before, or if you already have experience with another programming language and want to quickly learn Java, this is a perfect course for you. All the code and supporting files for this course are available at: https://github.com/PacktPublishing/Java-9-Programming-for-Complete-Beginners-in-250-Steps

Table of Contents

  1. Chapter 1 : Introduction
    1. Introduction to the Course 00:02:48
    2. How to Make Best use of the Course Guide? 00:01:30
  2. Chapter 2 : Installing Java 11
    1. Step 01 - Installing JDK - with installation guide PDF 00:03:29
    2. Step 02 - Verifying Java and JShell 00:03:11
    3. Step 03 - Troubleshooting Java installation 00:02:06
    4. Step 04 - Setting Path environment variable in Windows 00:06:52
  3. Chapter 3 : Introduction to Java Programming with JShell using Multiplication Table
    1. Step 00 - Getting Started with Programming 00:02:13
    2. Step 01 - Introduction to Multiplication Table challenge 00:01:29
    3. Step 02 - Launch JShell 00:05:19
    4. Step 03 - Break Down Multiplication Table Challenge 00:01:55
    5. Step 04 - Java Expression - An Introduction 00:07:42
    6. Step 05 - Java Expression – Exercises 00:01:39
    7. Step 06 - Java Expression – Puzzles 00:08:14
    8. Step 07 - Printing output to console with Java 00:10:54
    9. Step 08 - Printing output to console with Java - Exercise Statements 00:01:40
    10. Step 09 - Printing output to console with Java - Exercise Solutions 00:03:58
    11. Step 10 - Printing output to console with Java – Puzzles 00:08:01
    12. JShell Tip - Multiple Lines of Code 00:02:13
    13. Step 11 - Advanced Printing output to console with Java 00:06:41
    14. Step 12 - Advanced Printing output to console with Java – Exercises 00:04:11
    15. Step 13 - Introduction to Variables in Java 00:08:28
    16. Step 14 - Introduction to Variables in Java - Exercises and Puzzles 00:06:27
    17. Step 15 - 4 Important Things to Know about Variables in Java 00:01:02
    18. Step 16 - How are variables stored in memory? 00:04:33
    19. Step 17 - How to name a variable? 00:04:06
    20. Step 18 - Understanding Primitive Variable Types in Java 00:06:55
    21. Step 19 - Understanding Primitive Variable Types in Java - Choosing a Type 00:06:14
    22. Java Tip - String Concatenation 00:03:05
    23. Step 20 - Java Assignment Operator 00:04:20
    24. Step 21 - Java Assignment Operator - Puzzles on Increment, Decrement and Compound 00:03:21
    25. Step 22 - Programming Tips: JShell - Shortcuts, Multiple Lines and Variables 00:07:08
    26. Step 23 - Java Conditionals and If Statement – Introduction 00:07:59
    27. Step 24 - Java Conditionals and If Statement - Exercise Statements 00:02:11
    28. Step 25 - Java Conditionals and If Statement - Exercise Solutions 00:06:31
    29. Step 26 - Java Conditionals and If Statement – Puzzles 00:06:38
    30. Step 27 - Java For Loop to Print Multiplication Table – Introduction 00:09:04
    31. Step 28 - Java For Loop to Print Multiplication Table - Exercise Statements 00:01:38
    32. Step 29 - Java For Loop to Print Multiplication Table - Exercise Solutions 00:11:09
    33. Step 30 - Java For Loop to Print Multiplication Table – Puzzles 00:06:33
    34. Step 31 - Getting Started with Programming - Revise all Terminology 00:06:28
  4. Chapter 4 : Introduction to Method with Multiplication Table
    1. Step 00 - Section 02 - Methods - An Introduction 00:01:07
    2. Step 01 - Your First Java Method - Hello World Twice and Exercise Statements 00:09:22
    3. Step 02 - Introduction to Java Methods - Exercises and Puzzles 00:06:19
    4. Step 03 - Programming Tip - Editing Methods with JShell 00:05:15
    5. Step 04 - Introduction to Java Methods - Arguments and Parameters 00:10:36
    6. Step 05 - Introduction to Java Method Arguments – Exercises 00:05:19
    7. Step 06 - Introduction to Java Method Arguments - Puzzles and Tips 00:04:10
    8. Step 07 - Getting back to Multiplication Table - Creating a method 00:05:48
    9. Step 08 - Print Multiplication Table with a Parameter and Method Overloading 00:04:12
    10. Step 09 - Passing Multiple Parameters to a Java Method 00:05:14
    11. Step 10 - Returning from a Java Method - An Introduction 00:05:48
    12. Step 11 - Returning from a Java Method – Exercises 00:05:43
    13. Step 12 - Methods - Section Review 00:02:26
  5. Chapter 5 : Introduction to Java Platform
    1. Step 00 - Section 03 - Overview of Java Platform - Section Overview 00:01:08
    2. Step 01 - Overview of Java Platform - An Introduction - java, javac, bytecode 00:05:13
    3. Step 02 - Java Class and Object - First Look 00:05:38
    4. Step 03 - Create a method in a Java class 00:06:21
    5. Step 04 - Create and Compile Planet.java class 00:06:05
    6. Step 05 - Run Planet class with Java - Using a main method 00:06:17
    7. Step 06 - Play and Learn with Planet Class 00:05:19
    8. Step 07 - JDK vs JRE vs JVM 00:05:57
  6. Chapter 6 : Introduction to Eclipse - First Java Project
    1. Step 00 - Installing Eclipse 00:02:47
    2. Step 01 - Creating a New Java Project with Eclipse 00:05:13
    3. Step 02 - Your first Java class with Eclipse 00:05:27
    4. Step 03 - Writing Multiplication Table Java Program with Eclipse 00:06:10
    5. Step 04 - Adding more methods for Multiplication Table Program 00:03:52
    6. Eclipse Tip - Save Actions 00:02:41
    7. Step 05 - Programming Tip 1: Refactoring with Eclipse 00:04:38
    8. Step 06 - Programming Tip 2: Debugging with Eclipse 00:10:05
    9. Step 07 - Programming Tip 3: Eclipse vs JShell - How to choose? 00:05:39
  7. Chapter 7 : Introduction to Object Oriented Programming
    1. Step 00 - Introduction to Object Oriented Programming - Section Overview 00:01:01
    2. Step 01 - Introduction to Object Oriented Programming – Basics 00:05:25
    3. Step 02 - Introduction to Object Oriented Programming - Terminology - Class Object, 00:04:56
    4. Step 03 - Introduction to Object Oriented Programming - Exercise – Online Shopping 00:03:08
    5. Step 04 - Create Motor Bike Java Class and a couple of objects 00:06:30
    6. Step 05 - Exercise Solutions - Book class and 3 instances 00:02:02
    7. Step 06 - Introducing State of an object with speed variable 00:05:54
    8. Step 07 - Understanding basics of Encapsulation with Setter methods 00:07:05
    9. Step 08 - Exercises and Tips - Getters and Generating Getters and Setters with E 00:05:40
    10. Step 09 - Puzzles on this and initialization of member variables 00:07:21
    11. Step 10 - First Advantage of Encapsulation 00:01:53
    12. Step 11 - Introduction to Encapsulation - Level 2 00:06:07
    13. Step 12 - Encapsulation Exercises - Better Validation and Book class 00:03:53
    14. Step 13 - Introduction to Abstraction 00:03:05
    15. Step 14 - Introduction to Java Constructors 00:04:26
    16. Step 15 - Introduction to Java Constructors - Exercises and Puzzles 00:06:47
    17. Step 16 - Introduction to Object Oriented Programming – Conclusion 00:01:13
  8. Chapter 8 : Primitive Data Types and Alternatives
    1. Step 00 - Primitive Data Types in Depth - Section Overview 00:01:08
    2. Step 01 - Basics about Java Integer Data Types - Casting, Operators and More 00:07:30
    3. Step 02 - Java Integer Data Types - Puzzles - Octal, Hexadecimal, Post and Pre integer 00:09:50
    4. Step 03 - Java Integer Data Types - Exercises - BiNumber - add, multiply and double 00:09:03
    5. Step 04 - Java Floating Point Data Types - Casting, Conversion and Accuracy 00:04:35
    6. Step 05 - Introduction to BigDecimal Java Class 00:06:58
    7. Step 06 - BigDecimal Puzzles - Adding Integers 00:03:13
    8. Step 07 - BigDecimal Exercises - Simple Interest Calculation 00:11:34
    9. Step 08 - Java Boolean Data Type - Relational and Logical Operators 00:10:38
    10. Step 09 - Java Boolean Data Type - Puzzles - Short Circuit Operators 00:05:02
    11. Step 10 - Java Character Data Type char - Representation and Conversion 00:06:02
    12. Step 11 - Java char Data Type - Exercises 1 – isVowel 00:07:47
    13. Step 12 - Java char Data Type - Exercises 2 – isDigit 00:08:03
    14. Step 13 - Java char Data Type - Exercises 3 - isConsonant, List Upper Case and L 00:09:00
    15. Step 14 - Primitive Data Types in Depth – Conclusion 00:01:23
  9. Chapter 9 : Conditionals
    1. Step 00 - Conditionals with Java - Section Overview 00:01:23
    2. Step 01 - Introduction to If Else Statement 00:04:52
    3. Step 02 - Introduction to Nested If Else 00:04:48
    4. Step 03 - If Else Statement – Puzzles 00:08:02
    5. Step 04 - If Else Problem - How to get User Input in Java? 00:06:45
    6. Step 05 - If Else Problem - How to get number 2 and choice from user? 00:03:06
    7. Step 06 - If Else Problem - Implementing with Nested If Else 00:03:37
    8. Programming Tip - CodingBat dot Com 00:01:35
    9. Step 07 - Java Switch Statement - An introduction 00:09:32
    10. Step 08 - Java Switch Statement - Puzzles - Default, Break and Fall Through 00:07:01
    11. Step 09 - Java Switch Statement - Exercises - isWeekDay, nameOfMonth, nameOfDay 00:13:02
    12. Eclipse Tip - Ctrl or Cmd + 1 00:05:06
    13. Step 10 - Java Ternary Operation - An Introduction 00:06:22
    14. Step 11 - Conditionals with Java – Conclusion 00:00:32
  10. Chapter 10 : Loops
    1. Step 00 - Java Loops - Section Introduction 00:00:58
    2. Step 01 - Java For Loop - Syntax and Puzzles 00:06:56
    3. Step 02 - Java For Loop - Exercises Overview and First Exercise Prime Numbers 00:12:38
    4. Step 03 - Java For Loop - Exercise - Sum Upto N Numbers and Sum of Divisors 00:06:54
    5. Step 04 - Java For Loop - Exercise - Print a Number Triangle 00:05:19
    6. Eclipse Tip - Templates - sysout, main, fore, ifelse 00:02:23
    7. Step 05 - While Loop in Java - An Introduction 00:05:05
    8. Step 06 - While Loop - Exericises - Cubes and Squares upto limit 00:09:04
    9. Step 07 - Do While Loop in Java - An Introduction 00:04:10
    10. Step 08 - Do While Loop in Java - An Example - Cube while user enters positive n 00:08:27
    11. Step 09 - Introduction to Break and Continue 00:04:40
    12. Step 10 - Selecting Loop in Java - For vs While vs Do While 00:03:41
  11. Chapter 11 : Reference Types
    1. Step 00 - Java Reference Types - Section Introduction 00:01:31
    2. Step 01 - Reference Types - How are they stored in Memory? 00:07:02
    3. Step 02 - Java Reference Types – Puzzles 00:08:53
    4. Step 03 - String class - Introduction and Exercise - Print each word and char on 00:08:38
    5. Step 04 - String class - Exercise Solution and Some More Important Methods 00:08:39
    6. Step 05 - Understanding String is Immutable and String Concat, Upper Case, Lower 00:05:10
    7. Step 06 - String Concatenation and Join, Replace Methods 00:07:34
    8. Step 07 - Java String Alternatives - StringBuffer and StringBuilder 00:04:54
    9. Step 08 - Java Wrapper Classes - An Introduction - Why and What? 00:02:46
    10. Step 09 - Java Wrapper Classes - Creation - Constructor and valueOf 00:05:22
    11. Step 10 - Java Wrapper Classes - Auto Boxing and a Few Wrapper Constants – SIZE 00:03:27
    12. Step 11 - Java Dates - Introduction to LocalDate, LocalTime and LocalDateTime 00:04:09
    13. Step 12 - Java Dates - Exploring LocalDate - Creation and Methods to play with D 00:07:13
    14. Step 13 - Java Dates - Exploring LocalDate - Comparing Dates and Creating Specif 00:05:20
    15. Eclipse Tip - Exploring Java API 00:03:45
    16. Step 14 - Java Reference Types – Conclusion 00:01:45
  12. Chapter 12 : Arrays and ArrayLists
    1. Step 00 - Introduction to Array and ArrayList - Section Introduction with a Challenge 00:01:19
    2. Step 01 - Understanding the need and Basics about an Array 00:05:26
    3. Step 02 - Java Arrays - Creating and Accessing Values – Introduction 00:06:04
    4. Step 03 - Java Arrays - Puzzles - Arrays of Objects, Primitive Data Types, toStr 00:08:11
    5. Step 04 - Java Arrays - Compare, Sort and Fill 00:05:11
    6. Step 05 - Java Arrays - Exercise - Create Student Class - Part 1 - Total and Ave 00:06:17
    7. Step 06 - Java Arrays - Exercise - Create Student Class - Part 2 - Maximum and Minimum 00:13:06
    8. Step 07 - Introduction to Variable Arguments – Need 00:04:36
    9. Step 08 - Introduction to Variable Arguments – Basics 00:05:04
    10. Step 09 - Introduction to Variable Arguments - Enhancing Student Class 00:01:59
    11. Step 10 - Java Arrays - Using Person Objects and String Elements with Exercises 00:03:35
    12. Eclipse Tip - Code Generation 00:02:41
    13. Step 11 - Java String Arrays - Exercise Solutions - Print Day of Week with Most 00:04:56
    14. Step 12 - Adding and Removing Marks - Problem with Arrays 00:03:21
    15. Step 13 - First Look at ArrayList - An Introduction 00:04:37
    16. Step 14 - First Look at ArrayList - Refactoring Student Class to use ArrayList 00:05:57
    17. Step 15 - First Look at ArrayList - Enhancing Student Class with Add and Remove 00:02:30
    18. Step 16 - Introduction to Array and ArrayList – Conclusion 00:01:09
  13. Chapter 13 : Object Oriented Programming Again
    1. Step 00 - Object Oriented Programming - Level 2 - Section Introduction 00:01:55
    2. Step 01 - Basics of Designing a Class - Class, Object, State and Behavior 00:03:49
    3. Step 02 - OOPS Example - Fan Class - Deciding State and Constructors 00:10:06
    4. Step 03 - OOPS Example - Fan Class - Deciding Behavior with Methods 00:06:28
    5. Step 04 - OOPS Exercise - Rectangle Class 00:06:27
    6. Step 05 - Understanding Object Composition with Customer Address Example 00:10:50
    7. Step 06 - Understanding Object Composition - An Exercise - Books and Reviews 00:02:48
    8. Step 07 - Understanding Inheritance - Why do we need it? 00:07:52
    9. Step 08 - Object is at top of Inheritance Hierarchy 00:04:06
    10. Step 09 - Inheritance and Overriding - with toString() method 00:04:55
    11. Step 10 - Java Inheritance - Exercise - Student and Employee Classes 00:06:53
    12. Step 11 - Java Inheritance - Default Constructors and super() method call 00:09:18
    13. Step 12 - Java Inheritance - Puzzles - Multiple Inheritance, Reference Variables 00:06:22
    14. Step 13 - Java Abstract Class – Introduction 00:06:10
    15. Step 14 - Java Abstract Class - First Example - Creating Recipes with Template M 00:07:37
    16. Step 15 - Java Abstract Class – Puzzles 00:03:41
    17. Step 16 - Java Interface - Example 1 - Gaming Console - How to think about Intef 00:08:30
    18. Step 17 - Java Interface - Example 2 - Complex Algorithm - API defined by extern 00:05:58
    19. Step 18 - Java Interface - Puzzles - Unimplemented methods, Abstract Classes, Values 00:09:42
    20. Step 19 - Java Interface vs Abstract Class - A Comparison 00:03:49
    21. Step 20 - Java Interface Flyable and Abstract Class Animal - An Exercise 00:05:26
    22. Programming Tip - 97 Things every programming should know 00:02:22
    23. Step 21 - Polymorphism - An introduction 00:06:11
  14. Chapter 14 : Collections
    1. Step 01 - Java Collections - Section Overview with Need for Collections 00:03:17
    2. Step 02 - List Interface - Introduction - Position is King 00:07:05
    3. Step 03 - List Inteface - Immutability and Introduction of Implementations – Array 00:04:37
    4. Step 04 - List Inteface Implementations - ArrayList vs LinkedList 00:05:32
    5. Programming Tip - Teach Yourselves programming in 10 Years 00:01:45
    6. Step 05 - List Inteface Implementations - ArrayList vs Vector 00:03:43
    7. Step 06 - List Inteface - Methods to add, remove and change elements and lists 00:06:36
    8. Step 07 - List and ArrayList - Iterating around elements 00:02:59
    9. Step 08 - List and ArrayList - Choosing iteration approach for printing and delete 00:06:56
    10. Step 09 - List and ArrayList - Puzzles - Type Safety and Removing Integers 00:07:24
    11. Step 10 - List and ArrayList - Sorting - Introduction to Collections sort static 00:08:57
    12. Step 11 - List and ArrayList - Sorting - Implementing Comparable Inteface 00:03:26
    13. Step 12 - List and ArrayList - Sorting - Providing Flexibility by implementing C 00:06:07
    14. Step 13 - List and ArrayList - A Summary 00:02:23
    15. Step 14 - Set Interface - Introduction - No Duplication 00:04:17
    16. Step 15 - Understanding Data Structures - Array, LinkedList and Hashing 00:06:17
    17. Step 16 - Understanding Data Structures - Tree - Sorted Order 00:03:26
    18. Step 17 - Set Interface - Hands on - HashSet, LinkedHashSet and TreeSet 00:04:58
    19. Step 18 - Set Interface - Exercise - Find Unique Characters in a List 00:04:34
    20. Step 19 - TreeSet - Methods from NavigableSet - floor,lower,upper, subSet, head 00:05:29
    21. Step 20 - Queue Interface - Process Elements in Order 00:01:39
    22. Step 21 - Introduction to PriorityQueue - Basic Methods and Customized Priority 00:06:32
    23. Step 22 - Map Interface - An Introduction - Key and Value 00:02:50
    24. Step 23 - Map Interface - Implementations - HashMap, HashTable, LinkedHashMap 00:02:49
    25. Step 24 - Map Interface - Basic Operations 00:05:00
    26. Step 25 - Map Interface - Comparison - HashMap vs LinkedHashMap vs TreeMap 00:04:20
    27. Step 26 - Map Interface - Exercise - Count Occurrences of characters and words 00:08:43
    28. Step 27 - TreeMap - Methods from NavigableMap - floorKey, higherKey, firstEntry 00:04:26
    29. Step 28 - Java Collections - Conclusion with Three Tips 00:03:01
  15. Chapter 15 : Generics
    1. Step 01 - Introduction to Generics - Why do we need Generics? 00:05:44
    2. Step 02 - Implementing Generics for the Custom List 00:05:05
    3. Step 03 - Extending Custom List with a Generic Return Method 00:02:19
    4. Step 04 - Generics Puzzles - Restrictions with extends and Generic Methods 00:07:32
    5. Step 05 - Generics and WildCards - Upper Bound and Lower Bound 00:06:18
  16. Chapter 16 : Introduction to Functional Programming
    1. Step 01 - Introduction to Functional Programming - Functions are First Class 00:02:22
    2. Step 02 - Functional Programming - First Example with Function as Parameter 00:07:10
    3. Step 03 - Functional Programming - Exercise - Loop a List of Numbers 00:02:21
    4. Step 04 - Functional Programming - Filtering - Exercises to print odd and even n 00:07:27
    5. Step 05 - Functional Programming - Collect - Sum of Numbers in a List 00:06:55
    6. Step 06 - Functional Programming vs Structural Programming - A Quick Comparison 00:04:31
    7. Step 07 - Functional Programming Terminology - Lambda Expression, Stream and Operations 00:06:20
    8. Step 08 - Stream Intermediate Operations - Sort, Distinct, Filter and Map 00:04:31
    9. Step 09 - Stream Intermediate Operations - Exercises - Squares of First 10, Map 00:04:34
    10. Step 10 - Stream Terminal Operations - 1 - max operation with Comparator 00:07:29
    11. Step 11 - Stream Terminal Operations - 2 - min, collect to List 00:07:02
    12. Step 12 - Optional class in Java - An Introduction 00:04:49
    13. Step 13 - Behind the Screens with Functional Interfaces - Implement Predicate Int 00:08:27
    14. Step 14 - Behind the Screens with Functional Interfaces - Implement Consumer Int 00:03:09
    15. Step 15 - Behind the Screens with Functional Interfaces - Implement Function Int 00:04:22
    16. Step 16 - Simplify Functional Programming code with Method References 00:09:48
    17. Step 17 - Functions are First Class Citizens 00:03:30
    18. Step 18 - Introduction to Functional Programming – Conclusion 00:02:52
  17. Chapter 17 : Introduction to Threads and Concurrency
    1. Step 01 - Introduction to Threads and MultiThreading - Need for Threads 00:04:52
    2. Step 02 - Creating a Thread for Task1 - Extending Thread Class 00:06:07
    3. Step 03 - Creating a Thread for Task2 - Implement Runnable Interface 00:04:50
    4. Step 04 - Theory - States of a Thread 00:05:21
    5. Step 05 - Placing Priority Requests for Threads 00:04:19
    6. Step 06 - Communication between Threads - join method 00:03:48
    7. Step 07 - Thread utility methods and synchronized keyword - sleep, yield 00:05:44
    8. Step 08 - Need for Controlling the Execution of Threads 00:02:42
    9. Step 09 - Introduction to Executor Service 00:04:27
    10. Step 10 - Executor Service - Customizing number of Threads 00:05:28
    11. Step 11 - Executor Service - Returning a Future from Thread using Callable 00:06:43
    12. Step 12 - Executor Service - Waiting for completion of multiple tasks using invokeAny 00:06:58
    13. Step 13 - Executor Service - Wait for only the fastest task using invokeAny 00:02:42
    14. Step 14 - Threads and MultiThreading – Conclusion 00:02:23
  18. Chapter 18 : Introduction to Exception Handling
    1. Step 01 - Introduction to Exception Handling - Your Thought Process during Exception 00:03:13
    2. Step 02 - Basics of Exceptions - NullPointerException and StackTrace 00:06:16
    3. Step 03 - Basics of Handling Exceptions - try and catch 00:05:19
    4. Step 04 - Basics of Handling Exceptions - Exception Hierarchy, Matching and Catch 00:07:15
    5. Step 05 - Basics of Handling Exceptions - Need for finally 00:06:23
    6. Step 06 - Basics of Handling Exceptions – Puzzles 00:04:00
    7. Step 07 - Checked Exceptions vs Unchecked Exceptions - An Example 00:06:20
    8. Step 08 - Hierarchy of Errors and Exceptions - Checked and Runtime 00:04:37
    9. Step 09 - Throwing an Exception - Currencies Do Not Match Runtime Exception 00:06:44
    10. Step 10 - Throwing a Checked Exception - Throws in method signature and handling 00:03:13
    11. Step 11 - Throwing a Custom Exception – CurrenciesDoNotMatchException 00:03:54
    12. Step 12 - Write less code with Try with Resources - New Feature in Java 7 00:03:22
    13. Step 13 - Basics of Handling Exceptions - Puzzles 2 00:02:04
    14. Step 14 - Exception Handling - Conclusion with Best Practices 00:04:31
  19. Chapter 19 : Files and Directories
    1. Step 01 - List files and folders in Directory with Files list method 00:05:26
    2. Step 02 - Recursively List and Filter all files and folders in Directory 00:07:12
    3. Step 03 - Read content from a File - Files readAllLines and lines methods 00:05:44
    4. Step 04 - Writing Content to a File - Files write method 00:02:17
    5. Step 05 - Files – Conclusion 00:02:01
  20. Chapter 20 : More Concurrency with Concurrent Collections and Atomic Operations
    1. Step 01 - Getting started with Synchronized 00:06:47
    2. Step 02 - Problem with Synchronized - Less Concurrency 00:02:58
    3. Step 03 - Enter Locks with ReEntrantLock 00:05:07
    4. Step 04 - Introduction to Atomic Classes – AtomicInteger 00:04:10
    5. Step 05 - Need for ConcurrentMap 00:04:24
    6. Step 06 - Implementing an example with ConcurrentHashMap 00:06:21
    7. Step 07 - ConcurrentHashMap uses different locks for different regions 00:02:38
    8. Step 08 - CopyOnWrite Concurrent Collections - When reads are more than writes 00:07:04
    9. Step 09 – Conclusion 00:02:29
  21. Chapter 21 : Java Tips
    1. Java Tip 01 - Imports and Static Imports 00:07:11
    2. Java Tip 02 – Blocks 00:02:53
    3. Java Tip 03 - equals method 00:06:09
    4. Java Tip 04 - hashcode method 00:03:13
    5. Java Tip 05 - Class Access Modifiers - public and default 00:04:59
    6. Java Tip 06 - Method Access Modifiers - public, protected, private and default 00:06:54
    7. Java Tip 07 - Final classes and Final methods 00:05:19
    8. Java Tip 08 - Final Variables and Final Arguments 00:03:13
    9. Java Tip 09 - Why do we need static variables? 00:04:48
    10. Java Tip 09 - Why do we need static methods? 00:03:04
    11. Java Tip 10 - Static methods cannot use instance methods or variables 00:02:43
    12. Java Tip 11 - public static final – Constants 00:05:37
    13. Java Tip 12 - Nested Classes - Inner Class vs Static Nested Class 00:06:21
    14. Java Tip 13 - Anonymous Classes 00:07:04
    15. Java Tip 14 - Why Enum and Enum Basics - ordinal and values 00:07:28
    16. Java Tip 15 - Enum - Constructor, variables and methods 00:03:40
    17. Java Tip 16 - Quick look at inbuild Enums - Month, DayOfWeek 00:03:04
  22. Chapter 22 : Congratulations
    1. Congratulations 00:01:02