Learn Java from Scratch - A Beginner's Guide

Video description

This comprehensive course is perfect for anyone who wants to learn Java programming from scratch. Even if you have no previous programming experience or knowledge of Java, this hands-on course will guide you through more than 250 steps to help you gain a solid foundation in the language.

Throughout the course, you will use JShell and Eclipse as your IDE to work through over 200 coding exercises, puzzles, and code examples. You will learn about the basics of Java programming, including expressions, variables, and printing output, as well as Java operators, conditionals, and methods. Object-oriented programming (OOP) is also covered in detail, including concepts such as encapsulation, abstraction, inheritance, and polymorphism.

In addition, the course covers Java data types, built-in classes, loops, immutability, dates, arrays, collections, generics, functional programming, threads, exception handling, and file I/O.

By the end of the course, you will have gained a thorough understanding of Java programming and be ready to tackle more advanced topics. Whether you are interested in developing software, building web applications, or simply want to learn a new skill, this course is an excellent place to start.

What You Will Learn

  • Understanding basic Java syntax and control structures
  • Developing proficiency in object-oriented programming
  • Applying functional programming concepts in Java
  • Creating and working with arrays, strings, and collections
  • Writing programs that read and write files
  • Building projects using Java and industry-standard tools

Audience

This course is ideal for absolute beginners who have no prior programming experience and want to learn Java. It is also suitable for those who are beginners in Java programming and want to enhance their skills in writing great Java programs. Additionally, it’s a perfect fit for individuals who are interested in mastering the basics of object-oriented programming or learning the basics of functional programming with Java.

About The Author

In28Minutes Official: Ranga Karanam is a seasoned technologist and architect with over two decades of expertise in programming, design, and architecture. He founded in28Minutes with the goal of helping students master cutting-edge cloud-native technologies such as AWS, Azure, Google Cloud, Docker, and Kubernetes. With 15 years of experience in Java programming and design, Ranga has collaborated with top banking clients worldwide.

His passion for creating hands-on courses with real-world projects motivated him to develop the Step-By-Step series of courses that follow a problem-solution-based approach, with practical and real-world application examples.

Ranga and his team at in28Minutes specialize in Java and related frameworks such as Spring, Spring Boot, Spring MVC, Struts, and Hibernate. They are committed to equipping learners with the skills and knowledge necessary to succeed in today’s rapidly evolving technology landscape.

Table of contents

  1. Chapter 1 : Introduction to Course – Java Programming
    1. Introduction to the Course
  2. Chapter 2 : Installing Java
    1. Step 00 - Installing Java - Overview
    2. Step 01 - Installing Java - Windows
    3. Step 02 - Installing Java - Mac
    4. Step 03 - Installing Java – Linux
    5. Step 04 - Troubleshooting Java Installation
  3. Chapter 3 : Introduction to Java Programming with JShell Using Multiplication Table
    1. Step 00 – Step-By-Step Problem Solving with Programming
    2. Step 01 - Introduction to Multiplication Table Challenge
    3. Step 02 – Getting Started with JShell
    4. Step 03 - Break Down Multiplication Table Challenge
    5. Step 04 - Java Expression - an Introduction
    6. Step 05 - Java Expression – Exercises
    7. Step 06 - Java Expression – Puzzles
    8. Step 07 - Printing Output to Console with Java
    9. Step 08 - Printing Output to Console with Java - Exercise Statements
    10. Step 09 - Printing Output to Console with Java - Exercise Solutions
    11. Step 10 - Printing Output to Console with Java – Puzzles
    12. JShell Tip - Multiple Lines of Code
    13. Step 11 - Advanced Printing Output to Console with Java
    14. Step 12 - Advanced Printing Output to Console with Java – Exercises
    15. Step 13 - Introduction to Variables in Java
    16. Step 14 - Introduction to Variables in Java - Exercises and Puzzles
    17. Step 15 - 4 Important Things to Know about Variables in Java
    18. Step 16 - How Are Variables Stored in Memory?
    19. Step 17 - How to Name a Variable
    20. Step 18 - Understanding Primitive Variable Types in Java
    21. Step 19 - Understanding Primitive Variable Types in Java - Choosing a Type
    22. Java Tip - String Concatenation
    23. Step 20 - Java Assignment Operator
    24. Step 21 - Java Assignment Operator - Puzzles on Increment, Decrement, and Compound
    25. Step 22 - Programming Tips: JShell - Shortcuts, Multiple Lines, and Variables
    26. Step 23 - Java Conditionals and If Statement – Introduction
    27. Step 24 - Java Conditionals and If Statement - Exercise Statements
    28. Step 25 - Java Conditionals and If Statement - Exercise Solutions
    29. Step 26 - Java Conditionals and If Statement – Puzzles
    30. Step 27 - Java For Loop to Print Multiplication Table – Introduction
    31. Step 28 - Java For Loop to Print Multiplication Table - Exercise Statements
    32. Step 29 - Java For Loop to Print Multiplication Table - Exercise Solutions
    33. Step 30 - Java For Loop to Print Multiplication Table – Puzzles
    34. Step 31 - Getting Started with Programming - Revise All Terminology
  4. Chapter 4 : Introduction to Method with Multiplication Table
    1. Step 00 - Section 02 - Methods - an Introduction
    2. Step 01 - Your First Java Method - Hello World Twice and Exercise Statements
    3. Step 02 - Introduction to Java Methods - Exercises and Puzzles
    4. Step 03 - Programming Tip - Editing Methods with JShell
    5. Step 04 - Introduction to Java Methods - Arguments and Parameters
    6. Step 05 - Introduction to Java Method Arguments – Exercises
    7. Step 06 - Introduction to Java Method Arguments - Puzzles and Tips
    8. Step 07 - Getting Back to Multiplication Table - Creating a Method
    9. Step 08 - Print Multiplication Table with a Parameter and Method Overloading
    10. Step 09 - Passing Multiple Parameters to a Java Method
    11. Step 10 - Returning from a Java Method - an Introduction
    12. Step 11 - Returning from a Java Method – Exercises
    13. Step 12 - Methods - Section Review
  5. Chapter 5 : Introduction to the Java Platform
    1. Step 00 - Section 03 - Overview of the Java Platform - Section Overview
    2. Step 01 - Overview of the Java Platform - an Introduction - java, javac, bytecode
    3. Step 02 - Java Class and Object - First Look
    4. Step 03 - Create a Method in a Java Class
    5. Step 04 - Create and Compile Planet.java Class
    6. Step 05 - Run Planet Class with Java - Using a Main Method
    7. Step 06 - Play and Learn with Planet Class
    8. Step 07 - JDK Versus JRE Versus JVM
  6. Chapter 6 : Introduction to Eclipse - First Java Project
    1. Step 00 - Installing Eclipse - Windows
    2. Step 00 - Installing Eclipse - Mac
    3. Step 01 - Creating a New Java Project with Eclipse
    4. Step 02 - Our First Java Class with Eclipse
    5. Step 03 - Writing Multiplication Table Java Program with Eclipse
    6. Step 04 - Adding More Methods for Multiplication Table Program
    7. Eclipse Tip - Save Actions
    8. Do Not Use Modules for Now
    9. Step 05 - Programming Tip 1: Refactoring with Eclipse
    10. Step 06 - Programming Tip 2: Debugging with Eclipse
    11. Step 07 - Programming Tip 3: Eclipse Versus JShell - How to Choose
  7. Chapter 7 : Introduction to Object-Oriented Programming
    1. Step 00 - Introduction to Object-Oriented Programming - Section Overview
    2. Step 01 - Introduction to Object-Oriented Programming – Basics
    3. Step 02 - Introduction to Object-Oriented Programming - Terminology - Class Object
    4. Step 03 - Introduction to Object-Oriented Programming - Exercise – Online Shopping
    5. Step 04 - Create Motor Bike Java Class and a Couple of Objects
    6. Step 05 - Exercise Solutions - Book Class and Three Instances
    7. Step 06 - Introducing State of an Object with Speed Variable
    8. Step 07 - Understanding Basics of Encapsulation with Setter Methods
    9. Step 08 - Exercises and Tips - Getters and Generating Getters and Setters with E
    10. Step 09 - Puzzles on This and Initialization of Member Variables
    11. Step 10 - First Advantage of Encapsulation
    12. Step 11 - Introduction to Encapsulation - Level 2
    13. Step 12 - Encapsulation Exercises - Better Validation and Book Class
    14. Step 13 - Introduction to Abstraction
    15. Step 14 - Introduction to Java Constructors
    16. Step 15 - Introduction to Java Constructors - Exercises and Puzzles
    17. Step 16 - Introduction to Object-Oriented Programming – Conclusion
  8. Chapter 8 : Primitive Data Types and Alternatives
    1. Step 00 - Primitive Data Types in Depth - Section Overview
    2. Step 01 - Basics about Java Integer Data Types - Casting, Operators, and More
    3. Step 02 - Java Integer Data Types - Puzzles - Octal, Hexadecimal, Post- and Pre-Integer
    4. Step 03 - Java Integer Data Types - Exercises - BiNumber - Add, Multiply, and Double
    5. Step 04 - Java Floating Point Data Types - Casting, Conversion, and Accuracy
    6. Step 05 - Introduction to BigDecimal Java Class
    7. Step 06 - BigDecimal Puzzles - Adding Integers
    8. Step 07 - BigDecimal Exercises - Simple Interest Calculation
    9. Step 08 - Java Boolean Data Type - Relational and Logical Operators
    10. Step 09 - Java Boolean Data Type - Puzzles - Short Circuit Operators
    11. Step 10 - Java Character Data Type char - Representation and Conversion
    12. Step 11 - Java char Data Type - Exercise 1 – isVowel
    13. Step 12 - Java char Data Type - Exercise 2 – isDigit
    14. Step 13 - Java char Data Type - Exercise 3 - isConsonant, List Upper Case, and L
    15. Step 14 - Primitive Data Types in Depth – Conclusion
  9. Chapter 9 : Conditionals
    1. Step 00 - Conditionals with Java - Section Overview
    2. Step 01 - Introduction to If Else Statement
    3. Step 02 - Introduction to Nested If Else
    4. Step 03 - If Else Statement – Puzzles
    5. Step 04 - If Else Problem - How to Get User Input in Java?
    6. Step 05 - If Else Problem - How to Get Number 2 and Choice from User?
    7. Step 06 - If Else Problem - Implementing with Nested If Else
    8. Programming Tip - CodingBat Dot Com
    9. Step 07 - Java Switch Statement - an introduction
    10. Step 08 - Java Switch Statement - Puzzles - Default, Break, and Fall Through
    11. Step 09 - Java Switch Statement - Exercises - isWeekDay, nameOfMonth, nameOfDay
    12. Step 10 - Java Ternary Operation - an Introduction
    13. Step 11 - Conditionals with Java – Conclusion
  10. Chapter 10 : Loops
    1. Step 00 - Java Loops - Section Introduction
    2. Step 01 - Java For Loop - Syntax and Puzzles
    3. Step 02 - Java For Loop - Exercises Overview and First Exercise Prime Numbers
    4. Step 03 - Java For Loop - Exercise - Sum Up to N Numbers and Sum of Divisors
    5. Step 04 - Java For Loop - Exercise - Print a Number Triangle
    6. Eclipse Tip - Templates - sysout, main, fore, ifelse
    7. Step 05 - While Loop in Java - an Introduction
    8. Step 06 - While Loop - Exercises - Cubes and Squares Up to Limit
    9. Step 07 - Do While Loop in Java - an Introduction
    10. Step 08 - Do While Loop in Java - an Example - Cube While User Enters Positive n
    11. Step 09 - Introduction to Break and Continue
    12. Step 10 - Selecting Loop in Java - For Versus While Versus Do While
  11. Chapter 11 : Reference Types
    1. Step 00 - Java Reference Types - Section Introduction
    2. Step 01 - Reference Types - How Are they Stored in Memory?
    3. Step 02 - Java Reference Types – Puzzles
    4. Step 03 - String Class - Introduction and Exercise - Print Each Word and Char On
    5. Step 04 - String Class - Exercise Solution and Some More Important Methods
    6. Step 05 - Understanding String Is Immutable and String Concat, Upper Case, Lower
    7. Step 06 - String Concatenation and Join, Replace Methods
    8. Step 07 - Java String Alternatives - StringBuffer and StringBuilder
    9. Step 08 - Java Wrapper Classes - an Introduction - Why and What?
    10. Step 09 - Java Wrapper Classes - Creation - Constructor and valueOf
    11. Step 10 - Java Wrapper Classes - Auto Boxing and a Few Wrapper Constants – SIZE
    12. Step 11 - Java Dates - Introduction to LocalDate, LocalTime, and LocalDateTime
    13. Step 12 - Java Dates - Exploring LocalDate - Creation and Methods to Play with D
    14. Step 13 - Java Dates - Exploring LocalDate - Comparing Dates and Creating Specif
    15. Eclipse Tip - Exploring Java API
    16. Step 14 - Java Reference Types – Conclusion
  12. Chapter 12 : Arrays and ArrayLists
    1. Step 00 - Introduction to Array and ArrayList - Section Introduction with a Challenge
    2. Step 01 - Understanding the Need and Basics about an Array
    3. Step 02 - Java Arrays - Creating and Accessing Values – Introduction
    4. Step 03 - Java Arrays - Puzzles - Arrays of Objects, Primitive Data Types, toStr
    5. Step 04 - Java Arrays - Compare, Sort, and Fill
    6. Step 05 - Java Arrays - Exercise - Create Student Class - Part 1 - Total and Ave
    7. Step 06 - Java Arrays - Exercise - Create Student Class - Part 2 - Maximum and Minimum
    8. Step 07 - Introduction to Variable Arguments – Need
    9. Step 08 - Introduction to Variable Arguments – Basics
    10. Step 09 - Introduction to Variable Arguments - Enhancing Student Class
    11. Step 10 - Java Arrays - Using Person Objects and String Elements with Exercises
    12. Eclipse Tip - Code Generation
    13. Step 11 - Java String Arrays - Exercise Solutions - Print Day of Week with Most
    14. Step 12 - Adding and Removing Marks - Problem with Arrays
    15. Step 13 - First Look at ArrayList - an Introduction
    16. Step 14 - First Look at ArrayList - Refactoring Student Class to Use ArrayList
    17. Step 15 - First Look at ArrayList - Enhancing Student Class with Add and Remove
    18. Step 16 - Array and ArrayList – Conclusion
  13. Chapter 13 : Object-Oriented Programming Again
    1. Step 00 – Object-Oriented Programming - Level 2 - Section Introduction
    2. Step 01 - Basics of Designing a Class - Class, Object, State, and Behavior
    3. Step 02 - OOP Example - Fan Class - Deciding State and Constructors
    4. Step 03 - OOP Example - Fan Class - Deciding Behavior with Methods
    5. Step 04 - OOP Exercise - Rectangle Class
    6. Step 05 - Understanding Object Composition with Customer Address Example
    7. Step 06 - Understanding Object Composition - an Exercise - Books and Reviews
    8. Step 07 - Understanding Inheritance - Why Do We Need It?
    9. Step 08 - Object Is at Top of Inheritance Hierarchy
    10. Step 09 - Inheritance and Overriding with toString() Method
    11. Step 10 - Java Inheritance - Exercise - Student and Employee Classes
    12. Step 11 - Java Inheritance - Default Constructors and super() Method Call
    13. Step 12 - Java Inheritance - Puzzles - Multiple Inheritance, Reference Variables
    14. Step 13 - Java Abstract Class – Introduction
    15. Step 14 - Java Abstract Class - First Example - Creating Recipes with Template M
    16. Step 15 - Java Abstract Class – Puzzles
    17. Step 16 - Java Interface - Example 1 - Gaming Console - How to Think about Intef
    18. Step 17 - Java Interface - Example 2 - Complex Algorithm - API Defined by extern
    19. Step 18 - Java Interface - Puzzles - Unimplemented methods, Abstract Classes, Values
    20. Step 19 - Java Interface Versus Abstract Class - a Comparison
    21. Step 20 - Java Interface Flyable and Abstract Class Animal - an Exercise
    22. Programming Tip - 97 Things Every Programmer Should Know
    23. Step 21 - Polymorphism - an Introduction
  14. Chapter 14 : Collections
    1. Step 01 - Java Collections - Section Overview with Need for Collections
    2. Step 02 - List Interface - Introduction - Position Is King
    3. Step 03 - List Interface - Immutability and Introduction of Implementations – Array
    4. Step 04 - List Interface Implementations - ArrayList Versus LinkedList
    5. Programming Tip - Teach Yourselves Programming in 10 Years
    6. Step 05 - List Interface Implementations - ArrayList Versus Vector
    7. Step 06 - List Interface - Methods to Add, Remove, and Change Elements and Lists
    8. Step 07 - List and ArrayList - Iterating Around Elements
    9. Step 08 - List and ArrayList - Choosing Iteration Approach for Printing and Delete
    10. Step 09 - List and ArrayList - Puzzles - Type Safety and Removing Integers
    11. Step 10 - List and ArrayList - Sorting - Introduction to Collections Sort Static
    12. Step 11 - List and ArrayList - Sorting - Implementing Comparable Interface
    13. Step 12 - List and ArrayList - Sorting - Providing Flexibility by Implementing Comparator
    14. Step 13 - List and ArrayList - a Summary
    15. Step 14 - Set Interface - Introduction - No Duplication
    16. Step 15 - Understanding Data Structures - Array, LinkedList, and Hashing
    17. Step 16 - Understanding Data Structures - Tree - Sorted Order
    18. Step 17 - Set Interface – Hands-On - HashSet, LinkedHashSet and TreeSet
    19. Step 18 - Set Interface - Exercise - Find Unique Characters in a List
    20. Step 19 - TreeSet - Methods from NavigableSet - floor, lower, upper, subSet, head
    21. Step 20 - Queue Interface - Process Elements in Order
    22. Step 21 - Introduction to PriorityQueue - Basic Methods and Customized Priority
    23. Step 22 - Map Interface - an Introduction - Key and Value
    24. Step 23 - Map Interface - Implementations - HashMap, HashTable, LinkedHashMap
    25. Step 24 - Map Interface - Basic Operations
    26. Step 25 - Map Interface - Comparison - HashMap Versus LinkedHashMap Versus TreeMap
    27. Step 26 - Map Interface - Exercise - Count Occurrences of Characters and Words
    28. Step 27 - TreeMap - Methods from NavigableMap - floorKey, higherKey, firstEntry
    29. Step 28 - Java Collections - Conclusion with Three Tips
  15. Chapter 15 : Generics
    1. Step 01 - Introduction to Generics - Why Do We Need Generics?
    2. Step 02 - Implementing Generics for the Custom List
    3. Step 03 - Extending Custom List with a Generic Return Method
    4. Step 04 - Generics Puzzles - Restrictions with Extends and Generic Methods
    5. Step 05 - Generics and WildCards - Upper Bound and Lower Bound
  16. Chapter 16 : Introduction to Functional Programming
    1. Step 01 - Introduction to Functional Programming - Functions Are First Class
    2. Step 02 - Functional Programming - First Example with Function as Parameter
    3. Step 03 - Functional Programming - Exercise - Loop a List of Numbers
    4. Step 04 - Functional Programming - Filtering - Exercises to Print Odd and Even n
    5. Step 05 - Functional Programming - Collect - Sum of Numbers in a List
    6. Step 06 - Functional Programming Versus Structural Programming - a Quick Comparison
    7. Step 07 - Functional Programming Terminology - Lambda Expression, Stream, and Operations
    8. Step 08 - Stream Intermediate Operations - Sort, Distinct, Filter, and Map
    9. Step 09 - Stream Intermediate Operations - Exercises - Squares of First 10, Map
    10. Step 10 - Stream Terminal Operations - 1 - Max Operation with Comparator
    11. Step 11 - Stream Terminal Operations - 2 - Min, Collect To List
    12. Step 12 - Optional Class in Java - an Introduction
    13. Step 13 - Behind the Screen with Functional Interfaces - Implement Predicate Int
    14. Step 14 - Behind the Screen with Functional Interfaces - Implement Consumer Int
    15. Step 15 - Behind the Screen with Functional Interfaces - Implement Function Int
    16. Step 16 - Simplify Functional Programming Code with Method References
    17. Step 17 - Functions Are First-Class Citizens
    18. Step 18 - Introduction to Functional Programming – Conclusion
  17. Chapter 17 : Introduction to Threads and Concurrency
    1. Step 01 - Introduction to Threads and Multi-Threading - Need for Threads
    2. Step 02 - Creating a Thread for Task 1 - Extending Thread Class
    3. Step 03 - Creating a Thread for Task 2 - Implement Runnable Interface
    4. Step 04 - Theory - States of a Thread
    5. Step 05 - Placing Priority Requests for Threads
    6. Step 06 - Communication between Threads - join Method
    7. Step 07 - Thread Utility Methods and Synchronized Keywords - Sleep, Yield
    8. Step 08 - Need for Controlling the Execution of Threads
    9. Step 09 - Introduction to Executor Service
    10. Step 10 - Executor Service - Customizing Number of Threads
    11. Step 11 - Executor Service - Returning a Future from Thread Using Callable
    12. Step 12 - Executor Service - Waiting for Completion of Multiple Tasks Using invokeAny
    13. Step 13 - Executor Service - Wait for Only the Fastest Task Using invokeAny
    14. Step 14 - Threads and Multi-Threading – Conclusion
  18. Chapter 18 : Introduction to Exception Handling
    1. Step 01 - Introduction to Exception Handling - Your Thought Process During Exception
    2. Step 02 - Basics of Exceptions - NullPointerException and StackTrace
    3. Step 03 - Basics of Handling Exceptions - try and catch
    4. Step 04 - Basics of Handling Exceptions - Exception Hierarchy, Matching, and Catch
    5. Step 05 - Basics of Handling Exceptions - Need for finally
    6. Step 06 - Basics of Handling Exceptions – Puzzles
    7. Step 07 - Checked Exceptions Versus Unchecked Exceptions - an Example
    8. Step 08 - Hierarchy of Errors and Exceptions - Checked and Runtime
    9. Step 09 - Throwing an Exception - Currencies Do Not Match Runtime Exception
    10. Step 10 - Throwing a Checked Exception - Throws in Method Signature and Handling
    11. Step 11 - Throwing a Custom Exception – CurrenciesDoNotMatchException
    12. Step 12 - Write Less Code with Try with Resources - New Feature in Java 7
    13. Step 13 - Basics of Handling Exceptions - Puzzles 2
    14. Step 14 - Exception Handling - Conclusion with Best Practices
    15. Eclipse Tip – Ctrl or Cmd + 1
  19. Chapter 19 : Files and Directories
    1. Step 01 - List Files and Folders in Directory with Files List Method
    2. Step 02 - Recursively List and Filter All Files and Folders in Directory
    3. Step 03 - Read Content from a File - Files readAllLines and Lines Methods
    4. Step 04 - Writing Content to a File - Files Write Method
    5. Step 05 - Files – Conclusion
  20. Chapter 20 : More Concurrency with Concurrent Collections and Atomic Operations
    1. Step 01 - Getting Started with Synchronized
    2. Step 02 - Problem with Synchronized - Less Concurrency
    3. Step 03 - Enter Locks with ReEntrantLock
    4. Step 04 - Introduction to Atomic Classes – AtomicInteger
    5. Step 05 - Need for ConcurrentMap
    6. Step 06 - Implementing an Example with ConcurrentHashMap
    7. Step 07 - ConcurrentHashMap Uses Different Locks for Different Regions
    8. Step 08 - CopyOnWrite Concurrent Collections - When Reads Are More Than Writes
    9. Step 09 – Conclusion
  21. Chapter 21 : Java Tips
    1. Java Tip 01 - Imports and Static Imports
    2. Java Tip 02 – Blocks
    3. Java Tip 03 - Equals Method
    4. Java Tip 04 - hashcode Method
    5. Java Tip 05 - Class Access Modifiers - Public and Default
    6. Java Tip 06 - Method Access Modifiers - Public, Protected, Private, and Default
    7. Java Tip 07 - Final Classes and Final Methods
    8. Java Tip 08 - Final Variables and Final Arguments
    9. Java Tip 09 - Why Do We Need Static Variables?
    10. Java Tip 09 - Why Do We Need Static Methods?
    11. Java Tip 10 - Static Methods Cannot Use Instance Methods or Variables
    12. Java Tip 11 - Public Static Final – Constants
    13. Java Tip 12 - Nested Classes - Inner Class Versus Static Nested Class
    14. Java Tip 13 - Anonymous Classes
    15. Java Tip 14 - Why Enum and Enum Basics - Ordinal and Values
    16. Java Tip 15 - Enum - Constructor, Variables, and Methods
    17. Java Tip 16 - Quick Look at Inbuilt Enums - Month, DayOfWeek
  22. Chapter 22 : New Course Additions – an Overview
    1. Step 00 - New Course Additions - an Overview
  23. Chapter 23 : Java New Features - Java 10 to Java 16
    1. Step 01 - Understanding Java Versions – 10,000 Feet Overview
    2. Step 02 - Understanding Java New Features - an Overview
    3. Step 03 - Getting Started with Java Modularization
    4. Step 04 - Java Modularization - 01 - Building Service and Consumer
    5. Step 05 - Java Modularization - 02 - Splitting Service and Consumer into JARs
    6. Step 06 - Java Modularization - 03 - Splitting Service and Consumer into Modules
    7. Step 07 - Java Modularization - 04 - a Quick Review
    8. Step 08 - Exploring New Java API - List Set and Map - copyOf Methods
    9. Step 09 - Exploring New Java API - Files - readString and writeString Methods
    10. Step 10 - Exploring New Java API - Predicate - not Method
    11. Step 11 - Exploring New Java API - String Utility Methods
    12. Step 12 - Exploring Java New Features - Local Variable Type Inference
    13. Step 13 - Exploring Java New Features - Switch Expression
    14. Step 14 - Exploring Java New Features - Text Blocks
    15. Step 15 - Exploring Java New Features - Records
  24. Chapter 24 : Getting Started with Java Spring Framework
    1. Step 01 - Understanding the Need for Java Spring Framework
    2. Step 02 - Getting Started with Java Spring Framework
    3. Step 03 - Creating a New Spring Framework Project with Maven and Java
    4. Step 04 - Getting Started with Java Gaming Application
    5. Step 05 - Understanding Loose Coupling and Tight Coupling
    6. Step 06 - Introducing Java Interface to Make App Loosely Coupled
    7. Step 07 - Bringing in Spring Framework to Make Java App Loosely Coupled
    8. Step 08 - Our First Java Spring Bean and Launching Java Spring Configuration
    9. Step 09 - Creating More Java Spring Beans in Spring Java Configuration File
    10. Step 10 - Implementing Auto Wiring in Spring Framework Java Configuration File
    11. Step 11 - Questions about Spring Framework - What Will We Learn?
    12. Step 12 - Understanding Spring IOC Container: Application Context and Bean Factory
    13. Step 13 - Exploring Java Bean Versus POJO Versus Spring Bean
    14. Step 14 - Spring Framework Bean Auto Wiring - Primary and Qualifier Annotations
    15. Step 15 - Using Spring Framework to Manage Beans for Java Gaming App
    16. Step 16 - More Questions about Java Spring Framework - What Will We Learn?
    17. Step 17 - Exploring Spring Framework with Java - Review
  25. Chapter 25 : Using Spring Framework to Create and Manage Your Java Objects
    1. Step 01 - Getting Spring Framework to Create and Manage Your Java Objects
    2. Step 02 - Exploring Primary and Qualifier Annotations for Spring Components
    3. Step 03 - Primary and Qualifier - Which Spring Annotation Should You Use?
    4. Step 04 - Exploring Spring Framework - Different Types of Dependency Injection
    5. Step 05 - Java Spring Framework - Understanding Important Terminology
    6. Step 06 - Java Spring Framework - Comparing @Component Versus @Bean
    7. Step 07 - Why Do We Have Dependencies in Java Spring Applications?
    8. Step 08 - Exercise: Solution for Real-World Java Spring Framework Example
    9. Step 09 - Exploring Spring Framework with Java - Review
  26. Chapter 26 : Exploring Spring Framework Advanced Features
    1. Step 01 - Exploring Lazy and Eager Initialization of Spring Framework Beans
    2. Step 02 - Comparing Lazy Initialization Versus Eager Initialization
    3. Step 03 - Exploring Java Spring Framework Bean Scopes - Prototype and Singleton
    4. Step 04 - Comparing Prototype Versus Singleton - Spring Framework Bean Scopes
    5. Step 05 - Exploring Spring Beans - PostConstruct and PreDestroy
    6. Step 06 - Evolution of Jakarta EE - Comparing with J2EE and Java EE
    7. Step 07 - Exploring Jakarta CDI with Spring Framework and Java
    8. Step 08 - Exploring Java Spring XML Configuration
    9. Step 09 - Java Annotations Versus XML Configuration for Java Spring Framework
    10. Step 10 - Exploring Spring Framework Stereotype Annotations - Component and more
    11. Step 11 - Quick Review - Important Spring Framework Annotations
    12. Step 12 - Quick Review - Important Spring Framework Concepts
    13. Step 13 - Exploring Spring Big Picture - Framework, Modules, and Projects
  27. Chapter 27 : Getting Started with Spring Boot
    1. Step 01 - Getting Started with Spring Boot – Goals
    2. Step 02 - Setting Up New Spring Boot Project with Spring Initializer
    3. Step 03 - Build a Hello World API with Spring Boot
    4. Step 04 - Understanding the World before Spring Boot – 10,000 Feet Overview
    5. Step 05 - Understanding Spring Boot Magic - Spring Boot Starter Projects
    6. Step 06 - Understanding Spring Boot Magic - Autoconfiguration
    7. Step 07 - Playing with Spring Boot
    8. Step 08 - Understanding Spring Boot Magic - Embedded Servers
    9. Step 09 - Exploring Spring Boot Actuator
    10. Step 10 - Exploring Spring Boot DevTools
    11. Step 11 - Understanding Spring Boot Versus Spring Versus Spring MVC
    12. Step 12 - Getting Started with Spring Boot - Review
  28. Chapter 28 : Simple REST API with Spring Boot and Spring Data JPA
    1. Step 01 - Getting Started - Simple REST API with Spring Boot and Spring Data JPA
    2. Step 02 - Integrating Spring Boot with Data JPA and In-Memory Database H2
    3. Step 03 - JDBC to Spring JDBC to JPA to Spring Data JPA – 10,000 Feet Overview
    4. Step 04 - Mapping Course Entity and Populating Data with Data Using SQL
    5. Step 05 - Creating Repository to Manage Entity and Integrating with GET REST API
    6. Step 06 - Understanding REST API – 10,000 Feet Overview
    7. Step 07 - Building REST API to Retrieve Details of a Course – GET
    8. Step 08 - Building REST API to Create a New Course – POST
    9. Step 09 - Building REST API to Update a Course – PUT
    10. Step 10 - Building REST API to Delete a Course – DELETE
    11. Step 11 - Optional Hands-On - Using Docker to Launch MySQL - an Overview
    12. Step 12 - Optional Hands-On - Installing Docker
    13. Step 13 - Optional Hands-On - Using Docker to Launch MySQL
  29. Chapter 29 : Congratulations
    1. Congratulations!
  30. Chapter 30 : Appendix - Troubleshooting Eclipse and Java
    1. Troubleshooting Eclipse - Configuring Java JDK
    2. Using Latest Java Version with Latest Eclipse
    3. Getting Eclipse 2021 03 Working with JDK 16

Product information

  • Title: Learn Java from Scratch - A Beginner's Guide
  • Author(s): In28Minutes Official
  • Release date: February 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781838556976