Java Masterclass 2025: 130+ Hours of Expert Lessons
All LevelsDevelopmentJava

Java Masterclass 2025: 130+ Hours of Expert Lessons

Gain real-world experience with OOP, coding exercises, and problem-solving for job-ready Java development skills

Created by Tim Buchalka, Tim Buchalka's Learn Programming Academy, Edwin Einsen Vásquez Velásquez, Igor Popovic
135 hours
Video Content
736
Lectures
919,154
Students
4.6
Rating
4.6
(919,154 students enrolled)

What you'll learn

Learn the core Java skills needed to apply for Java developer positions in just 14 hours.
Be able to sit for and pass the Oracle Java Certificate exam if you choose.
Be able to demonstrate your understanding of Java to future employers.
Learn industry "best practices" in Java software development from a professional Java developer who has worked in the language for close to 25 years.
Acquire essential java basics for transitioning to the Spring Framework, Java EE, Android development and more.
Obtain proficiency in Java 17, as well as older versions incluing Java 11 and Java 8.
Java 21 features coming soon!

Course Content

45 sections • 736 lectures • 135:21:41 total length

Getting Started with Java Programming

8 lectures • 09:57

Course Introduction: Your Journey to Becoming a Java Developer01:17
Course Remastered: All Lessons Updated to Java 17 with New Slides00:58
Maximizing Video Quality for Optimal Course Viewing Experience00:50
Enabling and Using Subtitles for Improved Course Comprehension00:59
Getting Help: Using the Q&A Section for Java Programming Support01:17
+3 more lectures

Java Development Environment Setup

6 lectures • 21:16

Essential Software Tools for Java Development: JDK 17 and IntelliJ IDEA01:18
IntelliJ IDEA Ultimate Edition: Six-Month Free Trial for Course Students01:29
Step-by-Step Guide to Installing JDK 17 on Windows 10 and Windows 1103:01
Installing JDK 17 on macOS: A Comprehensive Guide for Intel and M1/M2 Macs02:38
Installing OpenJDK 17 on Ubuntu Linux: A Step-by-Step Terminal Guide02:06
+1 more lectures

First Steps in Java Programming

13 lectures • 02:35:54

Your First Java Program: Displaying "Hello World" and Basic Error Handling09:35
Introduction to Variables, Keywords, and the Integer (int) Data Type16:05
Using Variables in Java Expressions: A Comprehensive Introduction09:26
Exploring Java Primitive Types: Integer Ranges and Wrapper Classes16:45
Understanding Byte, Short, and Long Data Types and Their Width in Java12:38
+8 more lectures

Transitioning from JShell to IntelliJ IDEA: A Comprehensive IDE Guide

13 lectures • 01:20:05

Embracing the Power of an Integrated Development Environment02:27
Step-by-Step IntelliJ IDEA Community Edition Installation Guide for Windows02:37
Comprehensive IntelliJ IDEA Community Edition Setup Instructions for macOS02:45
Installing IntelliJ IDEA Community Edition on Linux: A Step-by-Step Tutorial02:24
Configuring IntelliJ IDEA for Optimal Java Development (Windows, Mac, Linux)06:29
+8 more lectures

Mastering Java Expressions, Statements, Code Blocks, And Method Overloading

15 lectures • 02:23:08

Introduction To The Fundamentals Of Java Workflow00:31
Exploring Java Keywords And Understanding Expressions09:15
Mastering Java Statements, Whitespace, And Code Organization09:19
Harnessing Code Blocks And The If-Then-Else Statement In Java09:00
Practical If-Then-Else Challenge For Java Flow Control10:09
+22 more lectures

Mastering Conditional Logic, Loops, And Interactive Java Applications

20 lectures • 03:10:00

Introduction To The Foundations Of Program Flow In Java00:53
Exploring The Traditional And Enhanced Switch Statements10:33
Delving Deeper Into Advanced Switch Statement Features12:42
Traditional Switch Statement Challenge And Practical Exercises05:46
Embracing Switch Expressions With A Hands-On Coding Challenge08:49
+32 more lectures

Mastering Java OOP: Classes & Inheritance

25 lectures • 03:53:04

Welcome to Java OOP Inheritance00:47
Deep Dive into Classes and Objects12:32
Getters, Encapsulation, and Object Access08:54
Setters, Object Creation, and OOP Practice11:37
Classes Challenge: Building a Bank Account08:58
+28 more lectures

Advanced OOP Techniques: Composition, Encapsulation, and Polymorphism in Action

17 lectures • 02:35:48

Embarking on OOP Part 2: Composition, Encapsulation, and Polymorphism Essentials00:38
Building a Computer with Composition: Understanding Has-A vs. Is-A in Java09:34
Assembling a Personal Computer: Real-World Composition and Object Management11:00
Hands-On Smart Kitchen Challenge: Modeling IoT Appliances with Composition09:45
Bedroom Composition Exercise: Creating Classes for Lamp, Bed, and Wall1 question
+15 more lectures

Advanced Arrays in Java: Single & Multi-Dimensional Techniques

13 lectures • 01:42:36

Arrays Introduction: Handling Multiple Values Efficiently in Java01:07
Declaring, Initializing, and Accessing Arrays: Foundational Principles11:09
Populating, Looping, and Searching: Deeper into Java Arrays10:37
Sorting, Filling, and Copying: Mastering the java.util.Arrays Helper Class08:36
Binary Search & Equality Checks: Speedy Lookups and Comparisons in Arrays06:17
+11 more lectures

Mastering Lists, Iterators, and Autoboxing: ArrayList, LinkedList & Enums

18 lectures • 02:36:43

Introduction to Java Collections: Beyond Basic Arrays01:16
Meet the List Interface & ArrayList (Part 1)10:08
ArrayList Methods (Part 2): Add, Remove, and More09:38
ArrayList Methods (Part 3): Sorting, Copying & Searching08:23
Arrays vs. ArrayLists: A Practical Comparison10:37
+16 more lectures

Mastering Abstraction & Interfaces: Expand Polymorphism & Java Hierarchies

15 lectures • 02:01:28

Abstraction & Generalization: Less Code, More Extensibility00:35
Exploring Abstract & Interface Modifiers: Real-World Modeling in Java04:18
Diving into Abstract Classes (Part 1): Creating Flexible Hierarchies08:53
Diving into Abstract Classes (Part 2): Polymorphic Behavior & Implementation06:43
Diving into Abstract Classes (Part 3): Advanced Hierarchies & Use Cases09:15
+12 more lectures

Deep Dive into Java Generics: Bounds, Comparators & Advanced Techniques

12 lectures • 01:56:45

Generics Overview: Why Type Parameters & Where They Excel00:53
Creating Your First Generic Class: From Basics to Implementation08:48
Refining Generic Classes: Polymorphism & Type Safety11:33
Advanced Generics: Multiple Type Parameters & Bounded Types11:01
Generic Class Challenge (Part 1): Building Reusable Structures10:21
+7 more lectures

Exploring Nested Classes, Local Types & Anonymous Classes

8 lectures • 01:06:48

Understanding Nested Classes: Overview & Types01:46
Static Nested Classes: Encapsulation & Access Rules07:45
Inner Classes: Non-Static Nesting & Syntax07:48
Applying Inner Classes: Bill’s Burger Revisited08:27
Inner Classes Challenge: Practical Enhancements11:55
+4 more lectures

Mastering Java Lambdas: Expressions, Interfaces, and Method References

13 lectures • 02:16:08

Introduction to Lambda Expressions: Revolutionizing Java Code with Conciseness01:42
Deep Dive into Lambda Expressions and Functional Interfaces: Practical Examples12:07
Exploring Lambda Expression Syntax: Variations, Rules, and Advanced Examples10:53
Custom Functional Interfaces: Building Reusable Lambda Expressions in Java11:42
Exploring Java's Built-In Functional Interfaces: Consumer and Predicate12:17
+8 more lectures

Mastering Java Collections: Framework, Lists, Sets, and Maps

29 lectures • 05:34:32

Java Collections Framework: An In-Depth Introduction for Beginners00:50
Deep Dive into Java Collections: Core Interfaces and Big Picture11:02
Creating a Versatile Deck of Cards in Java: Code Setup & Best Practices11:53
Exploring java.util.Collections: Essential Methods and List Operations11:35
Advanced java.util.Collections: Shuffle, Reverse, Sort, indexOfSubList08:40
+24 more lectures

Mastering Mutability, Immutability and Final Keyword in Java OOP

22 lectures • 03:59:29

Mutable vs Immutable Objects in Java: Advantages, Disadvantages, and Design02:30
Deep Dive into the Final Modifier: Methods, Fields, Classes, Variables11:19
Final Modifier: Static Methods, Hiding vs. Overriding, Final Variables12:13
Understanding Side Effects of Mutability: Defensive Coding Techniques13:19
Designing Immutable Classes: Private Final Fields, Defensive Copies - Part 112:31
+17 more lectures

Comprehensive Java Streams: Operations, Pipelines, and Sources

20 lectures • 03:25:26

Understanding Java Streams: Core Concepts and Key Differences from Collections04:40
Practical Java Stream Example: Manipulating and Transforming Bingo Ball Data08:09
Deep Dive into Java Stream Pipelines: Sources, Intermediate, and Terminal Ops08:15
Exploring Java Stream Sources: Collections, Arrays, and Infinite Data Streams15:24
Challenge: Mastering Stream Sources and Data Concatenation in Java11:52
+15 more lectures

Java Core Fundamentals: Math, Randomization, BigDecimal, and Date/Time

18 lectures • 03:10:31

Revisiting Essential Java Core API Functionalities: Math and java.time00:58
Mastering the Java Math Class: Preventing Overflow and Underflow Errors08:19
Comprehensive Guide to Random Number Generation: Math.random and Random13:24
Java Dice Rolling Game: Implementing Randomization and User Input Challenge09:05
Advanced Dice Game: Implementing Scoring and Game Logic with Java Enums14:29
+13 more lectures

Regular Expressions in Java: Mastering Pattern Matching and Text Manipulation

10 lectures • 01:33:17

Introduction to Regular Expressions: Practical Uses and Applications in Java01:30
Demystifying Regular Expressions: Understanding Syntax, Usage, and Benefits08:35
Decoding Regular Expressions: Literals, Character Classes, Quantifiers, Anchors12:10
Using Regular Expressions with String and Scanner: split(), replaceAll(), etc.07:40
Regular Expression Challenges: Applying Concepts through Practical Exercises08:56
+5 more lectures

Comprehensive Java Input/Output (I/O) and File Operations

25 lectures • 04:52:13

Java I/O Fundamentals: Resources, Operations, and Exception Handling Intro04:19
Mastering Java Exceptions: Checked vs. Unchecked, Finally, and Best Practices12:09
Efficient Resource Management: Mastering Try-with-Resources in Java I/O11:00
Java I/O Essentials: File, Path, Files, and Paths - A Practical Guide12:58
Practical File Operations in Java: Create, Delete, Write with File/Path11:48
+20 more lectures

Mastering Java Concurrency and Multithreading

30 lectures • 05:30:36

Understanding Processes and Threads in Java: An Introductory Overview05:24
Deep Dive into Java Thread States and Concurrent Thread Execution10:08
Implementing Multithreading: Concurrent Thread Creation Best Practices10:25
Managing and Manipulating Running Threads in Java: Sleep and Interrupt14:34
Applying Thread Concepts: Build a Multi-Threaded Application in Java05:20
+25 more lectures

Mastering Java Database Connectivity: Interactions, Queries, and Frameworks

30 lectures • 06:37:47

Introduction to Java Database Connectivity (JDBC) and Relational Databases04:32
Step-by-Step MySQL Server and Workbench Installation Guide for Windows OS21:47
Installing MySQL Server & Workbench: A Comprehensive Guide for Mac Users13:30
Installing MySQL Server and Workbench on Linux: A Step-by-Step Guide12:10
Understanding Databases: RDBMS, Schema, Tables, SQL, DDL, and DML Explained09:35
+25 more lectures

Mastering Java Network Programming: Sockets, NIO, and Modern Frameworks

26 lectures • 04:36:52

Java Networking Fundamentals: Internet, Networks, and Core Java API Overview02:13
Essential Network Terminology: Hosts, Client-Server, Protocols, Ports & IP12:39
Building a Basic Java Client-Server Application with ServerSocket (TCP/IP)13:17
Enhancing Server Scalability: Implementing a Multi-Threaded Java Server08:29
Comparing ServerSocket and ServerSocketChannel: Blocking vs. Non-Blocking IO09:42
+21 more lectures

Debugging and Testing in Java: A Comprehensive Guide

11 lectures • 02:45:32

Mastering the IntelliJ Debugger: A Practical Introduction17:57
Advanced Debugging Techniques: Stepping, Watches & Control11:24
Field Watchpoints, Debugging: Track Variable Changes16:14
Mastering Smart Step Into, Set Value & Third-Party Source10:14
Mastering Unit Testing Essentials & JUnit Framework in Java16:20
+6 more lectures

Comprehensive JavaFX UI Design

46 lectures • 10:05:51

Configuring JavaFX with JDK 11+: Setting Up Global Libraries05:05
Step-by-Step Guide to Creating Your First JavaFX Application06:00
JavaFX Fundamentals: MVC, Application Lifecycle, and Stages09:48
Building a JavaFX "Hello World" Program: FXML vs. Code10:55
Mastering JavaFX GridPane Layout: Positioning and Sizing Controls15:34
+41 more lectures

Deep Dive into the Java 9 Module System: JPMS Fundamentals

3 lectures • 14:08

Comprehensive Introduction to Java Modules: Concepts, Goals, and Structure06:21
Mastering Java Module Declarations and Statements: Requires, Exports, and Opens02:08
Exploring Java Module Types: Named, Unnamed, Automatic, Open, and Aggregator05:39

Migrating Existing Java Projects to Java 9 and the Module System

7 lectures • 01:04:58

Project Setup and Initial JDK 8 & 9 Compatibility Testing for Migration07:23
Strategically Structuring a Java Project for Modularization in JDK 904:01
Creating the First Module (Common): Package Migration and Dependency Resolution12:04
Module Descriptor File Creation and Resolution of JavaFX Runtime Errors13:25
Creating the Second Module (Database): Dependency Management and Code Migration10:44
+2 more lectures

Course Introduction - Old content for Java 11

6 lectures • 16:39

Introduction To The Course02:27
Remaster in Progress03:09
Video Quality01:16
Subtitles02:46
How to Get Help04:54
+1 more lectures

Software Tools Setup - Old content for Java 11

12 lectures • 36:38

Biggest Tip to Succeed as a Java Programmer01:15
The Four Stages of Becoming a Programmer00:42
Software Tools Introduction01:12
Java Development Kit Installation Overview01:42
Install JDK 11 for Windows02:47
+7 more lectures

First Steps - Old content for Java 11

24 lectures • 02:47:28

Introduction01:18
Hello World Project06:36
Defining the Main Method07:20
Hello World Challenge and Common Errors03:18
Variables09:03
+19 more lectures

Java Tutorial: Expressions, Statements, and More - Old content for Java 11

19 lectures • 03:23:03

Introduction00:31
Keywords And Expressions07:18
Statements, Whitespace and Indentation (Code Organization)09:24
Code Blocks And The If Then Else Control Statements17:08
if then else Recap04:19
+14 more lectures

Control Flow Statements - Old content for Java 11

14 lectures • 02:56:54

Introduction00:38
The switch statement (+Challenge Exercise)18:39
Day of the Week Challenge10:47
The for Statement (+Challenge Exercise)25:02
For Loop Recap07:59
+9 more lectures

Arrays, Java inbuilt Lists, Autoboxing and Unboxing - Old content for Java 11

24 lectures • 05:48:47

Arrays21:27
Arrays (Challenge Exercise)16:20
Arrays Recap07:19
References Types vs Value Types16:13
Minimum Element Challenge11:51
+19 more lectures

Inner and Abstract Classes & Interfaces - Old content for Java 11

13 lectures • 03:02:56

Interfaces12:34
Interfaces Part 214:30
Interfaces Challenge Part 118:11
Interfaces Challenge Part 209:00
Inner classes Part 117:10
+8 more lectures

Java Generics - Old content for Java 11

5 lectures • 01:05:07

Generics Introduction11:12
Our Generics Class11:37
Our Generics Class Part 218:57
Our Generics Class Part 310:13
Generics Challenge13:08

Lambda Expressions - Old content for Java 11

10 lectures • 02:22:39

Lambda Expressions Introduction15:32
Lambda Expressions Continued14:50
Lambda Expressions Nested Blocks14:45
Scope and Functional Programming15:02
Functional Interfaces & Predicates16:37
+5 more lectures

Streams - Old content for Java 11

3 lectures • 48:26

Streams13:50
Streams - Intermediate and Terminal Operations13:06
Streams - Flatmap & Lambda Best Practices21:30

Naming Conventions and Packages. static and final - Old content for Java 11

12 lectures • 02:31:28

Naming Conventions07:09
Packages17:40
Packages Part 211:40
Packages Part 312:05
Packages (Challenge Exercise)13:28
+7 more lectures

Java Collections - Old content for Java 11

27 lectures • 06:36:08

Collections Overview15:47
Binary Search15:39
Collections List Methods18:23
Comparable and Comparator18:55
Maps16:51
+23 more lectures

Basic Input & Output including java.util - Old content for Java 11

38 lectures • 08:21:36

Exceptions14:00
Stack Trace and Call Stack13:04
Catching and throwing Exceptions14:20
Multi Catch Exceptions08:06
Introduction to I/O15:55
+33 more lectures

Regular Expressions - Old content for Java 11

8 lectures • 01:54:14

Regular Expressions Introduction16:21
Character classes and Boundary Matchers13:55
Quantifiers and the Pattern and Matcher classes14:42
Matcher find and Group Methods15:03
And, Or & Not15:26
+3 more lectures

Databases - Old content for Java 11

35 lectures • 07:40:05

Section Introduction01:55
Database Terminology10:32
Install and Setup SQLite for Windows07:56
Install and Setup SQLite for Mac02:00
Install and Setup SQLite for Linux02:38
+30 more lectures

Java Networking Programming - Old content for Java 11

9 lectures • 02:23:48

Networking Overview09:39
First Client and Server Apps15:02
Multi Threaded Server14:04
Multi-Threading and Timeouts12:46
UDP Server and Client18:13
+4 more lectures

Archived Videos

2 lectures • 30:58

Old JavaFX Introduction Video for JDK 817:31
Old JavaFX Code Vs FXml Video for JDK 813:27

Extra Information - Source code, and other stuff

2 lectures • 33:54

Source code for all Programs28:53
Bonus Lecture and Information05:01

Description

Step into the world of programming with our Java Programming Masterclass, meticulously updated for 2024. Since its inception in 2016, this course has evolved continuously, ensuring you receive the latest and most relevant Java education. Purchase once and gain access to a lifetime of updates without any additional cost.

Join an expansive community of over 832,000 students who have chosen my in-depth Java programming course for its thorough and detailed curriculum. Like Benhur G., who appreciates that "all lessons helpful in your Java Programming journey are included," you'll find our course suitable for all levels of expertise.

Whether you're aiming to:

  • Secure your first Java programming job

  • Advance to a senior software developer role

  • Prepare for the Oracle Java certification exam

  • Develop your own Java applications

Our Java Masterclass is your comprehensive resource for achieving these goals and more.

Why Java?

Its enduring presence in the tech world is unmatched, making it a wise choice for both budding and experienced programmers. Its popularity, as evidenced by Java's top 3 ranking in language use worldwide, promises abundant career opportunities.

Our course is designed to provide a real-world perspective on programming. As Pallala gowtham R. notes, "Tim's emphasis on coding over theory is exceptional," enabling you to build practical coding skills that are rare to find alongside theoretical knowledge.

Bemnet Bekele B. finds the course "very good" and appreciates that "every topic is explained in detail," making it accessible for beginners. Similarly, Suyash praises the "detailed explanation of JAVA language," highlighting the instructor’s dedication to ensuring students grasp each concept through repetition and clarity.

This Masterclass isn’t just about quantity but quality. With over 100 hours of content, the course is structured to facilitate learning at your own pace. Devansh R. finds the course "very helpful," noting that even with intermediate Java knowledge, there were many new things to learn.

The course is curated to give you a solid grounding in Java essentials in just the first 14 hours. Bhuvanendra's experience is a testament to this: "After completing the first 8 sections, I can see myself improved a lot in the way I write code."

With Java 17 as the focal point, you're learning a version with long-term support and current industry relevance. Moreover, as new versions like Java 21 emerge, this course will adapt, providing you with the most contemporary and robust Java education available.

Choose this course for its bestseller status and join a thriving learning community backed by exceptional reviews. My commitment to quality and continuous improvement means you receive an education that’s both current and comprehensive.

You're not just enrolling in a course; you're gaining a partner in your learning journey. With support to address your questions from myself, teaching assistants, and the community, and regular updates to the content, you'll never feel stuck.

Take the leap today with our 30-day, full money-back guarantee. Whether you seek to develop remarkable programs or embark on a transformative career, you have everything to gain.

Enroll now and become part of a legacy of success. Your Java journey begins here.

Who this course is for:

  • New coders seeking to start a career in tech with foundational Java skills.
  • Software devs aiming to update their Java knowledge to the latest version.
  • Professionals targeting the Oracle Java Certification for career growth.
  • Self-taught programmers looking to formalize and deepen their Java expertise.
  • Tech enthusiasts interested in building Java applications for personal or professional use.

This course includes:

  • 135 hours on-demand video
  • 4 articles
  • 361 downloadable resources
  • Access on mobile and TV
  • Full lifetime access
  • Certificate of completion

Instructors

Tim Buchalka

Tim Buchalka's Learn Programming Academy

Edwin Einsen Vásquez Velásquez

Igor Popovic

Students also download

Explore related courses to expand your learning journey.