Mô tả

The course updates keep coming.  2023 has seen several major updates to this course, with more on the way.

This course has been constantly updated since it originally came out in 2016. All updates are included free. Buy the course once and get all future updates free.

You’ve just stumbled upon the most complete, in-depth Java programming course online. With over 795,000 students enrolled and over one hundred and eighty-five thousand reviews (with tens of thousands of those 5-star) to date, these comprehensive java tutorials cover everything you’ll ever need.

Whether you want to:

- build the skills you need to get your first Java programming job

- move to a more senior software developer position

- pass the oracle java certification exam

- or just learn java to be able to create your own java apps (desktop or web based) quickly.

This complete Java Masterclass is the course you need to do all of this, and more.

Why would you choose to learn Java?

The reality is that there is a lot of computer languages out there. It's in the hundreds. Why would you choose the Java language?

The number one reason is its popularity. According to many official websites that track the popularity of languages, Java is in the top 3 most popular languages worldwide in 2023. Popularity means more companies and their staff are using it, so there are more career opportunities available for you if you are skilled in the language.

The last thing you want to do is pick a language that is not in mainstream use. Java came out in the 1990s and is still very popular today and continually updated by the owners, Oracle, over 30 years later.

Are you aiming to get your first Java Programming job but struggling to find out what skills employers want and which course will give you those skills?

This course is designed to give you the Java skills you need to get a job as a Java developer. By the end of the course, you will understand Java extremely well and be able to build your own Java apps and be productive as a software developer.

Lots of students have been successful in getting their first job or promotion after going through the course.

Here is just one example of a student who lost her job and despite having never coded in her life previously, got a full-time software developer position in just a few months after starting this course. She didn't even complete the course!


Three months ago I lost my job, came to a turning point in my life, and finally made the drastic decision to completely change course. I decided to switch career paths and go into coding. My husband found and gave me your Complete Java Masterclass at Udemy as a gift, and I wholeheartedly dove into it as a lifeline. Following your course has been absolutely enjoyable (still working on it, not yet finished), and has been a great way of keeping on course, dedicated and motivated. Yesterday, three months after starting the course, and honestly to my surprise, I received (and accepted!) a job offer as a full-time developer. I wanted to just drop you a line to say thank you for doing this work, for being such a dedicated teacher, and for putting all this knowledge available out there in such an approachable way. It has, literally, been life-changing. With gratitude, Laura


The course is a whopping 100+ hours long. Perhaps you have looked at the size of the course and are feeling a little overwhelmed at the prospect of finding time to complete it. Maybe you are wondering if you need to go through it all?

Firstly, Laura’s story above shows that you do not have to complete the entire course - she was yet to complete the course when she accepted her developer job offer.

Secondly, the course is designed as a one-stop shop for Java.

The core java material you need to learn java development is covered in the first seven sections (around 14 hours in total). The Java Basics are covered in those sections. The rest of the course covers intermediate, advanced, and optional material you do not technically need to go through.

For example section 13 is a whopping 10 hours just by itself and is aimed at those students who want to build desktop applications with graphical user interfaces. JavaFX (which is the technology used in this section) is something that most java developers will rarely or never need to work on. So, you could skip that section entirely. But if you are one of the few that need to build user interfaces, then the content is there and ready for you. And there are other sections you can completely avoid if you wish.

If you want to know absolutely everything about Java, then you can go through the entire course if you wish, but it's not necessary to do so if you are just looking to learn the essential information to get a java developer position.

What version of Java should you learn?

Generally speaking, you would want to learn the very latest version of a computer programming language, but that's not the case with Java.

Oracle, the owner of Java, release many versions of Java. Some are released and expire in six months, with no future updates or support. Other versions have long-term support, for many years.

You can probably see why learning a version of Java that has expired makes no sense and is likely a waste of time.

A company using Java technology (big or small) is not going to use a version of Java that has no updates or support. They will stick to stable, well-supported versions of Java that get updates.

Right now, in August 2023, the version of Java that offers this long-term support (LTS) is Java 17 - It's being fully supported until at least 2029 and likely will be extended from there.

As such, you want to learn the version of Java that your future employer will use, and that's Java 17.

The course will also be updated in the future as new LTS versions are announced by Oracle. N.B. Java 21 is the next LTS version, and this course will be updated to that in the future.

BOTTOM LINE: You will learn the RIGHT VERSION of JAVA in this course! Right meaning the right version to maximize your future Java potential with clients or Employers.


Will this course give me core java skills?

Yes, it will. Core Java is the fundamental part of the Java JDK (the java development kit) that programmers need to learn to move onto other more advanced technologies.

Why should you take this course?

It's been a best-seller since its release on Udemy, you would be joining over 795,000 students who are already enrolled in the course.

There are well over 185,000 reviews left by students. It's rated as the best course to learn Java for beginners.

What makes this course a bestseller?

Like you, thousands of others were frustrated and fed up with fragmented YouTube tutorials or incomplete or outdated courses which assume you already know a bunch of stuff, as well as thick, college-like textbooks able to send even the most caffeine-fuelled coder to sleep.

Like you, they were tired of low-quality lessons, poorly explained topics, and confusing info presented in the wrong way. That’s why so many find success in this complete Java developer course. It’s designed with simplicity and seamless progression in mind through its content.

This course assumes no previous coding experience and takes you from absolute beginner core concepts, like showing you the free tools you need to download and install, to writing your very first Java program. You will learn the core java skills you need to become employable in around 14 hours, and if you choose to, can take advantage of all the additional content in the course. It's a one-stop shop to learn java. If you want to go beyond the core content, you can do so at any time.

Here’s just some of what you’ll learn.

(It’s okay if you don’t understand all this yet, you will in the course)

· All the essential Java keywords, operators, statements, and expressions needed to fully understand exactly what you’re coding and why - making programming easy to grasp and less frustrating.

· You will learn the answers to questions like What is a Java class, what is polymorphism and inheritance and to apply them to your java apps.

· How to safely download and install all necessary coding tools with less time and no frustrating installations or setups.

· Complete chapters on object-oriented programming and many aspects of the Java API (the protocols and tools for building applications) so you can code for all platforms and derestrict your program’s user base (and potential sales)

· How to develop powerful Java applications using one of the most powerful Integrated Development Environments on the market, IntelliJ IDEA! - Meaning you can code functional programs easier. IntelliJ has both a FREE and PAID version, and you can use either in this course.

(Don’t worry if you’re used to using Eclipse, NetBeans, or some other IDE. You’re free to use any IDE and still get the most out of this course)

· Learn Java to a sufficient level to be a be to transition to core Java technologies like Android development, the Spring framework, Java EE (Enterprise edition) in general as well as and other technologies. To progress to these technologies, you need to first learn core Java - the fundamental building blocks. That's what this course will help you to achieve.

AP-what?

Don't worry if none of that made sense. I go into detail explaining each and every core concept, programming term, and buzzwords you need to create your own Java programs.

This truly is Java for complete beginners.

By the end of this comprehensive course, you’ll master Java programming no matter what level of experience you’re at right now. You’ll understand what you are doing, and why you are doing it. This isn’t a recipe book, you’ll use your own creativity to make unique, intuitive programs.

Not only do these HD videos show you how to become a programmer in detail, but this course includes a unique challenge feature. Each time a core concept is taught, a video presents a challenge for you to help you understand what you have just learned in a real-world scenario.

You’ll go and complete the challenge on your own, then come back and see the answers which I then explain in detail in a video, allowing you to check your results and identify any areas you need to go back and work on.

This is a proven way to help you understand Java faster and ensure you reach your goal of becoming a Java Developer in record time. Remember doing those old past exam papers in high school or college? It’s the same concept, and it works.

As your instructor, I have over 40 years of experience as a software developer and teacher and have been using Java since the year 2000. Yes, over 23 years (I’ve taught students younger than that). Meaning not only can I teach this content with great simplicity, but I can make it fun too!

It’s no surprise my previous students have amazing results.

See what your fellow students have to say:

This course was a guiding light in my "Becoming a developer" path from the first step. It helped me become a much more educated developer comparing to my friend who learned to code from trial/error. It's still a guide for me. every now and then I will come back to this course to learn something new or to improve what I've learned somewhere else. A BIG Thanks to Tim Buchalka my Master. - Sina Jz

I was an absolute beginner when I started this course, and now I can write some good small advanced clean codes. I wrote a code and showed it to a programmer, and he was shocked, he told me that I'm more than ready to start a programming career. - Amirreza Moeini

I am taking this class in conjunction with a Java 101 college class. I have learned more in one afternoon of videos from this class than I have in 4 weeks of a college class. Tim actually explains what things are and why they do what they do, as opposed to my college instructor that mainly said "go make a program that does *whatever*" and then I had to figure out a program that would meet those requirements but not actually learning why it worked. - Stacy Harris

It’s safe to say my students are thrilled with this course, and more importantly, their results, and you can be too

This complete Java course will teach you everything you need to know to code awesome, profitable projects,

Is the course updated?

As mentioned above, yes.

It’s no secret how technology is advancing at a rapid rate. New, more powerful hardware and software are being released every day, meaning it’s crucial to stay on top with the latest knowledge.

A lot of other courses on Udemy get released once, and never get updated. Learning an older version of Java can be counterproductive - you could be learning the old way of doing things, rather than using current technology.

Make sure you check the last updated date on the page of any course you plan to buy - you will be shocked to see some have not been updated for years.

That’s why I’m always adding new, up-to-date content to this course at no extra charge. Buy this course once, and you’ll have lifetime access to it and any future updates (which are on the way as we speak).

And when I say updated, I also mean enhanced. With the recently released Java 17 update, a lot of the content has changed to include features included in Java 17. This is not just a rebadged update - the content is updated with new features of Java. Videos are re-recorded, etc.

With this complete Java Masterclass, you will always have updated, relevant content.

What if I have questions?

As if this course wasn’t complete enough, I offer full support, answering any questions you have 7 days a week (whereas many instructors answer just once per week, or not at all).

This means you’ll never find yourself stuck on one lesson for days on end. With my hand-holding guidance, you’ll progress smoothly through this course without any major roadblocks.

Student Quote: This course is a great place to ask questions if you have them or find help if you become stuck in areas. - Blake S.

There’s no risk either!

This course comes with a full 30-day money-back guarantee. Meaning if you are not completely satisfied with the course or your progress, simply let me know and I’ll refund you 100%, every penny no questions asked.

You either end up with Java skills, go on to develop great programs and potentially make an awesome career for yourself, or you try the course and simply get all your money back if you don’t like it.

You literally can’t lose.

Ready to get started, developer?

Enrol now using the "Add to Cart" button on the right, and get started on your way to creative, advanced Java brilliance. Or take this course for a free spin using the preview feature, so you know you’re 100% certain this course is for you.

See you on the inside (hurry, Java class is waiting!)

Bạn sẽ học được gì

Yêu cầu

Nội dung khoá học

45 sections

Getting Started

8 lectures
Introduction To The Course
01:17
Remaster in Progress
00:58
Video Quality
00:50
Subtitles
00:59
How to Get Help
01:17
Important Tip - Source Code
01:10
Biggest Tip to Succeed as a Java Programmer
00:51
Which Version of Java?
02:35

Programming Tools Setup

5 lectures
Software Tools Introduction
01:18
Install JDK 17 for Windows
03:01
Install JDK 17 for Mac
02:38
Install JDK 17 for Linux
02:06
Confirming installation and intro to JShell
10:44

First Steps

13 lectures
Hello World
09:35
Variables
16:05
Starting out with Expressions
09:26
Primitive Types
16:45
byte, short, long and width
12:38
Casting in Java
09:07
Primitive Types Challenge
06:11
Float and Double Primitives
10:39
Floating Point Precision and a Challenge
11:39
The char and boolean Primitive Data Types
12:16
Primitive Types Recap and the String Data Type
17:02
Operators, Operands and Expressions
11:32
Abbreviating Operators
12:59

IntelliJ Basics

13 lectures
From JShell to an IDE
02:27
Installing IntelliJ IDEA for Windows
02:37
Installing IntelliJ IDEA for Mac
02:45
Installing IntelliJ IDEA for Linux
02:24
Configuring IntelliJ IDEA - WINDOWS, MAC and LINUX
06:29
Hello World in IntelliJ
07:53
Hello World in IntelliJ
11:10
if-then Statement
08:13
Logical AND Operator
06:48
Logical OR Operator
04:31
Assignment Operator VS Equals to Operator
07:48
Ternary Operator
06:38
Operator Precedence and Operator Challenge
10:22

Expressions, Statements & More

27 lectures
Introduction
00:31
Keywords and Expressions
09:15
Statements, Whitespace and Indentation (Code Organization)
09:19
Code Blocks And The If Then Else Control Statement
09:00
if then else Challenge
10:09
Methods in Java
13:53
More on Methods
09:32
Methods Recap
07:40
Method Challenge
11:50
Code Comparison in IntelliJ
06:40
Coding Exercises Introduction
13:16
Positive, Negative or Zero
1 question
Speed Converter
1 question
MegaBytes Converter
1 question
Barking Dog
1 question
Leap Year Calculator
1 question
DecimalComparator
1 question
Equal Sum Checker
1 question
Teen Number Checker
1 question
Method Overloading
13:17
Method Overloading Challenge
08:32
Seconds And Minutes Challenge
11:05
Bonus Challenge Solution
09:12
Area Calculator
1 question
Minutes To Years and Days Calculator
1 question
Equality Printer
1 question
Playing Cat
1 question

Control Flow

37 lectures
Introduction
00:53
The switch statement
10:33
More switch statement
12:22
Traditional Switch Challenge
06:54
A Switch Expression Challenge
11:32
Number In Word
1 question
Number Of Days In Month
1 question
The for Statement
14:00
The for Statement Challenge Exercise
16:16
Sum 3 and 5 Challenge And Using IntelliJ's Debugger
17:20
For Loop Recap
09:09
Sum Odd
1 question
The while and do while statements
12:26
The while Loop Challenge Exercise
11:36
Digit Sum Challenge
10:21
While Loop and Do While Recap
08:56
Local Variables and Scope
05:45
The class, the object, static & instance fields and methods
07:18
Number Palindrome
1 question
First And Last Digit Sum
1 question
Even Digit Sum
1 question
Shared Digit
1 question
Last Digit Checker
1 question
All Factors
1 question
Greatest Common Divisor
1 question
Perfect Number
1 question
Number To Words
1 question
Flour Pack Problem
1 question
Largest Prime
1 question
Diagonal Star
1 question
Parsing Values and Reading Input using System.console()
14:02
Exception Handling, and Introduction to Scanner
11:56
Reading Input with Scanner
09:36
Reading User Input Challenge
11:57
Min and Max Challenge
09:44
Input Calculator
1 question
Paint Job
1 question

OOP Part 1 - Inheritance

33 lectures
Introduction
00:52
Introduction to Classes and Objects
13:36
Introduction to Classes, Using Getter Methods
09:36
Classes, Using Setters, and Creating Objects
13:24
Classes Challenge Exercise
11:59
Sum Calculator
1 question
Person
1 question
Constructors Part 1
08:40
Constructors Part 2
10:48
Constructor Challenge Exercise
09:59
Reference vs Object vs Instance vs Class
08:52
Static vs Instance Variables
04:33
Static vs Instance Methods
04:43
The POJO
10:25
Java's Implicit POJO Type, The Record
11:42
Wall Area
1 question
Point
1 question
Carpet Cost Calculator
1 question
Complex Operations
1 question
Inheritance - Part 1
13:56
Inheritance - Part 2
12:26
Inheritance - Part 3
12:36
What is java.lang.Object?
13:26
Inheritance Challenge - Part 1
12:52
Inheritance Challenge Part 2
11:52
this vs super
05:54
Method Overloading vs Overriding Recap
08:36
The Text Block and other Formatting Options
13:29
Another Look at the String
13:41
String Manipulation Methods
13:53
The StringBuilder class
14:01
Cylinder
1 question
Pool Area
1 question

OOP Part 2 - Polymorphism

20 lectures
Introduction
00:43
Composition Part 1
11:30
Composition Part 2
12:47
Composition Challenge
12:27
Composition
1 question
Encapsulation, Part 1
12:29
Encapsulation, Part 2
10:05
Encapsulation Challenge
11:26
Encapsulation
1 question
Polymorphism, Part 1
11:05
Polymorphism, Part 2
15:23
Casting with classes, and using Object and var references
11:45
Testing the runtime type using the instanceof operator
06:36
Polymorphism Challenge Exercise
11:07
Polymorphism
1 question
Polymorphism Challenge Exercise, Part 2
08:04
OOP Master Challenge Exercise, Part 1
13:33
OOP Master Challenge Exercise, Part 2
19:25
OOP Master Challenge Exercise, The Bonus
10:56
Organizing Java Classes, Packages and Import Statements
10:40

Arrays

16 lectures
Introduction
01:10
Arrays Part 1
12:07
Arrays Part 2
11:26
Using java.util.Arrays (sort, fill, copyOf )
10:23
Finding a Match, Using a Binary Search and testing equality of arrays
06:50
Arrays Challenge Exercise
11:25
Sorted Array
1 question
Arrays Recap
07:52
References Types vs Value Types
08:20
Variable Arguments (Varargs)
07:20
Minimum Element Challenge
08:46
Minimum Element
1 question
Reverse Array Challenge
10:02
Reverse Array
1 question
Two-Dimensional Arrays
11:18
Multi-dimensional Arrays
08:01

List, ArrayList, LinkedList, Iterator, Autoboxing

21 lectures
Introduction
01:18
List and ArrayList Part 1
11:25
ArrayList Part 2
10:13
ArrayList Part 3
09:03
Arrays vs. ArrayLists
10:51
ArrayList Challenge Part 1
12:19
Arrays, ArrayList & LinkedList - (Memory and Big O Notation)
11:32
Mobile Phone
1 question
LinkedList Part 1
10:50
LinkedList Part 2
09:24
Iterators
09:48
LinkedList Challenge
10:54
LinkedList Challenge, Continued
12:16
Playlist
1 question
Introduction to Autoboxing and Unboxing
10:43
Autoboxing and Unboxing related to Arrays & Lists
06:58
Autoboxing & Unboxing Challenge
07:40
Autoboxing & Unboxing Challenge
06:44
Banking
1 question
Introduction to the enum type
09:01
The enum type continued, with the switch statement
08:48

Abstraction in Java

17 lectures
Introduction
00:36
Abstraction & Generalization (with overview of abstract and other modifiers)
04:13
Abstract Classes Part 1
09:18
Abstract Classes Part 2
07:53
Abstract Classes Part 3
10:35
Abstract Class Challenge Part 1
08:56
Abstract Class Challenge Part 2
07:20
Interfaces Part 1
10:04
Interfaces Part 2
09:59
Interfaces Part 3
11:02
Interfaces, what's new since JDK 8 (default methods & public static methods)
11:13
Interfaces, new since JDK8 (public static & private methods)
10:48
Interface vs Abstract Class
07:07
Abstract Class
1 question
Interface Challenge Part 1
11:45
Interface Challenge Part 2
10:14
Interface
1 question

Generics

12 lectures
Introduction to Generics
00:52
Generics Part 1
10:17
Generics Part 2
12:06
Generics Part 3
12:01
Generic Class Challenge
11:15
Generic Class Challenge, Part 2
08:43
Revisiting Comparable
10:48
Comparable vs. Comparator
12:01
Generic classes as reference types
11:24
Generics methods, wildcards, and type erasure
13:12
Static methods & multiple upper bounds
11:57
Putting it all together, Final Section Challenge
11:41

Nested Classes and Types

9 lectures
Introduction
01:48
Static Nested Classes
07:48
Inner Classes
08:17
Inner Classes, for Bills Burger Challenge
08:50
Inner Classes Challenge
11:53
Playlist - Inner Class
1 question
Local Classes
11:42
Anonymous Classes
10:30
Local and Anonymous Class Challenge
07:12

Lambda Expressions, Functional Interfaces, and Method References

13 lectures
Introduction to Lambda Expressions
01:14
Introduction to the Lambda Expression, and Functional Interfaces
11:40
Lambda Expressions, syntax, and additional examples
10:45
Lambda Expressions, Continued
11:26
Java's Functional Interfaces, Consumer & Predicate
12:10
Java's Functional Interfaces, Function & Supplier
11:47
Lambda Mini Challenges
13:56
Lambda Expression Challenge, Put it all together
12:21
What's a Method Reference?
09:17
The Most Confusing of the Method References
12:27
Method Reference Challenge
11:06
Convenience Methods on Functional Interfaces (Chaining lambdas)
11:10
Convenience Methods, Continued, with the Comparator
05:01

Java Collections

29 lectures
Introduction to Java's Collections Framework
00:47
Collections: Understanding the Big Picture
10:44
Code Setup (Deck of Cards) for java.util.Collections methods
12:13
Introduction to java.util.Collections
11:21
java.util.Collections (shuffle, reverse, sort, indexOfSubList)
08:52
java.util.Collections (binarySearch, frequency, min, max, rotate)
12:05
Collections methods Challenge, Your own Card Game
12:19
Collections methods Challenge, (Five Card Draw), continued
11:17
Understanding the importance of the hash code
15:05
Code Setup (Phone and Email Contacts) for Sets and Maps
12:11
Introduction to Sets & HashSet
14:12
Set Operations, Symmetric and Asymmetric results
11:55
Code Setup (Tasks and TaskData)
14:37
Set Operations Challenge
14:06
LinkedHashSet and TreeSet
11:10
TreeSet, Closest match and subset methods
10:00
TreeSet Challenge (Theatre Seats)
14:05
TreeSet Challenge (Theatre Seat Bonus)
12:22
The Map Interface and functionality
14:12
Map functionality, Continued (compute, replace, remove)
09:19
Working with Map's view collections (keySet, values, entrySet)
15:36
HashMap Challenge, A Text-Based Adventure Game
10:33
Adventure Game, Continued
09:34
LinkedHashMap and TreeMap
12:57
Working with TreeMap (NavigableMap) methods
13:53
Targeted Collections for enum types
08:21
Collections Framework Final Challenge (The Setup)
13:12
Final Challenge(Store Inventory)
11:31
Final Challenge (Store Inventory)
10:10

Using Final, Immutable classes, Constructors, Initializers, Sealed classes

22 lectures
Introduction
02:19
Revisiting the final modifier
11:34
The final modifier applied to methods, and local variables
12:22
When Change isn't good
13:45
Declaring immutable classes to produce immutable objects, Part 1
12:57
Declaring immutable classes to produce immutable objects
13:01
Challenge: Write your own immutable classes
08:27
Defensive Copies, Shallow and Deep Copies
11:09
Immutable, Unmodifiable Collections and Views
09:56
Challenge: Use unmodifiable collections
09:19
Challenge, Continued: Using unmodifiable collections
11:10
Constructor review, final field initializations, Introduction to Initializers
14:24
Record Constructors (and javap)
11:02
Enum Constructors
09:28
Game Console Setup, Part 1
09:50
Game Console Setup, Part 2
07:55
Challenge: Initializers and Constructors, A Pirate Game
12:15
Challenge: Pirate Game, continued
12:18
Final Classes, Review of constructor access modifiers
08:59
Sealed Classes
13:33
Final Section Challenge
14:15
Final Challenge (Pirates Continued, Part 2)
16:05

Streams

20 lectures
Introduction to Streams
04:37
A first look at a stream in action
08:18
The Structure of the Stream Pipeline
08:12
Stream Sources
15:11
Stream Source Challenge
12:01
Intermediate Operations, distinct, filter, limit, skip, takeWhile, dropWhile
09:15
Intermediate Operations, map, peek, sorted
11:50
Terminal Operations for statistical information and matching
10:44
Code Setup, Part 1 (Student Engagement Statistics)
09:16
Code Setup, Part 2 (Student Engagement Statistics)
11:44
Challenge: Terminal Operations
09:47
Challenge, part 2: Terminal Operations
06:23
Terminal operations for processing and transforming stream elements
10:08
Using Stream's collect & reduce terminal operations
09:47
Challenge: Terminal Operations, Part 2
14:14
What's Optional?
14:47
More Terminal Operations
09:11
Streams to Maps
10:39
Maps to Streams (using flatMap)
10:03
Streams Challenge
12:04

Back to a Few Nuts and Bolts

18 lectures
Introduction
00:57
Functionality on java.lang.Math
08:21
Randomization in Java
13:09
Randomization Challenge (Rolling Dice)
09:15
Bonus Challenge (DiceGame with Scoring)
14:51
Introduction to BigDecimal
10:43
BigDecimal methods
13:46
Overview: Date & Time (java.time)
07:13
LocalDate
11:47
LocalTime, LocalDateTime
13:39
Overview: Instance, Period, Duration and Time Zones
09:54
ZoneId (Time zones)
11:11
Instant, ZonedDateTime, Duration, Period and ChronoUnit.between
13:02
Localization, Introduction to Locale
08:52
Localization, Continued
10:50
DateTime and Localization Challenge
14:14
Internationalization (ResourceBundle)
09:57
Internationalization (ResourceBundle) Part 2
10:18

Regular Expressions

10 lectures
Introduction
01:23
What's a Regular Expression?
08:47
The Parts of a Regular Expression
12:16
Methods that use Regular Expressions
07:48
Mini Challenges -Regular Expressions
08:59
Using Pattern and Matcher
10:15
Matcher methods (find, group), Grouping and Capturing
08:56
Matcher methods for replacing text
13:22
Review of the Regular Expressions for Phone Number/HTML tags
14:59
Matcher Challenge
08:18

Input & Output (I/O), Working with Files in Java

25 lectures
Introduction
04:21
Exception Handling: Checked vs. Unchecked, the finally clause
12:43
Exception Handling: Try with Resources
11:16
First Steps: Understanding File, Path, Files and Paths
13:39
Using File, Path, Files
12:33
Methods on Path
10:55
Files class: Directory Listings (list, walk, find)
16:55
Files class: Using walkFileTree
16:22
File Tree Walking Challenge
15:16
Reading text from a file, Java IO way
10:40
Scanner, for reading input files
12:41
Character Sets & Reading Text from a File with NIO2 Functionality
11:17
Challenge - Reading text from a file
11:52
Writing Data To a File
12:15
BufferedWriter, FileWriter, and PrintWriter
13:53
File Writing Challenge
14:57
Renaming, copying, deleting files and directories
09:19
Copying, Deleting Directories: InputStream & Reader's transferTo method
13:56
Directory and File Manipulation Challenge
09:29
RandomAccessFile
12:27
RandomAccessFile, Continued
08:47
RandomAccessFile Challenge
08:42
DataOutputStream,DataInputStream & Serialization
11:26
Serialization & Change - Part 1
11:19
Serialization & Change - Part 2
10:59

Concurrency

30 lectures
Introduction
05:24
Java Threads and Thread Basics
10:08
Thread Creation and Execution
10:25
Interacting with a Running Thread
14:34
Thread Challenge
05:20
Multithreading and Memory
12:39
Concurrent threads concepts: Interleaving, Atomicity, Memory Consistency, Volati
10:49
Synchronization, synchronized methods
12:03
Synchronization, synchronized blocks
10:47
Producer/Consumer Application, Deadlocks
09:42
Avoiding Deadlocks with Wait & Notify
07:36
Synchronization Challenge
08:36
java.util.concurrent.locks
08:46
java.util.concurrent.locks continued
09:08
Managing Threads, Introduction to the ExecutorService, SingleThreadExecutorServi
13:55
The FixedThreadPool ExecutorService
08:50
Additional Thread Pools, Callable, Submit and the Future
15:04
ExecutorService Challenge
11:01
Scheduling Tasks
13:13
WorkStealingPool, ForkJoinPool
14:32
Parallel Streams
09:29
Parallel Streams, Ordering, Reducing and Collecting
13:54
Synchronized & Concurrent Collections
14:02
Thread-Safe Lists and Queues, ArrayBlockingQueue
12:36
ArrayBlockingQueue, Consumer Tasks
12:03
Revisiting Deadlock, and Other Common Problems
09:54
Livelock Example
16:08
Starvation & Fair Locks
08:03
More Java concurrency features
12:03
WatcherService (the File Watcher)
09:52

Working with Databases

30 lectures
Introduction
04:32
MySQL Installation for Windows
21:47
MySQL Installation for Mac
13:30
MySQL Installation for Linux
12:10
Database Basics in Ten Minutes
09:35
Using MySQL WorkBench to create and view a music database
13:09
JDBC
06:59
Connecting to the music database with JDBC
12:02
Querying (Retrieving) Data
14:13
SQL Injection and ANSI SQL
12:54
Statement.execute vs. Statement.executeQuery
13:06
Update, Delete Statements, and Inserting related records
13:08
Using executeUpdate, Transactions, Commits and Rollback, and Batch Execution
15:12
Creating a Store Front database, SQL Exceptions
15:52
JDBC Challenge, Transactions and Insertion using Statement
16:23
PreparedStatement
12:51
PreparedStatement, Continued
14:00
Challenge: PreparedStatement
15:04
CallableStatement
15:08
CallableStatement, OUT and IN/OUT parameters
11:24
CallableStatement, with functions
14:38
Challenge: CallableStatement
15:57
Introduction to JPA and ORM
15:35
JPA in action
16:33
JPA with Related Tables
12:23
JPA Queries, JPQL
14:19
JPA Queries, JPQL Joins
10:17
JPA Queries, CriteriaBuilder and Native SQL
14:19
JPA Challenge
14:59
JPA Bonus Challenge: CriteriaBuilder Query with Joins
05:48

Java Networking with Channels, Reactive Programming, and Virtual Threads

26 lectures
Introduction to Java Networking
02:13
Networking Terminology
12:39
Creating a Simple Client-Server Connection using ServerSocket
13:17
Creating a Multi-threaded Server using ServerSocket
08:29
SocketServer vs. ServerSocketChannel
09:42
Overview of NIO Channels and Buffers
04:59
Exploring java.nio.ByteBuffer
14:52
Polling Socket Channels with a custom Channel Manager
08:16
Using Selectors for an Event Driven Server
11:48
UDP Client Server with DatagramSocket
09:33
UDP DatagramSocket sharing audio data
09:35
UDP Client Server with DatagramChannel
09:16
Java's High Level Networking APIs, URI and URL
10:54
Java's High Level Networking APIs, URL vs URI
11:40
Introduction to HttpUrlConnection
11:17
Setting up Simple HttpServer
10:24
HttpURLConnection Posts
08:46
Introduction to HttpClient
12:49
HttpClient, Posting a request, and more
10:25
HttpClient Asynchronous Request, CompletableFuture
14:25
CompletableFuture, thenAccept, thenApply, thenRun Methods
12:30
HttpClient Concurrent Requests
12:37
Challenge, Concurrent Requests - Posts
09:30
Implementing HttpResponse.BodyHandler for customized response handling
13:24
Introduction to WebSocket
11:18
Writing a WebSocket Chat Application
12:14

Debugging and Unit Testing

11 lectures
Introduction to Debugging
17:57
More on Debugging
11:24
Field Watch Points
16:14
Advanced Debugging
10:14
Introduction to Unit Testing with JUnit
16:20
Asserts in Junit
18:19
More Asserts and Exception Handling
16:34
Parameterized Testing
12:21
JUnit Challenge #1 and #2
21:41
JUnit Challenges #3 to #7
12:22
Junit Challenges #8 to #10
12:06

JavaFX

46 lectures
JDK11 Global Library Configuration
05:05
Create Your First JavaFX Project
06:00
JavaFX Overview
09:48
JavaFX Hello World Program
10:55
GridPane Layout
15:34
HBox Layout
13:11
BorderPane Layout
13:16
Other Layouts
17:09
Controls
15:17
RadioButton and CheckBox
17:02
ComboBox and ChoiceBox
17:13
Slider, Spinner, ColorPicker & DatePicker Controls
14:30
TitledPane
06:42
Events and Event Handlers
14:29
Events Continued
14:38
UI Thread
14:40
Threads and Runnable
16:17
Setup Sample Todo List Application
12:59
Base Interface
13:28
Add Change Listener
14:17
Formatting Dates
07:03
Singletons
15:04
Load and Save ToDo Items from/to Disk
16:25
Add DialogPane
16:31
Show Dialog and Add Controller Code
14:33
Bug Fix and Update List View
10:27
Data Binding and Observable
11:20
Cell Factories
14:44
Context Menu
15:37
KeyEvents and Toolbars
15:41
SortedList
12:44
FilteredList
16:18
CSS With JavaFX
17:39
Transforming Nodes and Choosers
16:37
More on Choosers and Web Pages
22:11
SceneBuilder
03:23
Installing SceneBuilder for Windows
05:00
Installing SceneBuilder for Mac
03:39
Overview of SceneBuilder
07:15
Building a UI with SceneBuilder
15:49
More on SceneBuilder
17:27
JavaFX Challenge
15:14
JavaFX Challenge Part 2
13:16
JavaFX Challenge Part 3
16:07
JavaFX Challenge Part 4
14:02
JavaFX Challenge Wrap up
09:15

Java 9 Module System

3 lectures
Introduction to Modules
06:21
Module Declarations and Statements
02:08
Module Types
05:39

Migrating Java Projects to Java 9

7 lectures
Project Setup and Test
07:23
Structuring the new project
04:01
Creating the first module (Common)
12:04
Creating the Module Descriptor file
13:25
Creating the 2nd module (Database)
10:44
Challenge - Create the final module (UI)
09:52
Transitive Dependencies
07:29

Course Introduction - Old content for Java 11

6 lectures
Introduction To The Course
02:27
Remaster in Progress
03:09
Video Quality
01:16
Subtitles
02:46
How to Get Help
04:54
Important Tip - Source Code
02:07

Software Tools Setup - Old content for Java 11

12 lectures
Biggest Tip to Succeed as a Java Programmer
01:15
The Four Stages of Becoming a Programmer
00:42
Software Tools Introduction
01:12
Java Development Kit Installation Overview
01:42
Install JDK 11 for Windows
02:47
Installing Intellij IDEA for Windows
06:35
** IMPORTANT ** - Configuring IntelliJ IDEA
00:16
Install JDK 11 for Mac
02:11
Installing Intellij IDEA for Mac
04:57
Install JDK 11 for Linux
04:33
Installing Intellij IDEA for Linux
05:22
Configuring IntelliJ IDEA - WINDOWS, MAC and LINUX
05:05

First Steps - Old content for Java 11

24 lectures
Introduction
01:18
Hello World Project
06:36
Defining the Main Method
07:20
Hello World Challenge and Common Errors
03:18
Variables
09:03
Starting out with Expressions
07:05
Primitive Types
11:35
byte, short, long and width
10:18
Casting in Java
04:06
Primitive Types Challenge
04:23
float and double Primitive Types
07:00
Floating Point Precision and a Challenge
10:22
The char and boolean Primitive Data Types
10:20
Primitive Types Recap and the String Data Type
12:56
Operators, Operands and Expressions
08:50
Abbreviating Operators
04:12
if-then Statement
09:16
Logical and Operator
06:24
Logical OR Operator
06:11
Assignment Operator VS Equals to Operator
07:31
Ternary Operator
04:10
Operator Precedence and Operator Challenge
11:44
First Steps Summary
01:29
End of Remaster
02:01

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

19 lectures
Introduction
00:31
Keywords And Expressions
07:18
Statements, Whitespace and Indentation (Code Organization)
09:24
Code Blocks And The If Then Else Control Statements
17:08
if then else Recap
04:19
Methods In Java
18:03
More On Methods And A Challenge
15:34
Method Challenge - Final Code Changes
07:27
DiffMerge Tool Introduction
01:54
Install DiffMerge
02:01
Using DiffMerge
17:29
Coding Exercises
13:24
Coding Exercises Example Part 1
11:08
Coding Exercises Example Part 2
11:53
Coding Exercises Example Part 3
09:50
Method Overloading
27:01
Method Overloading Recap
03:38
Seconds and Minutes Challenge
13:49
Bonus Challenge Solution
11:12

Control Flow Statements - Old content for Java 11

14 lectures
Introduction
00:38
The switch statement (+Challenge Exercise)
18:39
Day of the Week Challenge
10:47
The for Statement (+Challenge Exercise)
25:02
For Loop Recap
07:59
Sum 3 and 5 Challenge
06:13
The while and do while statements (+Challenge Exercise)
24:21
While and Do While Recap
07:58
Digit Sum Challenge
10:29
Parsing Values from a String
11:24
Reading User Input
12:26
Problems and Solutions
10:20
Reading User Input Challenge
15:06
Min and Max Challenge
15:32

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

24 lectures
Arrays
21:27
Arrays (Challenge Exercise)
16:20
Arrays Recap
07:19
References Types vs Value Types
16:13
Minimum Element Challenge
11:51
Reverse Array Challenge
10:31
List and ArrayList Part 1
16:29
ArrayList Part 2
20:11
ArrayList Part 3
16:48
ArrayList Challenge Part 1
14:00
ArrayList Challenge Part 2
18:12
ArrayList Challenge Part 3
10:49
Bug Fix for ArrayList Challenge
06:40
Autoboxing and Unboxing
16:16
Autoboxing & Unboxing (Challenge Exercise) - Part 1
16:49
Autoboxing & Unboxing (Challenge Exercise) - Part 2
17:08
Autoboxing & Unboxing (Challenge Exercise) - Part 3
09:32
LinkedList Part 1
16:43
LinkedList Part 2
15:30
LinkedList Part 3
20:46
LinkedList Challenge Part 1
15:05
Bug Fix for "Track 1" Error
01:03
LinkedList Challenge Part 2
17:20
LinkedList Challenge Part 3 (Final video)
15:45

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

13 lectures
Interfaces
12:34
Interfaces Part 2
14:30
Interfaces Challenge Part 1
18:11
Interfaces Challenge Part 2
09:00
Inner classes Part 1
17:10
Inner Classes Part 2
14:44
Inner Classes Challenge
11:57
Abstract Classes Part 1
16:42
Abstract Classes Part 2
10:55
Interface vs Abstract Class
04:48
Abstract Class Challenge Part 1
19:46
Abstract Class Challenge Part 2
12:53
Abstract Class Challenge Part 3 (includes recursion).
19:46

Java Generics - Old content for Java 11

5 lectures
Generics Introduction
11:12
Our Generics Class
11:37
Our Generics Class Part 2
18:57
Our Generics Class Part 3
10:13
Generics Challenge
13:08

Lambda Expressions - Old content for Java 11

10 lectures
Lambda Expressions Introduction
15:32
Lambda Expressions Continued
14:50
Lambda Expressions Nested Blocks
14:45
Scope and Functional Programming
15:02
Functional Interfaces & Predicates
16:37
More on Predicates & Suppliers
12:06
Functions
13:11
Chaining java.util.function Functions
11:56
Lambda Challenge Part 1
12:07
Lambda Challenge Part 2
16:33

Streams - Old content for Java 11

3 lectures
Streams
13:50
Streams - Intermediate and Terminal Operations
13:06
Streams - Flatmap & Lambda Best Practices
21:30

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

12 lectures
Naming Conventions
07:09
Packages
17:40
Packages Part 2
11:40
Packages Part 3
12:05
Packages (Challenge Exercise)
13:28
Scope
17:25
Scope Part 2 and Visibility
12:07
Scope +(Challenge Exercise)
06:53
Access Modifiers
16:51
The static statement
12:32
The final statement
14:37
Final Part 2 and Static Initializers
09:01

Java Collections - Old content for Java 11

28 lectures
Collections Overview
15:47
Binary Search
15:39
Collections List Methods
18:23
Comparable and Comparator
18:55
Maps
16:51
Map Continued and Adventure Game
16:33
Adding Exits to the Adventure game
18:04
Adventure Game challenge
08:13
Adventure Game
1 question
Immutable Classes
15:42
Immutable Class Challenge
04:32
Sets & HashSet
19:52
HashSet - equals() and hashCode()
16:52
Finish off equals() and hashcode()
10:56
Potential issue with equals() and sub-classing
11:59
Sets - Symmetric & Asymmetric
15:34
Finishing Off Sets
09:16
Sets Challenge Part 1
15:26
Sets Challenge Part 2
12:50
Sets Challenge Part 3
18:17
Sorted Collections
13:11
StockList Class With Maps
17:05
Add a Basket
15:49
TreeMap and Unmodifiable Maps
20:50
Challenge Part 1
12:40
Challenge Part 2
10:52
Challenge Part 3
07:56
Challenge Part 4 (Final)
18:04

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

38 lectures
Exceptions
14:00
Stack Trace and Call Stack
13:04
Catching and throwing Exceptions
14:20
Multi Catch Exceptions
08:06
Introduction to I/O
15:55
Writing content - FileWriter class and Finally block
14:57
Try with Resources
12:12
FileReader and Closeable
12:55
BufferedReader
12:59
Load Big Location and Exits Files
07:29
Challenge
05:01
Buffered Writer and Challenge
13:11
Byte Streams
15:45
Reading Binary Data and End of File Exceptions
15:44
Object Input Output including Serialization
14:15
Finish Object I/O and RandomAccessFile class
16:03
Create Random Access File
14:29
Update Static Initializer Block With Random File Access
11:37
Update Adventure Game to Read Random Access File
14:20
Java NIO
14:47
Writing Objects With Java NIO
11:36
Reading and Writing with Java NIO
15:47
Writing Binary Files with Java NIO
13:36
Reading Files with NIO
15:47
Absolute and Relative Reads
11:10
Chained Put Methods
13:55
Writing Sequentially
13:04
FileChannel to Copy Files and Pipes with Threads
15:04
Filesystem
18:02
More on Paths
12:17
Exists and CopyFile
11:59
Move, Rename and Delete
11:16
File Attributes
12:50
Read Existing Directory Contents
14:15
Separators Temp Files and File Stores
12:25
Walk File Tree
11:33
Copy Entire Tree
12:58
Mapping IO and NIO Methods
12:53

Regular Expressions - Old content for Java 11

8 lectures
Regular Expressions Introduction
16:21
Character classes and Boundary Matchers
13:55
Quantifiers and the Pattern and Matcher classes
14:42
Matcher find and Group Methods
15:03
And, Or & Not
15:26
Regular Expressions Challenge Part 1
17:04
Regular Expressions Challenge Part 2
15:30
Regular Expressions Challenge Part 3
06:13

Databases - Old content for Java 11

35 lectures
Section Introduction
01:55
Database Terminology
10:32
Install and Setup SQLite for Windows
07:56
Install and Setup SQLite for Mac
02:00
Install and Setup SQLite for Linux
02:38
Introduction to SQLite
11:15
More with SQLite
10:42
Querying Data With SQL
16:02
SQL Order by and Joins
13:11
More Complex Joins
11:44
Wildcards in Queries and Views
15:17
Housekeeping and Final SQL Challenge
14:17
JDBC and SQLite GUI Browser
15:49
Creating Databases With JDBC in Java
17:26
JDBC Insert, Update, Delete
15:49
.executeQuery() and using Constants
20:39
The Music SQLite Database
12:43
Write Java Query for Artists
14:46
Executing SQL in DB Browser
17:18
Query Albums by Artist Method
16:23
Query Artists for Song method
15:03
Result Set Meta Data
14:38
Functions and Views
16:38
Write the Method to Query View
11:48
SQL Injection Attacks and Prepared Statements
17:01
Transactions
13:40
Inserting Records With JDBC
10:08
Insert Albums, Artists, and Songs
14:00
Test Insert JDBC Code
18:07
JDBC with a GUI Program
17:53
Add Artists
12:35
Fix Artist and Preload Records
13:23
Implement Artist Query
11:57
Add ProgressBar
09:38
Handling Updates
15:14

Java Networking Programming - Old content for Java 11

9 lectures
Networking Overview
09:39
First Client and Server Apps
15:02
Multi Threaded Server
14:04
Multi-Threading and Timeouts
12:46
UDP Server and Client
18:13
High Level APIS
18:55
URL Connections and Input Stream Reader
16:06
HTTPUrlConnection
17:57
Alternatives to HTTPUrlConnection
21:06

Archived Videos

2 lectures
Old JavaFX Introduction Video for JDK 8
17:31
Old JavaFX Code Vs FXml Video for JDK 8
13:27

Extra Information - Source code, and other stuff

2 lectures
Source code for all Programs
28:53
Bonus Lecture and Information
05:01

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.