Don't want to get left behind? Learn to build with A.I. now 🤖
Back to courses

Java Programming Bootcamp: Zero to Mastery

Learn Java from scratch with an industry expert. You'll learn Java programming fundamentals all the way to advanced skills and reinforce your learning with over 80 exercises and 18 quizzes. The only course you need to go from complete programming beginner to being able to get hired as a Backend Developer in 2024!

30 Days

Average time students take to complete this course.

Last updated: April 2024

Course overview

We guarantee you that this is the most comprehensive and up-to-date Java bootcamp course. You will learn Java coding from scratch, solidify your knowledge with exercises, build fun projects, and gain the skills you need to get hired as a Java Developer in 2024!

What you'll learn

  • Learn Java SE syntax and concepts such as object-oriented programming, exception handling, file I/O, functional programming and more
  • Learn to write clean, bug-free Java code using best practices
  • Master Java programming from fundamentals all the way to advanced skills
  • Learn one of the best, most widely-used programming languages
  • Practice your skills with 80+ exercises (with solutions)
  • Put your knowledge to the test with 18+ quizzes
  • Build fun games like Wordle, Hangman, Tic Tac Toe, and Trivial Pursuit
  • Have the skills and understanding of Java to confidently apply for Java programming jobs

This Java bootcamp course covers everything you need to become a Backend Developer in 2024 and is focused on efficiency.

That means you'll never have to spend time on confusing, out-of-date, incomplete tutorials anymore (don't worry, we've all been there...).

Instead, we'll teach you the fundamentals but then quickly push you beyond the basics and your comfort zone so that you can build professional, modern backends for applications on your own.

The success stories speak for themselves.

Graduates of Zero To Mastery are now working at Google, Tesla, Amazon, Apple, IBM, Uber, Facebook, Shopify + other top tech companies. They are also working as top freelancers getting paid while working remotely around the world.

This can be you.

By enrolling today, you’ll also get to join our exclusive live online community classroom to learn alongside thousands of students, alumni, mentors, TAs and Instructors.

Most importantly, you will learn from a senior industry professional that has actual real-world experience working with Java.

What's So Great About Java?

Java is one of the most widely-used programming languages in the world. Why? Because it's a multipurpose object oriented programming language used for developing a wide range of different applications such as web, mobile, and desktop. One of its most famous features is that it’s platform independent.

Don't know what that all means or why that matters to you?

Fair enough. Let's condense it into this equation instead:

Beloved programming language + widely used by companies = great job prospects

In fact, there are 76,000+ job postings on ZipRecruiter listed for Java Developers.

Plus Java is a high-level programming language, meaning that the syntax is easier to read than other low-level languages making it a great programming language for complete beginners to learn.

But that being said, Java isn't quite as easy to learn as other beginner-friendly languages like Python or Javascript.

Thanks to its semi-complexity though, it does mean that there are a lot of job opportunities for people who know this language.

So if you are looking for something:

  1. That's easy(ish) to learn
  2. With lots of job demand
  3. And can provide generous compensation

Then it's time to learn Java!

Here's what this Java Bootcamp course covers:

This course, like all Zero To Mastery courses, is constantly being updated.

As the Java ecosystem evolves, this course evolves with it with brand new lectures and resources. This will be your go-to place to find the latest Java best practices and resources anytime in the future.

Important Note: every section comes with step-by-step exercises and solutions. So even if you don’t like to code along, you'll be able to put your skills to the test and reinforce your understanding of the concepts so that you'll have an incredible foundation for your Java career.

Here's a breakdown of what's taught in this Java course:

1. WELCOME TO JAVA - Get introduced to Java, understand its importance, and learn about the course, your instructor, and technical environment setup.

2. JAVA APPLICATION STRUCTURE - Be able to work with classes, objects, packages, and class members, and practice structuring a Java application with a football tournament exercise.

3. JAVA VARIABLES AND ARRAYS - Apply Java primitives, strings, arrays, operations, and casting, with exercises to apply these concepts.

4. JAVA PRIMITIVES VS. OBJECTS - Understand the difference between primitives and objects, stack and heap, and pass by value vs pass by reference.

5. JAVA CONTROL FLOW - Master control flow structures like if, switch, while, do-while, for, and for-each loops.

6. WRITING AND USING JAVA METHODS - Be able to create methods, use input parameters, return types, and invoke methods.

7. ACCESS MODIFIERS AND STATIC - Understand access modifiers (public, protected, default, private) and the static modifier.

8. JAVA STRINGS AND STRINGBUILDER - Explore the String class, immutability, comparing strings, and StringBuilder.

9. WORKING WITH DATES AND TIMES - Learn about LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Duration, Period, and formatting dates.

10. JAVA OBJECT-ORIENTED PROGRAMMING (OOP) - Understand object-oriented programming, its three pillars, and apply inheritance to various classes.

11. INTERMEDIATE JAVA: CONSTRUCTORS - Learn about constructors, default and custom constructors, super() and this(), and constructors in inheritance.

12. INTERMEDIATE JAVA: ENUMS - Understand enums, basic enums, enums with fields, and their inner workings, with exercises to practice the concepts.

13. INTERMEDIATE JAVA: INTERFACES AND ABSTRACT CLASSES - Know how to deal with interfaces, abstract classes, and more.

14. INTERMEDIATE JAVA: COLLECTIONS AND GENERICS - Master generics, collection frameworks (List, Set, Queue, Map), and create a class with a type parameter.

15. INTERMEDIATE JAVA: EXCEPTIONS - Learn about exceptions, throwing exceptions, handling exceptions, and custom exceptions.

16. INTERMEDIATE JAVA: READING AND WRITING FILES - Know how to apply reading and writing to files using FileReader and FileWriter.

17. ADVANCED JAVA: LAMBDA EXPRESSIONS AND FUNCTIONAL INTERFACES - Use functional interfaces, lambda expressions, and built-in functional interfaces.

18. ADVANCED JAVA: FUNCTIONAL PROGRAMMING - Understand method references, the Stream API, and using the Stream API with lambdas.

19. ADVANCED JAVA: THE JAVA MEMORY CONCEPTS - This is my (Maaike) favorite topic!. In this section you'll learn to understand Java memory concepts like heap, stack, metaspace, and garbage collection.

20. ADVANCED JAVA: CONCURRENCY - Get started with multithreading, creating and managing threads.

What's the bottom line?

This course is not about making you just code along without understanding the principles so that when you're done with the course you don’t know what to do other than watch another Java tutorial. No!

This course will push you and challenge you to go from complete beginner to someone that is in the top 10% of Java programmers 💪.

And you have nothing to lose. You can start learning right now and if this course isn't everything you expected, we'll refund you 100% within 30 days. No hassles and no questions asked.

When's the best time to get started? Today!

There's never a bad time to learn in-demand skills. But the sooner, the better. So start learning Java SE programming today by joining the ZTM Academy. You'll have a clear roadmap to developing the skills to build your own projects, get hired, and advance your career.

Join Zero To Mastery Now

Course curriculum

To make sure this course is a good fit for you, you can start learning Java for free right now by clicking any of the PREVIEW links below.

Introduction

5 lectures

Java Programming Bootcamp: Zero to Mastery2:11

PREVIEW

Exercise: Meet Your Classmates and Instructor

PREVIEW

Understanding Your Video Player (notes, video speed, subtitles + more)

PREVIEW

Course Code & Resources

PREVIEW

Set Your Learning Streak Goal

PREVIEW

Welcome to Java (the language)!

8 lectures

What is Java?4:16

PREVIEW

When Do We Need Java? Backend vs. Frontend3:11

PREVIEW

Time To Get Your Hands Dirty - Your First Java Program4:50

PREVIEW

Mac Users: Development Environment Setup

BEGIN

Windows Users: Development Environment Setup

BEGIN

Linux Users: Development Environment Setup

BEGIN

Other Users: Development Environment Setup

BEGIN

Java Application Structure

7 lectures

Creating Classes6:40

BEGIN

Using Classes to Create Objects3:31

BEGIN

Structuring the Application with Packages5:31

BEGIN

Adding Class Members to Classes7:06

BEGIN

Understanding the Application Structure1:48

BEGIN

Quiz

BEGIN

Let's Have Some Fun (+ Free Resources)

BEGIN

Exercises: Packages and Classes

9 lectures

A Note on Exercises

BEGIN

Exercise: Basic Bank Account

BEGIN

Solution: Basic Bank Account

BEGIN

Exercise: Product Inventory

BEGIN

Solution: Product Inventory

BEGIN

Exercise: University Application

BEGIN

Solution: University Application

BEGIN

Exercise: Football Tournament

BEGIN

Solution: Football Tournament

BEGIN

Working with Variables and Arrays

16 lectures

Understanding Variables2:30

BEGIN

Working with Variables in Java2:34

BEGIN

Working with Primitives5:53

BEGIN

Sizes of Primitives2:43

BEGIN

Performing Operations with Operators1:30

BEGIN

Arithmetic Operators4:30

BEGIN

Assignment Operators2:07

BEGIN

Unary Operators4:21

BEGIN

Relational Operators2:12

BEGIN

Storing Text Variables in Strings7:15

BEGIN

Understanding Casting2:43

BEGIN

Casting in Java5:08

BEGIN

Storing Multiple Values in One Variable3:22

BEGIN

Working with Arrays2:04

BEGIN

Quiz

BEGIN

Unlimited Updates

BEGIN

Exercises: Primitives, Arrays and Casting

18 lectures

Exercise: Assign and Print Integer Values

BEGIN

Solution: Assign and Print Integer Values

BEGIN

Exercise: Add Two Floating-Point Numbers

BEGIN

Solution: Add Two Floating-Point Numbers

BEGIN

Exercise: Concatenate Two Strings

BEGIN

Solution: Concatenate Two Strings

BEGIN

Exercise: Initialize and Print an Integer Array

BEGIN

Solution: Initialize and Print an Integer Array

BEGIN

Exercise: Multiply Two Integer Variables

BEGIN

Solution: Multiply Two Integer Variables

BEGIN

Exercise: Find the Length of a String

BEGIN

Solution: Find the Length of a String

BEGIN

Exercise: Initialize and Print a String Array

BEGIN

Solution: Initialize and Print a String Array

BEGIN

Exercise: Divide Two Double Variables

BEGIN

Solution: Divide Two Double Variables

BEGIN

Exercise: Cast a Double to an Int

BEGIN

Solution: Case a Double to an Int

BEGIN

Primitives vs. Objects

7 lectures

Primitives vs. Objects3:51

BEGIN

Objects Containing Primitives1:09

BEGIN

Objects Containing Objects2:23

BEGIN

Understanding the Stack and Heap4:47

BEGIN

The Meaning of Pass by Value4:58

BEGIN

Quiz

BEGIN

Implement a New Life System

BEGIN

Exercises: Objects

10 lectures

Exercise: Create a Simple Object with Primitives

BEGIN

Solution: Create a Simple Object with Primitives

BEGIN

Exercise: Create an Object Containing Other Objects

BEGIN

Solution: Create an Object Containing Other Objects

BEGIN

Exercise: Predict the Output of the Code

BEGIN

Solution: Predict the Output of the Code

BEGIN

Exercise: Pass Primitive Data Type to a Method

BEGIN

Solution: Pass Primitive Data Type to a Method

BEGIN

Exercise: Pass Object to a Method

BEGIN

Solution: Pass Object to a Method

BEGIN

Control Flow

15 lectures

If Statement3:16

BEGIN

Demo: If Statement6:27

BEGIN

Switch Statement3:51

BEGIN

Demo: Switch Statement6:46

BEGIN

While Loop2:53

BEGIN

Demo: While Loop3:59

BEGIN

Do While Loop2:10

BEGIN

Demo: Do While Loop2:12

BEGIN

For Loop3:09

BEGIN

Demo: For Loop4:12

BEGIN

Foreach Loop1:58

BEGIN

Demo: Foreach Loop1:49

BEGIN

Controlling Loops with Break and Continue5:48

BEGIN

Quiz

BEGIN

Course Check-In

BEGIN

Exercises: Control Flow Statements

16 lectures

Exercise: Determine Entrance Ticket Price Using If Statement

BEGIN

Solution: Determine Entrance Ticket Price Using If Statement

BEGIN

Exercise: Comment on a Student's Grade Using Switch Statement

BEGIN

Solution: Comment on a Student's Grade Using Switch Statement

BEGIN

Exercise: Print All Values in an Array Using a For Loop

BEGIN

Solution: Print All Values in an Array Using a For Loop

BEGIN

Exercise: Print the First N Even Numbers Using a While Loop

BEGIN

Solution: Print the First N Even Numbers Using a While Loop

BEGIN

Exercise: Print a Sequence of Numbers Using a Do-While Loop

BEGIN

Solution: Print a Sequence of Numbers Using a Do-While Loop

BEGIN

Exercise: Calculate the Sum of an Array Using a For-Each Loop

BEGIN

Solution: Calculate the Sum of an Array Using a For-Each Loop

BEGIN

Exercise: Determine the Highest and Lowest Grades Using Control Flow Statements

BEGIN

Solution: Determine the Highest and Lowest Grades Using Control Flow Statements

BEGIN

Exercise: Find the Average of Odd Numbers in an Array Using Control Flow Statements

BEGIN

Solution: Find the Average of Odd Numbers in an Array Using Control Flow Statements

BEGIN

Writing & Using Methods in Java

6 lectures

The Syntax of a Basic Method2:36

BEGIN

Adding Input Parameters to Methods2:43

BEGIN

Adding the Return Type and the Return Statement2:19

BEGIN

Invoking Different Methods3:40

BEGIN

Quiz

BEGIN

Exercise: Imposter Syndrome2:55

BEGIN

Exercises: Methods

10 lectures

Exercise: Basic Method

BEGIN

Solution: Basic Method

BEGIN

Exercise: Method with Input Parameters

BEGIN

Solution: Method with Input Parameters

BEGIN

Exercise: Method with Return Type and Return Statement

BEGIN

Solution: Method with Return Type and Return Statement

BEGIN

Exercise: Invoking Methods from Another Class

BEGIN

Solution: Invoking Methods from Another Class

BEGIN

Exercise: Create a Method to Perform Several Calculations and Invoke It from Another Class

BEGIN

Solution: Create a Method to Perform Several Calculations and Invoke It from Another Class

BEGIN

Access Modifiers and Static

12 lectures

Understanding Access Modifiers2:06

BEGIN

Public Access Modifier1:42

BEGIN

Demo: Public2:14

BEGIN

Private Access Modifier3:06

BEGIN

Demo: Private2:17

BEGIN

Default Access (No Modifier)2:17

BEGIN

Demo: Default1:25

BEGIN

Protected Access Modifier1:54

BEGIN

Demo: Protected1:51

BEGIN

Static Modifier4:36

BEGIN

Demo: Static3:14

BEGIN

Quiz

BEGIN

Exercises: Access Modifiers and Static

6 lectures

Exercise: Access Modifiers - Public, Protected, Default, Private

BEGIN

Solution: Access Modifiers - Public, Protected, Default, Private

BEGIN

Exercise: Static Modifier

BEGIN

Solution: Static Modifier

BEGIN

Exercise: Fix the Problem

BEGIN

Solution: Fix the Problem

BEGIN

Working with Text Variables (String and StringBuilder)

6 lectures

String Class1:05

BEGIN

Methods on the String Class5:41

BEGIN

Understanding String Immutability6:19

BEGIN

Comparing Strings5:04

BEGIN

Working with StringBuilder4:41

BEGIN

Quiz

BEGIN

Exercises: String and StringBuilder

10 lectures

Exercise: String Class

BEGIN

Solution: String Class

BEGIN

Exercise: Methods on the String Class

BEGIN

Solution: Methods on the String Class

BEGIN

Exercise: Immutability of Strings

BEGIN

Solution: Immutability of Strings

BEGIN

Exercise: Comparing Strings

BEGIN

Solution: Comparing Strings

BEGIN

Exercise: StringBuilder - Create, Compare, Concatenate, and Reverse Strings

BEGIN

Solution: StringBuilder - Create, Compare, Concatenate, and Reverse Strings

BEGIN

Working with Dates & Times

8 lectures

LocalDate5:06

BEGIN

LocalTime3:13

BEGIN

LocalDateTime4:31

BEGIN

ZonedDateTime5:34

BEGIN

Duration and Period5:01

BEGIN

Calculating with Dates and Times4:13

BEGIN

Formatting and Parsing Dates10:01

BEGIN

Quiz

BEGIN

Exercises: Dates and Times

10 lectures

Exercise: LocalDate

BEGIN

Solution: LocalDate

BEGIN

Exercise: LocalTime

BEGIN

Solution: LocalTime

BEGIN

Exercise: LocalDateTime

BEGIN

Solution: LocalDateTime

BEGIN

Exercise: ZonedDateTime, Duration, and Period

BEGIN

Solution: ZonedDateTime, Duration, and Period

BEGIN

Exercise: Formatting and Parsing Dates

BEGIN

Solution: Formatting and Parsing Dates

BEGIN

Object Oriented Programming (OOP)

7 lectures

Introduction to OOP3:36

BEGIN

OOP Pillar 1: Inheritance5:47

BEGIN

OOP Pillar 2: Encapsulation4:22

BEGIN

OOP Pillar 3: Abstraction1:53

BEGIN

OOP Pillar 4: Polymorphism7:16

BEGIN

Overriding, Overloading and Hiding6:55

BEGIN

Quiz

BEGIN

Exercises: Object Oriented Programming

2 lectures

Exercise: Apply Inheritance and the Three Pillars of OOP with Getters and Setters

BEGIN

Solution: Apply Inheritance and the Three Pillars of OOP with Getters and Setters

BEGIN

Constructors

6 lectures

Constructors Explained2:40

BEGIN

Default Constructor2:18

BEGIN

Custom Constructor3:06

BEGIN

Using super() and this()5:35

BEGIN

Constructors and Inheritance5:34

BEGIN

Quiz

BEGIN

Exercises: Working with Constructors

8 lectures

Exercise: Default Constructor

BEGIN

Solution: Default Constructor

BEGIN

Exercise: Custom Constructor

BEGIN

Solution: Custom Constructor

BEGIN

Exercise: super() and this()

BEGIN

Solution: super() and this()

BEGIN

Exercise: Constructors and Inheritance

BEGIN

Solution: Constructors and Inheritance

BEGIN

Enums

5 lectures

What Are Enums?1:45

BEGIN

Creating and Using Basic Enums3:22

BEGIN

Enums with Members3:52

BEGIN

How Enums Work Beneath the Surface4:34

BEGIN

Quiz

BEGIN

Exercises: Working with Enums

6 lectures

Exercise: Basic Enums

BEGIN

Solution: Basic Enums

BEGIN

Exercise: Enums with Fields

BEGIN

Solution: Enums with Fields

BEGIN

Exercise: Game Statuses Enum

BEGIN

Solution: Game Statuses Enum

BEGIN

Interfaces and Abstract Classes

9 lectures

Understanding Interfaces4:19

BEGIN

Creating Interfaces3:06

BEGIN

Implementing Interfaces3:18

BEGIN

Interfaces with Default Methods3:14

BEGIN

Interfaces with Static and Private Methods2:50

BEGIN

Implementing Interfaces with Conflicting Method Signatures2:45

BEGIN

Abstract Classes and Abstract Methods6:07

BEGIN

Final Keyword2:38

BEGIN

Quiz

BEGIN

Exercises: Working with Interfaces

8 lectures

Exercise: Creating Interfaces

BEGIN

Solution: Creating Interfaces

BEGIN

Exercise: Implementing Interfaces

BEGIN

Solution: Implementing Interfaces

BEGIN

Exercise: Default Methods in Interfaces

BEGIN

Solution: Default Methods in Interfaces

BEGIN

Exercise: Implementing Interfaces with Conflicting Methods

BEGIN

Solution: Implementing Interfaces with Conflicting Methods

BEGIN

Generics and Collections

8 lectures

Understanding Generics4:50

BEGIN

Using Classes with Generics3:37

BEGIN

Collection Framework: List6:16

BEGIN

Collection Framework: Set3:12

BEGIN

Collection Framework: Queue5:17

BEGIN

Collection Framework: Map6:53

BEGIN

Quiz

BEGIN

Comparable and Comparator

BEGIN

Exercises: Working with Generics and Collections

14 lectures

Exercise: Generics - Parameterized Class

BEGIN

Solution: Generics - Parameterized Class

BEGIN

Exercise: Using Classes with Generics

BEGIN

Solution: Using Classes with Generics

BEGIN

Exercise: Collection Framework - List

BEGIN

Solution: Collection Framework - List

BEGIN

Exercise: Collection Framework - Set

BEGIN

Solution: Collection Framework - Set

BEGIN

Exercise: Collection Framework - Queue

BEGIN

Solution: Collection Framework - Queue

BEGIN

Exercise: Collection Framework - Map

BEGIN

Solution: Collection Framework - Map

BEGIN

Exercise: Create a Class Bag with a Type Parameter and Collection

BEGIN

Solution: Create a Class Bag with a Type Parameter and Collection

BEGIN

Exceptions

8 lectures

Understanding Exceptions1:41

BEGIN

Throwing Exceptions4:08

BEGIN

Checked and Unchecked Exceptions4:46

BEGIN

Handling Exceptions: Throws4:30

BEGIN

Handling Exceptions: Try/Catch3:12

BEGIN

Handling Exceptions: Try with Resources5:27

BEGIN

Creating Custom Exceptions6:29

BEGIN

Quiz

BEGIN

Exercises: Working with Exceptions

8 lectures

Exercise: Throwing Exceptions

BEGIN

Solution: Throwing Exceptions

BEGIN

Exercise: Handling Exceptions - Try/Catch

BEGIN

Solution: Handling Exceptions - Try/Catch

BEGIN

Exercise: Checked vs Unchecked Exceptions

BEGIN

Solution: Checked vs Unchecked Exceptions

BEGIN

Exercise: Custom Checked Exception, Method, and Handling

BEGIN

Solution: Custom Checked Exception, Method, and Handling

BEGIN

Reading and Writing Files

4 lectures

Reading and Writing Files2:10

BEGIN

Reading Files with FileReader4:50

BEGIN

Writing to Files with FileWriter4:05

BEGIN

Quiz

BEGIN

Exercises: Reading and Writing Files

6 lectures

Exercise: Reading from a File

BEGIN

Solution: Reading from a File

BEGIN

Exercise: Writing to a File

BEGIN

Solution: Writing to a File

BEGIN

Exercise: Read from a File and Copy to a New File

BEGIN

Solution: Read from a File and Copy to a New File

BEGIN

Lambda Expressions and Functional Interfaces

8 lectures

Getting Started with Lambda Expressions1:53

BEGIN

Functional Interfaces3:10

BEGIN

Understanding Lambda Expressions2:45

BEGIN

Writing Lambda Expression9:05

BEGIN

Lambda Expressions as Arguments8:29

BEGIN

Scope and Lambda Expressions4:30

BEGIN

Built-in Functional Interfaces8:38

BEGIN

Quiz

BEGIN

Exercises: Lambda Expressions and Functional Interfaces

10 lectures

Exercise: Functional Interface

BEGIN

Solution: Functional Interface

BEGIN

Exercise: Lambda Expression

BEGIN

Solution: Lambda Expression

BEGIN

Exercise: Lambda Expression for Comparison

BEGIN

Solution: Lambda Expression for Comparison

BEGIN

Exercise: Another Functional Interface

BEGIN

Solution: Another Functional Interface

BEGIN

Exercise: Implementing the StringFormatter Interface

BEGIN

Solution: Implementing the StringFormatter Interface

BEGIN

Functional Programming

7 lectures

Shorthand Lambda Expression: Method Reference8:53

BEGIN

Understanding Streams2:45

BEGIN

Stream API: Source Operations4:53

BEGIN

Stream API: Terminal Operations10:39

BEGIN

Stream API: Intermediate Operations4:19

BEGIN

Using the Stream API: Practical Examples3:18

BEGIN

Quiz

BEGIN

Exercises: Functional Programming

14 lectures

Exercise: Method Reference

BEGIN

Solution: Method Reference

BEGIN

Exercise: Stream API - Filtering and Mapping

BEGIN

Solution: Stream API - Filtering and Mapping

BEGIN

Exercise: Stream API - Terminal Operations

BEGIN

Solution: Stream API - Terminal Operations

BEGIN

Exercise: Stream API - Intermediate Operations

BEGIN

Solution: Stream API - Intermediate Operations

BEGIN

Exercise: Rewrite a For Loop using forEach

BEGIN

Solution: Rewrite a For Loop using forEach

BEGIN

Exercise: Sum of Squares using Reduce

BEGIN

Solution: Sum of Squares using Reduce

BEGIN

Exercise: Find Maximum Value using Stream API

BEGIN

Solution: Find Maximum Value using Stream API

BEGIN

The Java Memory

4 lectures

Different Parts of the Memory: Heap, Stack, Metaspace6:26

BEGIN

The Automatic Garbage Collection Process3:18

BEGIN

Understanding StackOverflowError and OutOfMemoryError2:21

BEGIN

Quiz

BEGIN

Concurrency and Multithreading

8 lectures

Understanding Concurrency and Multithreading3:54

BEGIN

Working with Threads7:21

BEGIN

Atomic Classes4:10

BEGIN

Synchronized4:36

BEGIN

Lock Interface5:13

BEGIN

Concurrent Collections4:54

BEGIN

ExecutorService and Thread Pools5:34

BEGIN

Common Problems in Multithreading9:33

BEGIN

Exercises: Concurrency and Multithreading

8 lectures

Exercise: Basic Thread Creation

BEGIN

Solution: Basic Thread Creation

BEGIN

Exercise: Runnable Interface

BEGIN

Solution: Runnable Interface

BEGIN

Exercise: Synchronized Method

BEGIN

Solution: Synchronized Method

BEGIN

Exercise: Using ExecutorService

BEGIN

Solution: Using ExecutorService

BEGIN

Projects - Build, Build, Build!

9 lectures

Using Scanner for Interactive Console Apps4:15

BEGIN

Create a Wordle Game

BEGIN

Solution: Wordle

BEGIN

Create a Hangman Game

BEGIN

Solution: Hangman

BEGIN

Create a Tic Tac Toe Game

BEGIN

Solution: Tic Tac Toe

BEGIN

Create a Trivia Game

BEGIN

Solution: Trivia

BEGIN

Where To Go From Here?

6 lectures

Thank You1:17

BEGIN

Review This Course!

BEGIN

Become An Alumni

BEGIN

Learning Guideline

BEGIN

ZTM Events Every Month

BEGIN

LinkedIn Endorsements

BEGIN

Meet your instructor

Your Java instructor (Maaike) isn't just an expert with years of real-world professional experience. She has been in your shoes. She makes learning fun. She makes complex topics feel simple. She will motivate you. She will push you. And she will go above and beyond to help you succeed.

Maaike van Putten

Hi, I'm Maaike van Putten!

Maaike is a Software Developer and Technical Trainer with a decade of experience programming and teaching virtually to audiences across the globe.

SEE MY BIO & COURSES

Maaike van Putten

Software Developer & Trainer

Frequently asked questions

Are there any prerequisites for this course?

  • A computer (Windows, Mac, or Linux) with an internet connection. That's it!
  • No prior programming knowledge is required
  • A willingness and enthusiasm to learn the Java programming language

Who is this Java Bootcamp course for?

  • Anyone who wants to take a Java bootcamp that will take them from complete beginner to being able to get hired as a professional Backend Developer
  • Developers who want to learn Java and be able to add a new skill to their resume and toolkit
  • Anyone that wants to learn Java programming by building fun, real-world projects that will make your portfolio stand out
  • Students who are stuck in a cycle of tutorials and want to go beyond "beginner" Java tutorials
  • Anyone that wants to become a Backend Developer
  • You're interested in learning one of the most commonly used programming languages in the world that is used by both big and small companies alike
  • Bootcamp or online tutorial graduates that want to go beyond the basics
  • You want to learn from an industry professional who has years of experience working with and teaching Java

Do you provide a certificate of completion?

We definitely do and they are quite nice. You will also be able to add Zero To Mastery Academy to the education section of your LinkedIn profile as well.

Can I use the course projects in my portfolio?

Yes, you’d be crazy not to in our slightly biased opinion! All projects are downloadable and ready to use the minute you join.

Many of our students tell us the projects they built while following along with our courses were what got them interviews and because they built the projects themselves, they could confidently explain and walk through their work during the interview.

You know what that means? Job offer!

Still have more questions about the Academy?

Still have more questions specific to the Academy membership? No problem, we answer some more here.

Invest in a better you. For less than a coffee a day.

Choose your currency:
$ USD US Dollar
Lifetime
100% OFF$999
$999
Only pay once, ever
You're serious about advancing your career and never getting left behind
Start Learning Now

MOST POPULAR

Save 40% vs. monthly (that's $189 a year)
Annual
100% OFF$279 / year
$23 / month
$279 / year
You're committed to getting hired and starting a career in tech
Start Learning Now
Monthly
100% OFF$39 / month
$39 / month
You're ready to upskill and advance your career
Start Learning Now

Every ZTM membership includes:

Unlimited access to all courses, projects + workshops, and career paths
Access to our private Discord with 400,000+ members
Access to our private LinkedIn networking group
Custom ZTM course completion certificates
Live career advice sessions with mentors, every month
Full access to all future courses, content, and features
100% RISK FREE

We know you'll love ZTM. That's why we provide a no hassle, 30-day money back guarantee.