Best Java Certification Courses

Find the best online Java Certification Courses for you. The courses are sorted based on popularity and user ratings. We do not allow paid placements in any of our rankings. We also have a separate page listing only the Free Java Certification Courses.

Java Tutorial for Complete Beginners

Learn to program using the Java programming language

Created by John Purcell - Software Development Trainer


Students: 1617393, Price: Free

Students: 1617393, Price:  Free

Learn to program in the Java programming language. This course assumes no prior programming knowledge, just a desire to learn to program.

Java Programming Masterclass covering Java 11 & Java 17

Learn Java In This Course And Become a Computer Programmer. Obtain valuable Core Java Skills And Java Certification

Created by Tim Buchalka - Java Python Android and C# Expert Developer - 987K+ students


Students: 592244, Price: $99.99

Students: 592244, Price:  Paid

You’ve just stumbled upon the most complete, in-depth Java programming course online. With close to 600,000 students enrolled and over one hundred and forty 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 quickly.

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

N.B. Java 17 support coming soon, read on below...

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 80 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.

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 either #1 or in the top 3.  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.

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 July 21 the version of Java that offers this long-term support (LTS) is Java 11 - It's being fully supported until at least 2025 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 11.

The next LTS version of Java is Java 17, scheduled for release in September 2021.   The course will be updated, and the updates made available to you free once Java 17 is live.  The course will also be updated in the future as new LTS versions are announced by Oracle.

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 close to 600,000 students who are already enrolled in the course.

There are well over 140,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. In order 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.


Don't worry if none of that made sense. I go into great 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 great 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 close to  40 years of experience as a software developer and teacher and have been using Java since the year 2000. Yes, over 21 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 in order to code awesome, profitable projects,

Is the course updated?

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).

I've continued to do this since the original version of the course came out, and recently have been updating it to Java 11.  And again, once Java 17 is live, I'll be on the update trail again, to Java 17.

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 last 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?

Enroll 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!)

Java Multithreading

Unveiling the mysteries of multithreading in Java. The ultimate Java multithreading course

Created by John Purcell - Software Development Trainer


Students: 251247, Price: Free

Students: 251247, Price:  Free

Discover how to write effective multi-threaded code in Java; learn why problems can occur with Java multithreading and how to fix those problems.

Java Design Patterns and Architecture

Discover how to use design patterns to structure and simplify your Java program on this FREE Java Tutorial for Beginners

Created by John Purcell - Software Development Trainer


Students: 195416, Price: Free

Students: 195416, Price:  Free

Discover some of the most useful, important and common design patterns in Java; reusable code patterns that you can use to structure your program and perform common tasks. Includes lots of examples with full source code. "Design Patterns" has been the big buzz phrase in the Java community for some time now, and if you want to be able to write effective Java programs, work as a Java developer or pass exams in Java, you can't afford to miss out. Fortunately, this course is entirely free :)

Take this FREE Java Design Patterns and Java Architecture course right now and learn everything about java design patterns and java architecture.

Java Database Connection: JDBC and MySQL

Learn how to connect to a MySQL database with Java JDBC

Created by Chad Darby - Popular Java Spring Instructor - Best Seller


Students: 142790, Price: Free

Students: 142790, Price:  Free

This course assumes you have some knowledge of databases.


Join 15,000+ highly engaged students

All source code is available for download

Responsive instructor available to answer your questions.


Excellent 5-Star Reviews!

Very well designed course. I like clarity and delivery of contents. I wish there were more courses from Chad !!!!

- Satish Jain

I have to say that I was extremely pleased to note that his lecture material was straightforward and to the point. I was also impressed with how well he structured the contents! His presence was felt as he periodically showed interest in my progress. I would definitely recommend his material to anyone interested in expanding their programming knowledge with additional tools.

- Marc-Alexandru

If you want to learn everything about JDBC - this is the course for you! Excellent content. Brilliant explanation.

- Vishal Kumar


In this course, you learn how to connect to a MySQL database using Java JDBC.

The course starts with an overview of the JDBC API. Then you learn how to set up your development environment with the appropriate MySQL database drivers. Next the course shows you how to submit a SQL query and process the result set. Also, you learn how to perform SQL insert, updates and deletes.

The course moves on to advanced topics such as Prepared Statements to handle SQL paramaters. You also learn how to call stored procedures using various parameter types (IN, INOUT, OUT and ResultSet). Next, the course shows you how to process large data types such as BLOBs and CLOBs. Finally, the course wraps up with a section on reading database connection information from a configuration file.

Who Is This Course Suitable For?

  • Java developers: beginner, intermediate or advanced

Note: This course assumes you have some knowledge of databases.

You Will Learn How To

  • Connect to a MySQL Database with Java
  • Submit SQL statements to insert, update and delete data
  • Handle SQL parameters with Prepared Statements
  • Calls stored procedures and handle various parameter types (IN, INOUT etc..)
  • Read and write BLOB and CLOB data files
  • Configure your database connection information with properties files

Source Code

  • All source code is available for download
  • All database scripts are available for download

Course Requirements

You should have the following software already installed.

  • MySQL Database
  • Java Development Kit

Java Programming Basics

Learn to program! Let's walk through some simple examples and I'll explain everything along the way.

Created by Charles Mulic - Professional Code Monkey


Students: 135830, Price: Free

Students: 135830, Price:  Free

Learn about programming through a series of short, concise examples with line by line explanations covering everything from getting up and running to object oriented programming, data structures, and various tips and tricks to help you along your way.

Section 1 will get you up and running with everything you'll need to write and run Java programs.

Section 2 will introduce fundamental programming concepts such as variables, methods, and control structures that will put you well on your way to writing your own applications.

Section 3 dives a bit deeper as we learn about object oriented programming. You'll learn how to write code that can be reused easily, as well as gain some insight into technical details about how programs actually run on hardware.

Eclipse IDE for Beginners: Increase Your Java Productivity

This course delivers the step-by-step guidance to help you master the core topics and techniques with Eclipse.

Created by Chad Darby - Popular Java Spring Instructor - Best Seller


Students: 101236, Price: Free

Students: 101236, Price:  Free

This course assumes you have some knowledge of Java.


Join 33,000+ Highly engaged students!

Responsive instructor available to answer your questions.


Excellent 5-Star Reviews!

Great for Beginners. I highly think the course was well laid out, short videos, easy to understand. I loved the course greatly. - Mike Ford

Good introduction to Eclipse. The instructor has done a pretty good job in putting together this material..very handy..Thank you. - Rajesh R

This was an excellent overview on how to use Eclipse. ... The course was perfect because it was just right the right amount of details and topics covered. Recommended for all beginners and those who just need a refresher. - Maureen Glaeser


This course provides an excellent introduction to the Eclipse IDE Development tool. This course is aimed at developers who want to quickly get up to speed with developing applications with Eclipse.

The course covers how to install Eclipse and customize Eclipse for your environment. You also learn how to create Java applications in the Eclipse which includes using the debugger.

The course shows you how to make use of a number of Eclipse productivity techniques such as navigating the source code, generating source code and creating unit tests. The course wraps by showing you how to import and export projects.

By the end of the course, you will have covered the major features of Eclipse and you can immediately apply them on your Java project.

Who Is This Course Suitable For?

  • Java developers: beginner, intermediate or advanced

Note: This course assumes you have some knowledge of Java.

You Will Learn How To

  1. Install the Eclipse IDE on their own computer
  2. Create a Java application with Eclipse
  3. Customize the Eclipse user interface
  4. Generate Java Source Code using Eclipse Wizards
  5. Refactor and Debug Java Source Code
  6. Run JUnit Tests
  7. Import and Export Projects
  8. Add External JAR files to your Eclipse Project

Java Servlets and JSP – Build Java EE(JEE) app in 25 Steps

Learn Java EE - Java Servlets and JSP with a Hands-on Step by Step Approach building a Todo Management Application!

Created by in28Minutes Official - DevOps, Azure, GCP, Docker, Kubernetes, Java & Spring Boot


Students: 65501, Price: Free

Students: 65501, Price:  Free


"It's so easy to follow and you learn seamlessly by examples"

"Simple and perfect. I would recommend for any one who wants to begin Java web development"

"I'd strongly recommend to all the beginners to go through this tutorial. It helps in clearing side dish technologies for Java. The quality is good and the instructor really explained very clearly. Thanks!"

"Perfect for a beginner to understand the basics & to continue interest in web application development !! Thanks :)"

Course Description

Developing your first Java Web Application using JSP and Servlets is fun.

In this course, you will learn the basics developing a Basic Todo Management Application using Java Servlets and JSP with Login and Logout functionalities.

You will build a Dynamic Website using the Core technologies of Java Web Programming. You will understand the basic concepts of Java Web Application Development - HTTP protocol, Request-Response cycle, Java Servlets, JSPs.

You will build the website step by step - in more than 25 steps. This course would be a perfect first step as an introduction to Java Web Application Development.

We will be using Tomcat Web Server and Eclipse IDE. We will help you set these up.

You will learn

  • Basic Web Application Architecture - Model 1 and Model 2 MVC
  • Basics of Java EE - Servlets, JSP, Scriptlets, JSTL, web dot xml and EL
  • Basic Flow of a Web Application, Forms, Request and Response
  • Basics of creating a Web Page using CSS and HTML
  • Basics of using Maven, Tomcat and Eclipse
  • Difference between Session and Request Scopes


  • Step 01 : Up and running with a Web Application in Tomcat
  • Step 02 : First JSP
  • Step 03 : Adding a Get Parameter name
  • Step 04 : Adding another Get Parameter Password
  • Step 05 : Let's add a form
  • Step 06 : New Form and doPost
  • Step 07 : Adding Password and Validation of User Id / Password combination
  • Step 08 : Adding a TodoService and Todos to welcome page
  • Step 09 : Bit of Refactoring - Packages
  • Step 10 : Redirect from One Servlet to another - New TodoServlet.
  • Step 11 : First JSTL Tag : Using a Loop around todos
  • Step 12 : Difference between Session and Request Scopes
  • Step 13 : Add a New Todo
  • Step 14 : Delete Todo with equals and hashcode methods
  • Step 15 : Adding webjars for jquery and bootstrap
  • Step 16 : Missing Step :) We want you to take a break. Nothing in here..
  • Step 17 : Updating Bootstrap to 3.3.6
  • Step 18 : More Refactoring
  • Step 19 : Adding a Filter for More Security.
  • Step 20 : Logout
  • Step 21 : Theory : Understand Maven and Tomcat
  • Step 22 : Theory : Servlet LifeCycle
  • Step 23 : Theory : Model 1 and Model 2 MVC Architectures
  • Step 24 : Moving Add Functionality to a New Page.
  • Step 25 : Add Category Field
  • Step 26 : Format the JSPs better.
  • Step 27 : JSP Fragments

We do NOT interact with a Database in this Beginner’s Course.

Object Oriented Programming (OOPs) for JAVA Interviews

To clear Java Interviews with confidence



Students: 62442, Price: Free

Students: 62442, Price:  Free

The student can get complete knowledge on the following topics:

1. Java Source File Structure

2. Import Statement

3. Package Statement

4. Class Level Modifiers

5. Abstract Method

6. Abstract class

7. Member Modifiers

8. Interfaces

9. Data Hiding

10. Abstraction

11. Encapsulation

12. Tightly Encapsulated Class

13. Inheritance

14. Importance of Inheritance

15. Types of Inheritance

16. Multiple Inheritance

17. Cyclic Inheritance

18. Method Signature

19. Overloading

20. Method Overriding

21. Method Hiding

22. Polymorphism

23. Object Typecasting

24. Constructors

Introduction to programming with Java

Learn Java programming with examples, quizzes and coding exercises - Free Course.

Created by Kiril Anastasov - Java software Engineer| Programming Instructor


Students: 60104, Price: Free

Students: 60104, Price:  Free

Did you know that If computer programming were a country, it would be the third most diverse for languages spoken! Still Java is one of the most used programming languages. Programming is hard and that is precisely why you should learn it and embrace the difficulty!

What others say about the course:

Jovani Etienne

"awesome instructor. just a nice stuff . keep it up"

Daniela Mihalkova

"Brilliant trainer – great charisma – lovely, relaxed, very clear. Really enjoyed the session, thank you!"

Payal Fichadiya  

"Very easy to understand"

I have been a software developer for a several years and I have been passionate about teaching for a long time. For example, in university I was helping my fellow friends with their homework's and assignments. I became Java SE 7 Certified Associate (OCA) in 2012 and ever since I have been passionate about Java. "Write Once, Use Anywhere" is probably one of the most important features of Java. 

This is an introduction to Java programming course that consist of over 2 hours of video lectures, 32 quizzes and 8 coding exercises. You do not need any programming experience. I will walk you step by step toward the projects. Starting by installing the required software JDK and Eclipse. Then we will go through Creating Projects, Classes and Packages. Next we will cover the programming logic and the syntax of Java. After each chapter there is a quick quiz to refresh your knowledge and there is an optional practical coding exercise to test if you are ready to continue to the next chapter.

 We are going to cover: 

  • Basic programming
  • If and switch statements
  • For and While Loops
  • Methods
  • Single and Multidimensional Arrays
  • Objects
  • Text Input/Outpu
  • Inheritance and Polymorphism
  • Abstract classes and Interfaces
  • Exceptions

Java for Absolute Beginners

Java Tutorial for Absolute Beginners. Learn Java For Free. Go from Beginner to Expert in Java.

Created by Ashok Tulachan - CEO at


Students: 56311, Price: Free

Students: 56311, Price:  Free

Hello Students,

As the Course title says it all,  this course "Java For Absolute Beginners" is created absolutely for any one wanting to get their hands dirty and learn programming language

Since Java is the most commonly used language, It is very essential to learn Java if you want to get your hands dirty and learn some programming language.

If you are new to programming or have no prior knowledge about programming, then look nowhere.

This course is totally dedicated and planned for new comers who wants to learn programming and there is no any other popular language than "Java" to learn programming.

Please find the curriculum or course contents below.

Section 1: Introduction

  1. Introduction

  2. Course Overview

Section 2: Software Setup

  1. Java Installation for Mac

  2. Bash Profile Set up for Mac

  3. Java Installation for Windows

  4. IntelliJ installation for Mac

  5. IntelliJ Installation for Windows

Section 3: Java Essentials

  1. Hello World 

  2. What is String?

  3. Datatypes in Java

  4. Conditional Execution - If & Else

  5. Conditional Execution - If, Else If & Else

  6. Conditional Execution - OR, AND

  7. Conditional Execution - Switch

  8. Arrays in Java

  9. Looping in Java - for loop

  10. Looping in Java - while loop

  11. Looping in Java - Arrays - part 1

  12. Looping in Java - Arrays - part 2

  13. String Interpolation

  14. Java Methods part 1

  15. Java Methods part 2

  16. What are Java Classes

  17. Types of Java Method - Static Methods

  18. Types of Java Method - Instance Methods

  19. Types of Java Method - Constructor Method

  20. Getters and Setters in Java

  21. Instance Variables in Java

  22. Java Static Variables & Constants

  23. What are Java Packages?

  24. Java String Class Methods

  25. Java Integer Class Methods

  26. Regular Expressions in Java

Section 4: Intermediate Java

  1. Java OOP - Encapsulation

  2. Java OOP - Inheritance - part 1

  3. Java OOP - Inheritance - part 2

  4. Java OOP - Polymorphism

  5. Java OOP - Overriding

  6. Java OOP - Overloading

  7. Java OOP - Abstract Class

  8. Java OOP - Interface

  9. Java OOP - Array List

  10. Java OOP - Linked List

  11. Java OOP - Vector

  12. Java Access Modifiers - Private

  13. Java Access Modifiers - Default

  14. Java Access Modifiers - Protected

  15. Java Access Modifiers - Public

  16. Java Access Modifiers Recap

  17. Java File IO Types - Byte Stream

  18. Java File IO Types - Character Stream

Section 5: JUnit Testing Framework

  1. Intro to JUnit - part 1

  2. JUnit Continued

Section 6: Java Build Tool - Maven

  1. Intro to Maven

  2. Maven Installation for Mac

  3. Maven Installation for Windows

  4. Maven Project Demo

Section 7: Conclusion

  1. Helpful Resources

  2. Bonus (Secret)

  3. Final Words

Happy Coding!



Oracle Certification: Mastering Java for Beginners & Experts

Java is one of the most popular programming languages. Companies like Facebook, Microsoft and Apple all want Java

Created by Frahaan Hussain - CEO and Lead Developer at Sonar Systems


Students: 55544, Price: $94.99

Students: 55544, Price:  Paid

Learn about everything there is to know about Java Applications and How To Program Them. A step by step process is used to show explain every facet of these topics.

Gain a good understanding of the following concepts with this course:

  1. What Java is?

  2. Oracle Java Certification

  3. How to program in the Java language

  4. Features of the Java programming language

  5. Coding semantics

  6. Website programming

  7. Design practises of applications

  8. Application programming

  9. Object Oriented programming

  10. Network programming

  11. Email programming

  12. Applet programming

  13. Multithreading programming

Java is fast becoming a worldwide Tour De Force that is requested by all companies such as Google, Facebook and Microsoft. This course will ensure you are not left as more and more companies request this awesome language. This course will teach your everything about programming Java applications and websites.

You will receive all the knowledge to use and leverage the powerful technology behind these amazing and wonderful platforms.

Over 205,000 students have enrolled on my courses and all of them are extremely satisfied. You will also be satisfied with this course. If you do not like the course, remember that within 30 days you can request a full refundI guarantee you satisfaction.

If you have any questions regarding the topics covered in this course, please feel free to ask. I'm always happy to help those who want to learn.

To summarise this is what you get:

• Lifetime access to HD quality videos. No monthly subscription. Learn at your own pace, whenever you want.

• All videos are downloadable. Learn wherever you want, even without an internet connection!

• Downloadable starter code and final code for each section.

• Free helpful support in the course Q&A when you have questions or get stuck.

• Multiple coding challenges to practice your new skills (solutions included).

Sounds great? Then start this adventure today by clicking the “Take this course" button, and join me in the only course that you will need!

Eclipse Tutorial For Beginners : Learn Java IDE in 10 Steps

Become More Productive Today

Created by in28Minutes Official - DevOps, Azure, GCP, Docker, Kubernetes, Java & Spring Boot


Students: 52467, Price: Free

Students: 52467, Price:  Free

Eclipse is the most popular Open Source Java IDE. More developers use Eclipse than any other tool for Java Programming.

In this course, we take you on a fun ride with Eclipse.

By the end of this course, you would have a number of Eclipse tips and tricks up your sleeve. You will also understand various features of Eclipse - Views, Perspectives, Debugger, Save Actions, Plugins and Code Generation.

You will improve your productivity with Eclipse Shortcuts . You will also learn to import projects from Git and the basics of Maven projects.

Course is Organised into 11 Steps : Experienced Eclipse Developers can give Step 0 a skip

  • Step 0 : Eclipse Basics - Workspace & Your First Java File
  • Step 1 : Most Important Editing Shortcuts ctrl-1 and ctrl-space
  • Step 2 : Debugging Java Programs
  • Step 3 : Eclipse Short Cuts
  • Step 4 : Refactoring with Eclipse
  • Step 5 : Code Generation with Eclipse
  • Step 6 : Automate with Save Actions
  • Step 7 : Eclipse Views
  • Step 8 : Eclipse Perspectives
  • Step 9 : Plugins
  • Step 10 : Setting up Projects From Git and Maven

Java for Noobs

Beginners Guide to Programming in Java

Created by Pedro Mercado - Programmer


Students: 51684, Price: Free

Students: 51684, Price:  Free

Hello, my name is Pedro Mercado and I would like to teach you how to program in Java. Go from a Noob to a pro learning the fundamentals of object oriented programming. This course is designed to taking you from not knowing anything about programming to being able to comfortably being able to program in java.

Learn how to Program in one of the worlds most popular programming language. This course is a beginners course taking you step by step through pain of learning a programming language on your own. With Java being literally everywhere, running on multiple platforms such as windows,mac,linux,android,etc. Its a no brainer that Java is the go to language to teach at high school and colleges across the world.

The course is structured as follow:

  • You will be walked through various topics in java
  • You will be given problems as well to their solutions at the end of various sections to test your knowledge

The Complete Java Certification Course

Become a confident industry ready core Java developer and get certified as a Java professional!

Created by Imtiaz Ahmad - Senior Software Engineer & Trainer @ Job Ready Programmer


Students: 48456, Price: $139.99

Students: 48456, Price:  Paid

LAST UPDATED: November 2020

  - Latest updates include Lambdas and Streams with Java 9 Features.

Welcome to Master Practical Java Development.  This course is designed to help you master the most in-demand and critical components for becoming a Core Java developer. Especially if you're going for a job interview or have a Java Project that needs your best performance. This course assumes no prior java experience so  prior Java so it will take you from zero to hero!

The topics covered include Object Orientation which I think is not stressed enough in other Java courses so I've got special focus on that throughout the lectures. You'll get plenty of practice writing classes and interfaces as well as countless methods with loops and if else statements, exception handling and file processing as well as how to debug software using Eclipse. You'll also be mastering the collections framework and diving deep into java generics. You'll learn all there is to know about multi-threading and the JDBC API for working with a MySQL database. There are also practical projects scattered throughout the course so that you can practice the concepts as you learn them. For example one of the projects is related to a car dealership management system and another assignment involves processing files with stock market data. So as you can see, I tried to keep the projects professional and industry relevant rather than cloning a game like flappy bird.

I want this course to be the ultimate go-to resource for anyone that's looking to become a core Java programmer so I intend on adding more content to this course based on new technologies and student feedback. The content is Java 9 ready which means I'll show you how to upgrade to the latest version of Java which is version 9 and I'll teach you how to configure Eclipse to work with both Java 8 as well as version 9.

Don’t just take it from me, take it from other students that have taken this course.

★★★★★ Here’s reviews from real students that took this course ★★★★★

★★★★★ Instructions are very clear and easy to follow. I know nothing about java and so far I’m keeping up just fine.

★★★★★ Easy to understand the difficult topics as well. Overall nice course. Learnt the basic java concepts very well and also collections framework and JDBC topics are also very nicely explained.

★★★★★ The explanation of each concept is done very well. This is a great course for beginners.

★★★★★ This course is awesome! The teacher is very thorough with his explanations of the theory and application. I'm really enjoying it!

★★★★★ Yes it is for sure the best!! As it covers all the topic from basic to advanced topics in java.

★★★★★ I am taking my second semester of Java programming at university. I signed up for this course to augment my university studies. I learn more from this one course with a better understanding of programming principles than I have learned at university.The university gives me college credit; this course will get me a job!

★★★★★ I'm taking a class about object-oriented programming in relation to Java. However, the reading material uses quite a bit of technical lengthy jargon that I simply get confused. This class has been extremely helpful in presenting concepts in a straightforward and simple way. I can understand what he's explaining and it makes sense. This is a fantastic course and I'd recommend it to anyone who is feeling discouraged about learning about object-oriented programming.

★★★★★ Congratulations – the instructor has turned complicated topics into easy interactive components. High praises to the instructor are in order. The instructor was very knowledgeable, worked at a good pace, and most importantly, was very good at communicating.

Topics covered in this course:

  • Variables

  • Data Types

  • Arrays

  • Control Flow

  • Methods

  • Classes

  • Objects

  • Program Flow

  • Class Inheritance

  • Interfaces

  • Abstract Classes

  • Strings

  • While & For Loops

  • Nested For Loops

  • Debugger

  • Building and Deploying Java Programs with JAR Files

  • File Processing

  • Collections Framework

  • Collection Methods

  • Hashcode, HashMap, LinkedHashMap and TreeMap

  • Java Generics

  • Threading

  • Java JDBC

  • JShell

  • Lambda Expressions

  • Streams API

I'm confident that you'll enjoy this course at-least as much if not more than my other popular Java courses, but as always you've got a 30 day money back guarantee no questions asked! Check out the preview lectures and join today!

Learn Java Programming

Java for Testers and Developers

Created by Pavan Kumar - Test Architect ★ Tech Educator ★ Trainer ★ YouTuber


Students: 42255, Price: Free

Students: 42255, Price:  Free

Why Learn Java?

Java is a general-purpose, versatile and popular programming language. It's great as a first language because it is concise and easy to read, and it is also a good language to have in any programmer's stack as it can be used for everything from web development to software development and scientific applications.

Take-Away Skills:

This course is a great introduction to both fundamental programming concepts and the Java programming language. By the end, you'll be comfortable programming in Core Java.

Topics Covered:

Module-1: Java Fundamentals

  • Download and install Java

  • Setup Java Environment

  • Download and install Eclipse

  • How to use Eclipse

  • Basic Java Program

  • Compile and run a Java program

  • Understanding console output

  • Java Variables and Data Types

  • Java Operators

  • Conditional statements

  • Loops

  • Break and continue

  • Arrays

  • Single Dimensional array

  • Double Dimensional array

  • String Class

  • String methods

Module-2: Java OOPS Concepts

  • Classes and Objects

  • Java methods

  • Passing parameters to the methods

  • Call by value and call by reference

  • Java Constructor

  • Method Overloading

  • Constructor Overloading

  • this keyword

  • Static variables and methods

  • Java Inheritance

  • Method Overriding

  • super keyword

  • final keyword

  • Java Interfaces

  • Java Packages

  • Access Modifiers

  • Exception Handling

  • Array List

  • Hash Map

  • JDBC

First Steps in Java

Get a good grasp on the basics of Java programming language: topics ranging from basic syntax to database operations

Created by Holczer Balazs - Software Engineer


Students: 35701, Price: Free

Students: 35701, Price:  Free


This course is designed for students or anyone else who want to start Java as a programming language. We will consider several topics ranging from installing Java itself to MySQL database operations. The first chapter will be about the basics: loops, decision making, variables and so on. The next chapters will be about exception handling as well as how to deal with input/output operations. Of course, we will consider the object orinted principles: inheritance, polymorphism and encapsulation as well. The last chapter will be about how to connect to a MySQL database and how to make the basic database-related operations: inserting new items, removing items or updating items in the database table.

Hope you will like it!

Java 8 Functional Programming: Lambda Expressions Quickly

Get up and running with Java lambdas confidently - in conceptual, practical and intuitive manner - in 30 minutes

Created by Sanjay Patel - Software Architect And Developer


Students: 33200, Price: Free

Students: 33200, Price:  Free

This is a very rapid course on Java 8 functional programming.

Functional programming has been the most important of all Java 8 new features. Using Java 8 functional programming, we can now code many things much faster than before, in a concisefluent and readable manner. But, unless you learn those functional programming features properly, getting used to those becomes a bit confusing. So, in this course, we are going to grasp how to do functional programming in an intuitive and conceptual manner, very rapidly. We'll learn each feature with simple and crisp examples, which'll be very brief but quite informative.

This course is actually part I of a two-part course. It covers about Java Lambdas, e.g. lambda expressions, method references, composing lambda expressions etc. The next part, which is coming soon, will be about Streams. You'll find link to that in the resources section of the last lesson.

We've done some practical exercises in the lessons here, and the links to the source codes are available in the resources section.

Java Programming: Beginner to Guru

Become a Java Developer with this Java Programming Course for beginners! Get hired as a Java Developer!

Created by John Thompson - Spring Framework Guru - Best Selling Instructor


Students: 28077, Price: Free

Students: 28077, Price:  Free

High paying Java programming jobs are going unfilled because companies cannot find Java programmers.

Do you want to start a career as a Java Programmer?

Start Here!

*** This course is Brand NEW in 2020! It is being offered for FREE as content is developed and added! ***

The Java Programming is the number one programming language in the world. Companies big and small rely upon Java for their software needs.

Even though Java first came out in 1995, the language has continued to evolve with every release. Each release adds modern features to the Java language, which maintains its popularity.

Java also has a thriving Open Source community. Companies have a wide range of cloud scale applications to choose from within the Java ecosystem.

It is easy to see why cloud scale companies choose Java! 

Enroll today and start learning Java!

String, StringBuffer & StringBuilder for JAVA Interviews

To clear Java interviews with confidence



Students: 27118, Price: Free

Students: 27118, Price:  Free

The student can get complete knowledge on the following topics:

1. Difference between String and StringBuffer:

          * Mutability Vs Immutability

  * equals() method

2. String Objects Creation : Heap and String Constant Pool(SCP)

3. Importance of String Constant Pool(SCP)

4. Important FAQs on String and StringBuffer

5. Important Constructors of String class

6. Important Methods of String class:

        charAt(), concat(), equals(), equalsIgnoreCase()

        isEmpty(), length(), replace(), substring()

        indexOf(), lastIndexOf(), toLowerCase(), toUpperCase()


7. Important Conclusions about String Immutability

8. Creation of Our Own Immutable Class

9. final vs immutability

10. Need of StringBuffer ?

11. StringBuffer class Constructors 

12. Important Methods of StringBuffer class:   

      length(), capacity(), charAt(), setCharAt(), append()

      insert(), delete(),  deleteCharAt(),reverse() 

      setLength(), ensureCapacity(), trimToSize() 

13. Need of StringBuilder

14. Differences between StringBuffer and StringBuffer

15. String vs StringBuffer and StringBuilder

16. Method Chaining

Learn how to use all Java keywords

Learn what each of the keywords are for and how to use them in your programs.

Created by Kenneth Astl - Software Architect and Developer


Students: 25695, Price: Free

Students: 25695, Price:  Free

This course will show you each of the Java keywords and see examples of how to use them in your code. We will use Netbeans to run the code and show what works and what doesn't in Java.

In less than 1 hour you will see all of the keywords and many that you may not have known existed. Get a better understanding of what Java can do by thoroughly understanding how the keywords fit into the code.

We cover datatypes, flow control, class declaration, modifiers, and miscellaneous keywords.

Java for Beginners – Step by Step

Understand the basics of Java

Created by Raghav Pal - Automation Test Architect | Educator | 12 yrs


Students: 25431, Price: Free

Students: 25431, Price:  Free

If you want to understand the basics of java in an easy and fun way, this course is for you.

You will learn:
1. What is Java
2. How to install Java
3. How to write first Java Program
4. Understand what is JRE, JDK, JVM and JAR
5. Understand and implement Object Oriented Concepts

We will have fun learning java.
Let's Get Started 

Java Programming Certification Training [2021 Edition]

Master the core concepts of Java Programming language & their application to practical projects. Become a Java Developer

Created by Uplatz Training - Fastest growing Global IT Training Provider


Students: 23626, Price: $19.99

Students: 23626, Price:  Paid

This Java Programming Fundamentals course by Uplatz is for anyone who wants to learn Java from scratch, polish java skills, face java interviews and prepare for java certifications. Anyone can take this course and go from zero developments skills to being expert in OOPs and core Java.

Java is the most popular language world wide and technologies like Servlets & JSP, J2EE, Struts, Spring, Hibernate, JMS or android for mobile applications are all based on core Java. Even Kotlin (android's new programming language) becomes easier if you know Java. Having a sound understanding of core java concepts is necessary, if you want to learn advance concepts, frameworks and android programming.

In this Introduction to Java Programming training course, you gain extensive hands-on experience writing, compiling, and executing Java programs. You will learn to build robust applications that use Java’s object-oriented features. Java is known for reliability, maintainability, and ease of development. Its unique architecture enables programmers to develop a single application that can seamlessly run across multiple platforms. Attend this course and learn to leverage these key features.

This Introduction to Java programming training course will teach you the latest Java language syntax and programming skills, allowing you to develop commercial object oriented and functional java applications.

What is Java?

Java is a concurrent, compiled, object-oriented programming language. It was created in 1995 by Sun Microsystems (now Oracle) and can be found across many websites, applications, and programs. It was modelled after C++, but intended to be simpler and easier to use.

Java must be run on a software platform, such as the Java Platform by Oracle or the Android SDK for mobile devices. Java is commonly used in Android apps, enterprise software, financial and scientific software, big data calculations, and web applications.

JavaScript is a high-level programming language, which is one of three core technologies of World Wide Web content production. It can be used to make web pages interactive and provide online programs, such as video games. It is widely used, and is employed by the majority of websites and is supported by all modern web browsers. As you can see, if your hoping for a career in programming or web development then this course will be extremely beneficial, and could help you get the career you want.

Why learn Java?

Java is one of the most popular programming languages out there, mainly because of how versatile and compatible it is. Java can be used for a large number of things, including software development, mobile applications, and large systems development. As of 2019, 88% market share of all smartphones run on Android, the mobile operating system written in Java. Knowing Java opens a great deal of doors for you as a developer.

Who learns Java?

Mobile app developers, web developers, and software engineers might need to know Java to create and maintain their products. Java is less intuitive and more complex than other web development languages like Python, so it’s better to start elsewhere if you’re new to programming.

Objectives of Java Programming Fundamentals course

  • Develop an understanding on Java programming

  • Implement standard SQL queries with databases

  • To be able to program with Java​

  • Core concepts of Java including Variables, datatypes, operators, control statements, arrays, packages, classpath, user-input and debugging

  • Object Oriented Programming concepts and their application

  • String, Wrapper classes, Exception handling and Enumeration in detail

  • Adding appropriate comments to your code

  • Writing professional Java code using Industry best practices

  • Be ready to face interviews

In this Introduction to Java Programming training course, you gain extensive hands-on experience writing, compiling, and executing Java programs. You will learn to build robust applications that use Java’s object-oriented features. Java is known for reliability, maintainability, and ease of development. Its unique architecture enables programmers to develop a single application that can seamlessly run across multiple platforms. Attend this course and learn to leverage these key features.

Java Programming Fundamentals course syllabus

Java Overview

  • How the Java Environment Works

  • HelloWorld Program

  • Launch Single-File Source Code

  • jShell REPL

  • Comments and Terminators

  • Identifiers

Syntax and Types

  • Java Variables

  • var declarations

  • Java Types

  • Basic Java Types

  • Reference types

  • Conditional Expressions

  • Logical operators

  • If statement

  • While Statement

  • Do Statement

  • For statement

  • Special flow of control operators

  • Switch statement

  • Numerical Operators

  • Casting

  • Strings

Classes and Objects

  • What is an Object?

  • Objects and Encapsulation

  • What is a Class?

  • Class Object Relationship

  • The Person class

  • Variable types

  • Constructors

  • Working with the class Person

Working with Methods

  • Method Definitions

  • Method Arguments & Return Types

  • Overloading Methods

  • Method Invocations

  • Defining methods

  • Constructors Versus Methods

  • toString() method

  • Adding behaviour to the class Person

  • The PersonApp program

Class Inheritance

  • Inheritance in Java

  • Implementing Inheritance

  • Rule for overriding methods

  • Rules for Polymorphic variables

  • Casting and Inheritance

  • The super variable

  • Constructors and Inheritance

Abstract Classes, Class Side Behaviour and Final

  • Abstract Classes

  • Abstract Classes in Java

  • Defining an Abstract Class

  • Extending an Abstract Class

  • Using Concrete Subclasses

  • Class Side Information

  • Class Side Data

  • Class Side Behaviour

  • Final Keyword

Java Interfaces and Enumerations

  • What is an Interface in Java?

  • Basic Interface Definitions

  • Implementing an Interface

  • Interface

  • Using an Interface in a Contract

  • Inheritance by Interfaces and Types

  • Classes and multiple Interfaces

  • Default Interface Methods

  • Static Interface Methods

  • Enumeration Support

  • Implementing Enumerated Types


  • Packages

  • Class-Package Relationship

  • Declaring Packages

  • Packaging the Person class

  • Role of the Classpath

  • JAR Files

  • Encapsulation and Packages

  • Class modifier

  • Constructor Modifier

  • Variable Modifier

  • Method Modifiers

  • Package Summary

Java 9+ Modules

  • Introduction the JPMS

  • Java Platform Module System

  • Why we need modules

  • Look at what modules are

  • How to define a module

  • How to create a single module application

  • How to link modules


  • What is a Java Array?

  • Creating arrays of Objects

  • Accessing Array Elements

  • Main method args array

  • Short hand from

  • Ragged Arrays in Java

  • Working with Ragged Arrays

  • Implications of Inheritance for Arrays

  • Integer Array Example

Java Generics

  • Generics and Basic Types

  • Generics and Their Types

  • Adding Generics to your classes

  • A simple user defined Generic class (the Bag class)

  • Type Equality

  • Generic Collection Assignment

  • Generics and Inheritance

Collections Classes

  • Collections API

  • ArrayList

  • Interfaces v Concrete Classes

  • HashMap

  • Iteration and Enumeration

  • Queues

  • Generics and Collections

  • For Loops

  • Boxing and Unboxing

  • Raw Collections

Java 9+ Immutable Collections

  • Why Immutability?

  • Immutability

  • List.of Factory method

  • Set.of Factory method

  • Map.of Factory method

  • Immutable Collection Nodes

  • Java 10 Enhancement

Error and Exception Handling

  • Errors & Exceptions

  • Exception types in Java

  • Part of the Exception Hierarchy

  • Exception Handling

  • Local Handling

  • Exception Handling Example

  • Passing the Buck

  • Try with Resources

  • Defining new Exceptions

  • Chained Exceptions

Nested / Inner Classes

  • Four types of Nested / Inner Class

  • Properties of Member level inner classes

  • Properties of Method Inner classes

  • Anonymous Method Inner classes

  • Java 11 Nest-based Access

Java Functions

  • Functional Programming

  • Functional Programming in Java

  • Functional Interfaces

  • Using Functional Interfaces

  • Lambdas in Java

  • Closing / Capturing Variables

  • Returning Functions

  • Combining Functions

  • Higher Order Functions

  • Defining Lambdas

  • Method References

Java Optional Type

  • Null considered Harmful

  • Java Optional Type

  • Optional Variables

  • Creating Optional values

  • Method Summary

Java 9 Streams

  • Streams

  • Streams from Collections

  • Terminal / Non Terminal Operators

  • Creating a Stream

  • Map Operation

  • Collectors

  • Filter operation

  • Sorted operation

  • ForEach

  • Pipelining Operations

  • Parallel Streams

  • Not just collections

Files, Paths and IO Streams

  • Introducing NIO.2

  • Paths class and Path Interface

  • The Files class

  • File Attributes

  • The File Watcher Service

  • IO Streams

  • Scanners

By the end of this course, you will have:

  • Learnt about Java class and Objects

  • Explored defining methods and properties

  • Examined Class Inheritance

  • Understood Java Interfaces and Enumerations

  • Considered how to use Packages and Modules

  • Learnt about Functional Programming in Java

  • Understood how to handle Errors and Exceptions

  • Worked with Files, paths and Stream IO

  • Used the new Streams API for processing data

  • Explored the Collection classes

What version of Java should you learn?

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

Until recently Java releases were infrequent (one major release in 3 years was common). Companies standardised on specific versions of Java. Right now most companies are still focused on Java 8, which is a relatively old version, dating back to 2015.

Oracle (the owners of Java) are now releasing new versions of Java every six months, and when the new version comes out the old version is no longer supported.

But to cater for most companies who tend to stick to specific versions of Java for a long time, they have marked the current version of Java - Java 11 as LTS - or Long Term support. That means that they guarantee to support this version for the long term - for a number of years at least.

Companies will stick to versions of Java that are supported in the long term. For career purposes you should learn the appropriate versions of Java that your future employer will likely be using. Right now thats Java 8 and Java 11 (Java 9 and Java 10 have been released and already been marked obsolete and are no longer supported).

Job Prospects

According to PayScale, the average salary for a Java developer is $69,722 per year, with an average salary range of $47,169 to $106,610 per year. The highest-paid Java developers are in San Francisco and Arlington, where the average reported yearly salaries are $97,000 per year.

Java Exception Handling For Certification & Interviews

Clear Java Certification : OCJA (1Z0-808) In Simple Way

Created by DURGASOFT DURGA - Software Training Organization


Students: 21587, Price: Free

Students: 21587, Price:  Free

The student can get complete knowledge on the following topics:

1. Introduction to Exception Handling

2. Runtime Stack Mechanism

3. Default Exception Handling

4. Exception Heirarchy and Difference between Exception and Error

5. Difference between Checked and Unchekced Exceptions

6. Difference between Fully-Checked and Partially-Checked Exceptions

7. Customized Exception Handling By using try-catch

8. Control-Flow inside try-catch

9. Methods to print exception information

10. Exception Handling:try with multiple catch blocks

11. Exception Handling:Purpose and speciality of finally block

12. Exception Handling:finally block vs return statement

13. Exception Handling:finally block vs System.exit()

14. Control-Flow in try-catch-finally

15. Nested try-catch-finally

16. Control-Flow in nested try-catch-finally

17. Various Possible combinations of try-catch-finally

18. Need of throw keyword

19. Important cases related to throw keyword

20. Need and Usage of throws keyword

21. throws keyword across multiple methods

22. Important cases related to throws keyword

23. Exception Handling Keywords summary and various possible compile time errors

24. Difference between final, finally and finalize()

25. User Defined or Customized Exception

26. How to define and use User Defined or Customized Exception

27. Top - 10 Exceptions

28. Try with Resources

29. Important Conclusions about Try with Resources

30. Multi Catch Block

31. Exception Propagation and Re throwing an Exception

32. Exception Handling 9 Practice Questions & Explanation

Java Programming, Lambda and more (Java 13, 12, 11, 10, 9,8)

Learn modern Java using Hands-on Step by Step approach. Learn Java 13, Java 12, Java 11, Java10, Java 9, Java 8 features

Created by Syed Ahmed - Principal Engineer


Students: 20998, Price: Free

Students: 20998, Price:  Free

******* Course Overview *******

Welcome to this Amazing course on Java Latest Programming

This course will cover important developer features added in: ​

Java 13, Java 12, Java 11, Java 10, Java 9, Java 8

The course will provide an in-depth understanding of modern java syntax, technology and terminology

The course is for beginners are well as for experienced programmers

If you are taking this course for an upcoming interview, this course covers most of the topics that are asked during Java programming interviews, I am telling you this from my personal experience as I asked these topics myself to gauge candidates understanding of latest java programming and it's syntax​

Each of my courses come with:

Amazing Hands-on Step By Step Learning Experiences

Real Implementation Experience

The below are the list of modules covered in this course.

***************Course details**********************

Section 1: Introduction


Windows - Java Development Kit Installation Overview

Windows - Installing Intellij IDEA

Mac - Java Development Kit Installation Overview

Mac - Installing Intellij IDEA

Intellij IDEA Configuration

Git Repository Link

Development Environment Setup - Import Code

Section 2:Lambda Expressions - Java8+

Java8+ : What is Lambda

Java8+ : Lambda Expression (Part 1)

Java8+ : Lambda Expression (Part 2)

Java8+ : Runnable Example With Lambda

Java8+ : Comparator Example With Lambda

Java8+ : Callable Example With Lambda

Section 3: Functional Interfaces and Lambdas - Java8+

Java8+ : Functional Interfaces

Java8+ : Consumer Functional Interface (Part 1)

Java8+ : Consumer Functional Interface (Part 2)

Java8+ : IntConsumer, LongConsumer, DoubleConsumer

Java8+ : BiConsumer Functional Interface (Part1)

Java8+ : BiConsumer Functional Interface (Part2)

Java8+ : Predicate Functional Interface (Part1)

Java8+ : Predicate Functional Interface (Part 2)

Java8+ : IntPredicate, LongPredicate, DoublePredicate

Java8+ : Predicate & BiConsumer

Java8+ : BiPredicate Functional Interface

Java8+ : Function (Part 1)

Java8+ : Function (Part 2)

Java8+ : BiFunction

Java8+ : Unary Operator

Java8+ : Binary Operator

Java8+ : Supplier

Java8+ : Method Reference (::)

Java8+ : Examples of Method Reference

Java8+ : Convert to Method Reference

Java8+ : Constructor Reference

Section 4:Lambda Variable Scope - Java8+

Java8+ : Variable Scope, Final & Effectively Final

Section 5:RealWorld Example Using Lambda - Java8+

Java8+ : Bank Transfer Example

Section 6:Streams - Java8+

Java8+ : Stream Introduction (Part 1)

Java8+ : Stream Introduction (Part 2)

Java8+ : Inside Streams

Java8+ : Collections vs Streams

Java8+ : Debugging Stream

Section 7:Stream Operations - Java8+

Java8+ : map()

Java8+ : flatMap()

Java8+ : distinct(), count(), sorted(), allMatch()...

Java8+ : Customized sort using comparator

Java8+ : filter()

Java8+ : reduce() (Part 1)

Java8+ : reduce (Part 2)

Java8+ : map + filter + reduce

Java8+ : max() with stream and reduce

Java8+ : min() with stream and reduce

Java8+ : limit() and skip()

Java8+ : findAny() and findFirst()

Section 8:Stream Generators - Java8+

Java8+ : Generating Stream with of(), iterate(), generate()

Section 9:Numeric Streams - Java8+

Java8+ : Introduction to Numeric Streams

Java8+ : IntStream

Java8+ : LongStream

Java8+ : DoubleStream

Java8+ : sum(), max(), min(), average()

Java8+ : Boxing, Unboxing

Java8+ : mapToObj(), mapToLong, mapToDouble()

Section 10:Collectors Operations - Java8+

Java8+ : joining

Java8+ : counting()

Java8+ : mapping()

Java8+ : minBy(), maxBy()

Java8+ : summingInt(), averagingInt()

Java8+ : groupingBy (Part 1)

Java8+ : groupingBy (Part 2)

Java8+ : groupingBy (Part 3)

Java8+ : maxBy(), minBy(), collectingAndThen(), summarizingInt()

Java8+ : partitioningBy()

Section 11:Parallel Streams - Java8+

Java8+ : Introduction to Parallel Streams

Java8+ : Sequential vs Parallel Performance (Part 1)

Java8+ : Sequential vs Parallel Performance (Part 2)

Section 12:Optional - Java8+

Java8+ : Introduction to Optional

Java8+ : empty(), ofNullable(), Of()

Java8+ : orElse(), orElseGet(), orElseThrow()

Java8+ : IfPresent(), isPresent()

Section 13:Default And Static Methods Of Interfaces - Java8+

Java8+ : Introduction of Default And Static Methods

Java8+ : Default Methods

Java8+ : Creating an Interface with Default/Static Methods

Java8+ : Multiple Inheritance

Java8+ : Conflicts in Multiple Inheritance

Section 14:New DateTime APIs : Java8+

Java8+ : new DateTime Introduction

Java8+ : LocalDate - get and create

Java8+ : LocalDate - modify

Java8+ : LocalTime - get and create

Java8+ : LocalTime - modify

Java8+ : LocalDateTime - get, create and modify

Java8+ : LocalDate and LocalTime from LocalDateTime

Java8+ : Duration

Java8+ : Instant

Java8+ : TimeZones - ZonedDateTime, ZoneId

Java8+ : LocalDateTime to ZonedDateTime

Java8+ : Convert and to LocalDateTime/LocalDate

Section 15:Java Shell (REPL) - Java 9+

Java9+ : Java Environment Variable Setup

Java9+ : Introduction to JShell

Java9+ : Getting Started With JShell

Java9+ : Snippet, List and Drop

Java9+ : JShell Shortcuts

Java9+ : Creating Classes

Java9+ : IntelliJ IDEA JShell

Section 16:Module System - Java9+

Java9+ : Introduction to Module System

Java9+ : Example Modular Application

Java9+ : Creating a Modular Application

Java9+ : Modular Application and Maven

Section 17:Factory Methods For Collection - Java9+

Java9+ : Collections Factory Methods

Section 18:Try-with-resources - Java9+

Java9+ : Try-with-resources

Section 19:Type Interference with var - Java10+

Java10+ : var type with examples

Section 20:GC1 Improvements - Java10+

Java9+ : Garbage collection first algorithm improvements

Section 21:var with Lambda - Java11+

Java11+ : Adding var to Lambda

Section 22:Epsilon GC - Java11+

Java11+ : Epsilon GC

Section 23:New Http Client - Java 11+

Java11+ : Http Client API

Section 24:Switch Expression - Java 12+

Java12+ : Switch Expression Intro with Example

Java12+ : Switch Expression with action in cases

Section 25:Switch Expression Enhancements - Java 13+

Java12+ : Switch Expression with yield

Section 26:TextBlocks - Java13+

Java13+ : Multiline TextBlocks

Java 8 Interview Questions Preparation Course

Learn Top 50 Interview Questions on Java 8. Get Success in your Interview.

Created by KnowledgePowerhouse ! - Top most career courses! 30,000+ students are enjoying it!


Students: 19956, Price: Free

Students: 19956, Price:  Free

Java 8 is one of the major releases from Java with features like Streams, Lambdas etc. A lot of companies are looking for software developers proficient in Java 8 features.

This course contains basic to expert level Java 8 interview questions that an interviewer asks. Each question is accompanied with an answer so that you can prepare for job interview in short time. 

We have compiled this course after attending dozens of technical interviews in top-notch companies like- Google, Netflix, Amazon etc.

Often, these questions and concepts are used in our daily programming work. But these are most helpful when an Interviewer is trying to test your deep knowledge of Java 8 features.

What is the biggest benefit of this course to me?

Finally, the biggest benefit of this course is that you will be able to demand higher salary in your next job interview.

It is good to learn Java 8 for theoretical benefits. But if you do not know how to handle interview questions on Java 8, you can not convert your Java 8 knowledge into higher salary.

What are the topics covered in this course?

We cover a wide range of topics in this course. We have questions on Java 8 best practices, Security, Pact, Bulkhead Design Pattern etc.

How will this course help me?

By attending this course, you do not have to spend time searching the Internet for Java 8 interview questions. We have already compiled the list of the most popular and the latest Java 8 Interview questions. 

Are there answers in this course?

Yes, in this course each question is followed by an answer. So you can save time in interview preparation.

What is the best way of viewing this course?

You have to just watch the course from beginning to end. Once you go through all the videos, try to answer the questions in your own words. Also mark the questions that you could not answer by yourself. Then, in second pass go through only the difficult questions. After going through this course 2-3 times, you will be well prepared to face a technical interview in Java 8 topic.

What is the level of questions in this course?

This course contains questions that are good for a Fresher to an Architect level. The difficulty level of question varies in the course from a Fresher to an Experienced professional.

What are the sample questions covered in this course?

Sample questions covered in this course are as follows:

  1. What are the new features released in Java 8?
  2. What are the main benefits of new features introduced in Java 8?
  3. What is a Lambda expression in Java 8?
  4. What are the three main parts of a Lambda expression in Java?
  5. What is the data type of a Lambda expression?
  6. What is the meaning of following lambda expression?
  7. Why did Oracle release a new version of Java like Java 8?
  8. What are the advantages of a lambda expression?
  9. What is a Functional interface in Java 8?
  10. What is a Single Abstract Method (SAM) interface in Java 8?
  11. How can we define a Functional interface in Java 8?
  12. Why do we need Functional interface in Java?
  13. Is it mandatory to use @FunctionalInterface annotation to define a Functional interface in Java 8?
  14. What are the differences between Collection and Stream API in Java 8?
  15. What are the main uses of Stream API in Java 8?
  16. What are the differences between Intermediate and Terminal Operations in Java 8 Streams?
  17. What is a Spliterator in Java 8?
  18. What are the differences between Iterator and Spliterator in Java 8?
  19. What is Type Inference in Java 8?
  20. Does Java 7 support Type Inference?
  21. How does Internal Iteration work in Java 8?
  22. What are the main differences between Internal and External Iterator?
  23. What are the main advantages of Internal Iterator over External Iterator in Java 8?
  24. What are the applications in which we should use Internal Iteration?
  25. What is the main disadvantage of Internal Iteration over External Iteration?
  26. Can we provide implementation of a method in a Java Interface?
  27. What is a Default Method in an Interface?
  28. Why do we need Default method in a Java 8 Interface?
  29. What is the purpose of a Static method in an Interface in Java 8?
  30. What are the core ideas behind the Date/Time API of Java 8?
  31. What are the advantages of new Date and Time API in Java 8 over old Date API?
  32. What are the main differences between legacy Date/Time API in Java and Date/Time API of Java 8?
  33. How can we get duration between two dates or time in Java 8?
  34. What is the new method family introduced in Java 8 for processing of Arrays on multi core machines?
  35. How does Java 8 solve Diamond problem of Multiple Inheritance?
  36. What are the differences between Predicate, Supplier and Consumer in Java 8?
  37. Is it possible to have default method definition in an interface without marking it with default keyword?
  38. Can we create a class that implements two Interfaces with default methods of same name and signature?
  39. How Java 8 supports Multiple Inheritance?
  40. Can we access a static method of an interface by using reference of the interface?
  41. How can you get the name of Parameter in Java by using reflection?
  42. What is Optional in Java 8?
  43. What are the uses of Optional?
  44. Which method in Optional provides the fallback mechanism in case of null value?
  45. How can we get current time by using Date/Time API of Java 8?
  46. Is it possible to define a static method in an Interface?
  47. How can we analyze the dependencies in Java classes and packages?
  48. What are the new JVM arguments introduced by Java 8?
  49. What are the popular annotations introduced in Java 8?
  50. What is a StringJoiner in Java 8?
  51. What is the type of a Lambda expression in Java 8?
  52. What is the target type of a lambda expression ?
  53. What are the main differences between an interface with default method and an abstract class in Java 8?

Java Servlets Certification Training (beginner to advanced)

Comprehensive course on Java Servlet with practical examples and coding on the go. Develop useful web-based applications

Created by Uplatz Training - Fastest growing Global IT Training Provider


Students: 19473, Price: $19.99

Students: 19473, Price:  Paid

A Servlet is a Java Programming language class that is used to extend the capabilities of servers that host applications accessed by means of a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by web servers. It is also a web component that is deployed on the server to create a dynamic web page.

Servlet Technology resides at server side and it generates dynamic web page, used to create web application. Java Servlets are programs that act as a middle layer between a requests coming from a Web browser / HTTP client and databases or the applications on the HTTP server.

Servlet is a Java class that runs inside the container. It allows you to process the HTTP request and generate dynamic web pages, but it's more Java then HTML like you need to code HTML inside Java, which is both erroneous and not recommended. Servlet is mainly used as a Controller in web applications created using the MVC design pattern. One of the famous examples of that is the DispatcherServlet of Spring MVC framework, which acts as a front controller. Its job is to receive request and process it, but the view generate or dynamic web page generation functionality is passed down to JSP. Though it provides the data that need to be shown in JSP, which makes the view part of the Model View Controller (MVC) design pattern.

Before servlets, we had CGI i.e. Common Gateway Interface. It is a standard way for a Web server to pass a user’s request to an application program and receives the response to forward to the user. When the user requests a Web page, the server sends back the requested page. However, when a user fills out a form on a Web page and sends it in, it is processed by an application program. The Web server typically passes the form information to a small application program. This program processes the data and sends back a confirmation message. This process of passing data back and forth between the server and the application is called the common gateway interface (CGI). It is part of the Web’s Hypertext Transfer Protocol.

This practical, application-oriented Java Servlets training by Uplatz teaches Java Servlets technology and shows how to use it to develop simple to complex web applications. It is intended for both the beginners as well as experienced Java (J2SE) programmers who want to build web applications or J2EE components and systems.

The Java Servlet course begins with an overview of server-side Java programming and web protocols. Then students learn the Java Servlets architecture, the request/response cycle, and servlet life cycle, and how to build interactive web applications that parse and/or generate HTML forms. Several prominent patterns for servlet application architecture are considered. Sessions are studied as a means to developing sophisticated client/server conversations over several HTML pages. Multi-tier applications are developed using servlets and JDBC for access to relational databases.

This Java Servlet training develops the important concept of the separation of programmatic and declarative development: use of configuration and context information in lieu of hard-coded values, resource locations, etc., to make the web application as portable and easy to administer as possible. The course introduces JavaBeans as a standard for business and data objects that can be shared among servlets and JSPs, and develops techniques for sharing such objects at session scope or by request forwarding. Finally, students learn how to implement filters to adapt existing servlets by pre- and post-processing the request and response.

Java Servlets - course syllabus

  • Introduction to WorldWideWeb

  • Understanding static and Dynamic webpages

  • How to create a HelloWorld application using servlets

  • Servlet interface, Generic and HttpServlet interfaces

  • Annotation and Xml based configuration in Servlets

  • Difference between Get & Post

  • How Servlet works (Life cycle)

  • Load On Startup Configuration

  • Request Scope in Servlets

  • RequsetDispatcher interface

  • Interservlet communication using Response.sendRedirect

  • ServletConfig

  • ServletContext

  • Session Tracking using cookies

  • HiddenFormFields

  • URL Rewriting

  • HttpSession

  • Filters in servlets

  • FilterConfig

  • Database connection in servlets

  • CRUD operations using servlets to mysql database

  • Events and Listeners in servlets

  • ServletContext Listener

  • HtttpSessionListener

What you will learn in this Java Servlets course

  • Understand and appreciate the role of Java Servlets in the overall Java 2 Enterprise Edition architecture, and as the best Java solution to HTTP application development

  • Use request and response objects provided to a servlet to read CGI parameters and to produce an HTML response

  • Develop interactive web applications using HTML forms and servlets

  • Manage complex conversations with HTTP clients using session attributes

  • Understand the role of JDBC in Java persistence code, and use JDBC for persistence in servlet applications

  • Preserve portability and ease of administration for a servlet application by parameterizing servlet code, using initialization parameters, properties files, and JNDI

  • Use JavaBeans classes to share complex business data between components

  • Implement filters to adapt existing servlets with new features, and to maximize the decomposition of logic between vertical business functions and horizontal facilities

  • Understand and manage HTTP sessions in a web application

  • Create servlet filters and listeners

  • Write pages created with JavaServer Pages technology (JSP pages)

  • Create easy-to-maintain JSP pages using the Expression Language and theJSP Standard Tag Library (JSTL)

  • Use integrated development environments (IDEs) and application serversfor Java EE development and deployment

  • Write servlets using the Java programming language (Java servlets)

Java Servlets: Servlet Architecture

The Java Servlet architecture includes communication interface, protocol used, requirements of client and server, the programming with the languages and software involved. Basically, it performs the below-mentioned tasks.

  • First, it reads the explicit data sent by the clients (browsers). This data can include an HTML form on a Web page, an applet or a custom HTTP client program. It also reads implicit HTTP request data sent by the clients (browsers). This can include cookies, media types and compression schemes the browser understands, and so forth.

  • After that, the servlet processes the data and generate the results. This process may require communicating to a database, executing an RMI, invoking a Web service, or computing the response directly.

  • After processing, it sends the explicit data (i.e., the document) to the clients (browsers). This document can be sent in a variety of formats, including text (HTML or XML), binary (GIF images), or Excel formats.

  • Finally, it also sends the implicit HTTP response to the clients (browsers). This includes telling the browsers or other clients what type of document is being returned

Servlet Life Cycle

The Servlet life cycle mainly includes the following four stages,

  • Loading a Servlet

  • Initializing the Servlet

  • Request handling

  • Destroying the Servlet

Java Servlets: Steps to Create Servlet

  1. Create a directory structure

  2. Create a Servlet

  3. Compile the Servlet

  4. Add mappings to the web.xml file

  5. Start the server and deploy the project

  6. Access the servlet

Java From Scratch

Study Java in a way you understand and have fun in the process

Created by Yakir Gabay - A freelance tutor, developer.


Students: 17609, Price: Free

Students: 17609, Price:  Free

This course will guide you from the absolute beginning from getting your computer ready for Java programming, to creating your own programs and thinking like a programmer.

Most importantly the course was created with a strong emphasis on giving good solid foundations, I believe that by understanding the logic, students will acquire the right tools from the start, and that will also allow them to further enrich their knowledge.

For students entering the world of programming, or for anyone who would find an extra detailed easy going phase helpful. 

Among the studies material: Variables,arithmetic operations,string manipulations,arrays,two dimensional arrays,object,data structures,if statements,loops,nested objects,inheritance, polymorphism and more.

I am also offering an online Java tutoring, for more details, please feel free to contact me.

Oracle Java Certification – Pass the Associate 1Z0-808 Exam.

This course will help you learn the steps to becoming an Oracle Certified Associate (OCA) and get a higher paying job!

Created by Tim Buchalka's Learn Programming Academy - Professional Programmers and Teachers - 1.24M students


Students: 17600, Price: $99.99

Students: 17600, Price:  Paid

So you've learnt some Java, but are struggling to get an interview, let alone a job.

Or you are stuck in a low paying programming job, and want to move up to a better, more senior position.

Maybe you have never programmed before, and are looking for a way to get into programming for the first time.

But, just how do you get employers to notice you?  How do you make your resume stand out of the crowd of programmers looking for work?

By becoming certified as an Oracle Certified Associate (OCA) Java 8 Programmer!

Being certified moves your name to the top of the list for job interviews, because there are so few other  programmers officially certified by Oracle.

The Oracle Certified Associate exam (required to claim Oracle Certification) can be difficult to pass, even for experienced Java developers.  This course makes passing the exam easy!

This course will teach you everything you need to know, to be able to successfully get certified as an Oracle Certified Associate Java 8 Programmer and pass the exam.

Your instructor, Goran Lochert, is himself Java Certified, and an expert Java developer, with many years of programming experience.  Goran knows first hand what is required to pass the exam, because he has done it himself.

He will take you step by step, going through each and every topic you need to master, to be able to pass the exam and receive your official Oracle certification.

It's a fact that you remember about 80% of what you do, and only 30% of what you see, so this is a hands-on course.  It's not just theory, like many other certification courses.  Rather, it's hands-on, and designed for you to follow along, in code. The more you work with the code shown in the course, the sooner you will be able to pass the exam and receive Oracle certification.

If you have taken the OCA exam before and failed, then this course is especially relevant to you.   

In addition to the over 19 hours of videos, there is also practice exams that you can take to test your skills and readiness to pass the exam.

If you are ready to get that first paid programming job, or to move up to a more senior programming position, then this course is for you!

After completing this course, you will have the necessary skills to pass the exam, including the tricky, and difficult questions that can trip up even experienced Java developers.

An example of some of the tricky questions fully explained in the course include polymorphic parameters, immutability, predicates, differences between abstract classes and interfaces with default methods, and so on.

The sooner you sign up for this course, the sooner you will have the skills and knowledge you need to be able to pass the exam and become Oracle Certified.

Your new job awaits!  Why not get started today?  Click the the button to sign up for the course!

Java Certification : OCA (1Z0-808) Exam Simulation [2021]

Pass the Oracle Certified Associate(OCA): Java SE 8 Programmer I EXAM

Created by Udayan Khattry - SCJP, SCWCD & Oracle Database SQL Certified Expert


Students: 16679, Price: $24.99

Students: 16679, Price:  Paid

Are you ready to pass OCA- Java SE 8 Programmer I certification and prove your competency to recruiters and employers alike?

The practice test questions have already helped 409 students to pass the OCA Certification (1Z0-808) exam.

************************ WALL OF FAME for 1Z0-808 ************************


1.  Carlos Rafael Labrada Arce [23-Jul-2021]

2.  Helber Fernandes de França [22-Jul-2021]

3.  Md Salah Uddin Mahtab [11-Jul-2021]

4.  Vikas Rana [08-Jul-2021]

5.  Dinh Phu [05-Jul-2021]

6.  Hebert Tourne Perez [02-Jul-2021]

7.  Maxim [02-Jul-2021]

8.  Maksym Lutovinov

9.  Jay

10. Jijo

11. Shridha Jalihal

12. Rahul Pradhan

13. Sweety Jain

14. Santanu Bhar

15. Sagun Goyal

16. Tomas Chovanec

17. Venkata N R Desaraju

18. Teena John

19. Thomas Garcia

20. Yassine Bouhamed

21. Alden

22. Lehel Mezei

23. George Kazazishvili

24. Anurag Tiwari

25. Christine Roels

26. Mohit Jain

27. Aaron Quico Garcia

28. Ranjan Saha

29. Anonymous

30. Eun Dong Woo

31. Harshit Gupta

32. Seema Hiremath

33. Hemant Shinde

34. Daniele Ruiu

35. Parth Bapat

36. Olivier Corre

37. Nguyen Hung Minh

38. Arun Kagatikar

39. Katherine Misyutina

40. Anonymous

41. Prashant

42. Vishweshvar V

43. Himanshu Joshi

44. Sanket Chalke

45. Rubiya Sultana

46. Akash

47. Tamas Wacha

48. Peter Galvin

49. Pop Florin

50. William Raymond Burnham

51. Ricardo Franco

52. Krishnan Kumar

53. Neena Anilkumar

54. Simona Vinitor

55. Omar Asaad

56. Eren Senturk

57. Szegedi Lorand

58. Beyza Duymayan


1.  Nguyễn Việt Đức [30-Dec-2020]

2.  Syed Ali [30-Dec-2020]

3.  Atila Izac Pereira da Silva [23-Dec-2020]

4.  Aparna [21-Dec-2020]

5.  Vishal [21-Dec-2020]

6.  T. Yassine Latiri [17-Dec-2020]

7.  Sharon [17-Dec-2020]

8.  Michael Vincent Enriquez

9.  Salman

10. Sergii Diukarev

11. Saipronoti Mukherjee

12. Yera Soni

13. Andrey Guzev

14. Luis Mauricio Alamo

15. Rabia Karapinar

16. Mohammed Benali

17. TheDeven

18. Kenyi Galvez Suma

19. Anthony Oswaldo Flores Carrasco

20. Anderson Felipe

21. Luyanda.T. Mkhize

22. Giuseppe Maggio

23. PuckSchool

24. Uğur Yeşilyurt (Saklama)

25. Sahar Pourkarimi

26. Kulani Makhubele

27. Mahesh Chowdary Basineni

28. Collen Makwelo

29. Vladislav Tovt

30. Vaibhav

31. Sandra Kostic

32. Kum Kindeh Kuzekeseh

33. Vinod

34. Monica Murphy

35. Alexander Ponomarev

36. Bongokuhle Dladla

37. Gursimar Singh

38. Grzegorz Ozimski

39. Md Ashraf Al Mamun

40. Viettn24 Tiến

41. Александр Сорокин

42. Gulhan Karali

43. Mukta Pradhan

44. Satish Kumar P

45. Ventsislav Draganov

46. Augusto Moro

47. Bonwoong

48. Anupama Pasyavala

49. Denis Mioković

50. Anastacio Rodríguez García

51. Dumitru Teodor Madalin

52. Mohammed EL KHALIFI

53. Stanislas Toh

54. Neville Sweet

55. Aurora Vismara

56. Kovács Róbert

57. Erika Fernandes

58. Bartłomiej Przewoźniak

59. Juan Sebastian Suaza Solano

60. Kevin Adam Hutama

61. Yen Han Sern

62. João Costa

63. Saloni Jain

64. Cleilson Sousa

65. Romildo Jozué Paiter

66. Yang Wang

67. Mayank Minglani

68. Plamena Topacharova

69. Mohan Khatri

70. Marco Marangon

71. Fábio Santos

72. Karanam Akshit

73. Gerardas Balnius

74. Yevhen Fabizhevskyi

75. Tangdevon

76. Mariam Atitar

77. Kerim Dogan

78. Viraj Wagh

79. Dario Imperatore

80. Ionut Stancu

81. Martin Berndt

82. Lucas Barros Bonine

83. Felix Garcia Lainez

84. Krishna Chaitanya

85. Azreal

86. Raymond

87. Carlos Pita

88. Marfou Balogun

89. Gainutdinov Ruslan

90. Ranajit Rakshit

91. Ramesh

92. Khaoula Ghodhbane

93. Nelson Osorio Bedoya

94. Pratyusha Mukkerla

95. Mikalai Dudko

96. Javier Reyes Alonso

97. Vasco André Teixeira Rodrigues

98. Alessandro Aruta

99. Jeff Chee

100. Deepali Jain

101. John Gregory Jose

102. Abdou Hamdane

103. Mohd Azhar Raza Qadri

104. Luka Odak

105. Florian Ciuculescu

106. Peter van der Wal


1.  Paweł Kłodziński

2.  Rym Chebbi

3.  Wladimir López

4.  Srisha

5.  Bandita Mishra

6.  Abdul Waris

7.  Zwivhuya Khoza

8.  Anas Ali

9.  Agniraj Muthuveeran

10. Mounika Pasumarthi

11. Anshuman Srivastava

12. Surendra Singh Rathore

13. Jan Rothen

14. Jasheer Kv

15. Taha Chaudhry

16. Devesh Kaushal

17. Shreya Singh

18. Manuel

19. Shreyasi Samanta

20. Jason Argo

21. Gustavo Hernandez

22. Иван

23. Formoso Antoine

24. Luis Benavides

25. Servando Gamez

26. Chetan K S

27. Daniel Sanchez

28. Rohit Kumar

29. Somayan Goswami

30. Selinatis

31. Carlos Antonioni

32. Pethryth

33. Paryush Jain

34. Merwais Muafaq

35. Daniel Asanome

36. Jacek Polak

37. Manan Arora

38. Abhishek Bhattacharya

39. John Naska

40. Oscar Fernández Armengol

41. Ioanna Anastasaki

42. Prem Motgi

43. Mandar Deshpande

44. Ievgen Vorobei

45. Chiradeep

46. Mohamed Ali AMDOUNI

47. Lộc Tống Bảo

48. Andrea Pagana

49. Gonzalo Nicolas Castillo Fajardo

50. Dragana Popovic

51. Ilkin Ismailov

52. Wrongtheory

53. Matteo Daniele

54. Simone Russo

55. Amanuel Bogale

56. Kevin McClung

57. Lokeswara Rao Majji

58. Daniele

59. Johannes R

60. Igor Leonardo Pereira da Silva

61. Jason Shiffler

62. Tim Stephens

63. Henry Schroeder

64. Ldounya

65. Lukasz

66. Raghavi

67. John Craig

68. Padmavathi FNU

69. Susana Cordova

70. Joshua Merrington

71. Rebeca Gamboa

72. Haftom Mesfin Gebreselassie

73. James Sparks

74. Sebastian Kociński

75. Felix Otto

76. Dipendra Pokahrel

77. Ravinder

78. Lyle Stramer

79. Lorenzo Vicente Grimaldi Velasco

80. Dharambir Singh

81. Michael Egger

82. Daniel Braga Moura

83. Andrés Solé Castillo

84. André Peixoto

85. Monica Paz Coutinho

86. Thando

87. Cameron W Beeler

88. Pheba Kunjappan

89. Venkata Narasimha Rao Sandu (1Z0-815)

90. Conrad Nelson

91. Joanna Legiedz

92. Josue Martinez Almazan

93. Tedi Panozaqi

94. Aneesh Mistry

95. Bryan Arce

96. T Sanjeeva

97. Marcia Arias

98. Altin Pellumbi

99. Cullen Grover

100. Stefano Ciaprini

101. 龔柏丞

102. Tofan Costel

103. Mahlet Sharew

104. Ed Santos

105. Martin Ferreira

106. Nagabushan Kampli

107. Christian Cachaya

108. Marta Vertechi

109. Lhassan Ait Mouss

110. Andrew Abraham

111. Victor Bozelli Alvarez

112. Vinay Bura

113. Lok Prakash Pandey

114. Iordache-Stoicescu Laurentiu-Iulian

115. Aldo Miranda

116. Veeksha Poojari

117. Ryan Espinosa

118. Yurid Marcia Baptista do Amaral Gourgel

119. Petro Kostur

120. Arpit Vatre

121. Levi Lilly

122. Igor Kalb

123. Pranand Patil

124. Haydn Valle

125. Timur Babadjanov

126. Ahmet Emrebas

127. Srihari Chakravarty

128. Jesús Juárez de Felipe

129. Thomas Thompson

130. Erik Englund

131. Nhat Tang

132. Ediga Shyam Sundhar

133. Anthonio Ramarolahy

134. Rotariu Cristian

135. Leo Kooper

136. Cherie Parsons

137. Sebastian Kamiński

138. Achi Gabeskiria

139. Lucas Urry

140. Cesar Naja

141. David Schneider

142. Alisson

143. Jorik Barten

144. Stipan Beljan

145. Sener Gultekin

146. Jeroen Bensch

147. Jasvinder Singh

148. Ola Karlsson

149. Sergey Gubarev

150. Vincenz Herzog

151. Joanna Roczniak

152. Luis Fernando

153. Jan Nawa

154. Chi Bui

155. Adrian Trofimov


1.  Thomas F Grady

2.  Arthur Galiev

3.  Swetha

4.  Waseem Saleem Minhas

5.  Łukasz Zawada

6.  Shuyu Zhang

7.  Claudio Merli

8.  Ashish H Desai

9.  Ranavir Dash

10. Chandrika

11. Neha Shrivastava

12. Anurag Sharma

13. Viacheslav Piliugin

14. Stewart Terry

15. Sindhuri

16. Dmitrii Dmitrenko

17. Dmitry Andrushchuk

18. Oan S

19. Felipe de Oliveira

20. Carlos Marin Trejos

21. Felix Diaz

22. Emmanuelle Joseph Victoria

23. Jerome Sharlo

24. Thomas BESSET

25. Sandeep A P

26. Greg Acton

27. Wayne Rijsdijk

28. Jev Prentice

29. Vanius Roberto Bittencourt

30. George Cooper

31. Yazid Almi

32. Dariusz Kulig


34. Gabriel Valdes

35. Harshitha D

36. Gerwin Callanga

37. Eiko Sugimoto

38. Jessica Shutler

39. Denis Giovan Marques

40. Subha S

41. Mayank dharwal

42. Ajay Virdi

43. Perov Dmitry

44. Pawel Trzaska

45. Mihai Popovici

46. Young-min Kim

47. Дмитрий Лебедев

48. Sunny K

49. Allabaksh S.K

50. Maurício Generoso

51. Vanessa Reese

52. Tz-Ruei Liu

53. Igor Gindin

54. Octavio Ranieri

55. Andrea Chittano

56. Farzaan Kaiyom

57. Daryl Arouchian

58. Dimitar Tomov

59. Justin Djeumene

60. Parul Sharma

61. Sanil Panjri

62. Farhana Tabassum

63. Alessandro Lopes Panaro

64. Neepa Chakraborty

65. Kim Juhwan

66. Vladimir Pepik

67. Anurag Reddy

68. Carl David Nathanael Wagers

69. Toshiaki Ezaki

70. Nikita Bhatnagar

71. Pradeep Silamkoti

72. Mark Griffiths

73. Stéphane MORI

74. Raghava

75. Prabhjot Kohli

76. Collin Pointer

77. Norbert Gagyi

78. Trevon

79. Adriana Giuliano

80. Teerapat

81. Rohit Chauhan

82. Ahmet Mert Yavuz

83. Kimberly Boynton

84. Izaz Ali

85. Devendra Yadav

86. Eduardo Koerich

87. Amit

88. Anas P.M

89. Jorge Guerra Yerpes

90. Beknazar Suranchiyev

See what fellow students are saying:

29-May-2021: "Thanks heaps for putting this course together. This course has helped a lot. I cleared the exam today (29th May) with 86%. Thanks again !!" - Venkata N R Desaraju

10-May-2021: "I passed the exam today (87%). Thank you for these materials, I am simply just not able to emphasize, how much these questions helped me through the preparation. Awesome course, keep up the good work! :)" - Lehel Mezei

18-Apr-2021: "It is a very good preparation to the OCA. I passed the exam in April 2021. I felt confident and I knew what to watch out for thanks to these exam simulations." - Christine Roels

11-Mar-2021: "Very useful for preparation for exam. I cleared the OCJA 8 exam with 89%" - Arun Kagatikar

10-Mar-2021: "Excellent exams and explanations, helped me pass the OCA." - Katherine Misyutina

01-Mar-2021: "This course is perfectly designed to prepare for OCA IZO-808. Total of 6 tests, given in the order of increasing difficulty helps to prepare without loosing confidence." - Vishweshvar V

28-Feb-2021: "Great questions to test your understanding of the concepts. Also the explanations provided for every question is very helpful. I have cleared my exam on 27/2/2021 with 90% Thank you Udayan :)" - Sanket Chalke

29-Jan-2021: "The best course for OCA Java SE 8 you can get on Udemy. Really great explanations and good variety of questions." - Krishnan Kumar

04-Jan-2020: "I took my exam two days ago from home and passed on the first try. I tried Whizlabs and this course. In my opinion, this Udemy course was the closest to the format and type of questions given on the exam compared to Whizlabs." - Beyza Duymayan

21-Dec-2020: "Today, I cleared the OCJA Certification Exam and this material was very helpful, simulation very close to the real exam, in terms on complexity. Thanks to Udayan !!" - Aparna

11-Dec-2020: "This course has played a pivotal role in my journey to clear the OCA exam by providing a huge number of practice questions. The explanations for the questions are really good and help brush up certain concepts which require revision. Overall, this is a great course and I am really happy to have taken it since it helped build my overall understanding of Java. Big sense of gratitude for this one!" - Saipronoti Mukherjee

10-Dec-2020: "Excelente, las pruebas mock me ayudaron a corregir mis falencias y aprobar la certificación." - Luis Mauricio Alamo

30-Nov-2020: "Me sirvió bastante y logré obtener mi certificado OCA!" - Kenyi Galvez Suma

30-Nov-2020: "Muy buen curso, las preguntas son muy similares al de la certificación, justo acabo de darlo y me fue muy bien, buen trabajo." - Anthony Oswaldo Flores Carrasco

26-Nov-2020: "acabei de passar na prova Java SE 8 Programmer I Exam Number: 1Z0-808 e o curso me ajudou muito!! Muito obrigado." - Anderson Felipe

09-Nov-2020: "Thanks Udayan for the great practice exams and explanations! Got my OCA certification with 83% today." - Uğur Yeşilyurt (Saklama)

29-Oct-2020: "A very good preparation for the exam that includes many questions with in-depth explanations. It helped me a lot. Thanks" - Sahar Pourkarimi

28-Oct-2020: "Today i have passed my exam. This course helped me a lot. Thanks :-)" - Mahesh Chowdary Basineni

13-Oct-2020: "I am very satisfied with the Exam Simulation. It helped me a lot. I have successfully passed my OCA Java 8 exam yesterday :)" - Sandra Kostic

12-Oct-2020: "Well, This course is amazing, This should be taken after you clear your concepts on java. The questions are not straightforward will test your java skills. I fee I should revisit this course every 6 months. The Instructor is prompt to respond to your queries. Thank you Udayan for your help! And finally, I have successfully cleared my OCA (Happy to share)!" - Vinod

04-Sep-2020: "Amazing course. I pass OCA (1Z0-808) today, 89%. Thank you so much......!!!!" - Viettn24 Tiến

16-Aug-2020: "This course is excellent. I just passed the OCA Certification: 93% score. It was very helpful! Thank you so much!!!" - Augusto Moro

15-Jul-2020: "I just passed the OCA Certification: 86% score. I absolutely recommand this simulation, it was very helpful! Thank you so much!!" - Aurora Vismara

22-Jun-2020: "Hola Udayan, muchas gracias por estas pruebas hoy he aprobado el examen de certificación Muchas gracias" - Juan Sebastian Suaza Solano

05-Jun-2020: "Hi man, thanks for you work, It was very, very helpful to OCA pass an real exam this exam simulation help me. Today I passed OCA exam. Thank you very much Mr. Udayan." - Romildo Jozué Paiter

04-Jun-2020: "passed the 808 exam on 4th of June, thanks for this great course" - Yang Wang

04-Jun-2020: "I gave my Java 808 exam today and cleared with 81%. Thanks Udayan for this practice test exams. They were very helpful." - Mayank Minglani

29-May-2020: "Very helpful OCA exam simulation. Today I passed OCA exam. Thank you very much Mr. Udayan." - Mohan Khatri

08-Apr-2020: "Thank you Udayan. I passed the OCA exam yesterday with %81. Even though I finished one book before your tests, the questions in your tests and the explanations made a lot clear how the logic of the compiler works. For me the OCA test was not easy, but going over your tests a few times I was able to pass. Great work!" - Kerim Dogan

OCA - Java SE 8 Programmer I - Exam Information:

  • Exam Code: 1Z0-808

  • Duration: 150 minutes

  • Questions #: 70 (Multiple Choice / Multiple Select)

  • Passing score: 65% 

Exam Curriculum:

Java Basics 

  • Define the scope of variables 

  • Define the structure of a Java class

  • Create executable Java applications with a main method; run a Java program from the command line; produce console output

  • Import other Java packages to make them accessible in your code

  • Compare and contrast the features and components of Java such as: platform independence, object orientation, encapsulation, etc.

Working With Java Data Types 

  • Declare and initialize variables (including casting of primitive data types)

  • Differentiate between object reference variables and primitive variables

  • Know how to read or write to object fields

  • Explain an Object's Lifecycle (creation, "dereference by reassignment" and garbage collection)

  • Develop code that uses wrapper classes such as Boolean, Double, and Integer  

Using Operators and Decision Constructs 

  • Use Java operators; use parentheses to override operator precedence

  • Test equality between Strings and other objects using == and equals ()

  • Create if and if/else and ternary constructs 

  • Use a switch statement 

Creating and Using Arrays 

  • Declare, instantiate, initialize and use a one-dimensional array

  • Declare, instantiate, initialize and use multi-dimensional arrays

Using Loop Constructs 

  • Create and use while loops

  • Create and use for loops including the enhanced for loop

  • Create and use do/while loops

  • Compare loop constructs

  • Use break and continue  

Working with Methods and Encapsulation 

  • Create methods with arguments and return values; including overloaded methods

  • Apply the static keyword to methods and fields  

  • Create and overload constructors; differentiate between default and user defined constructors

  • Apply access modifiers

  • Apply encapsulation principles to a class

  • Determine the effect upon object references and primitive values when they are passed  into methods that change the values

Working with Inheritance 

  • Describe inheritance and its benefits

  • Develop code that makes use of polymorphism; develop code that overrides methods;  differentiate between the type of a reference and the type of an object

  • Determine when casting is necessary

  • Use super and this to access objects and constructors

  • Use abstract classes and interfaces

Handling Exceptions 

  • Differentiate among checked exceptions, unchecked exceptions, and Errors

  • Create a try-catch block and determine how exceptions alter normal program flow

  • Describe the advantages of Exception handling 

  • Create and invoke a method that throws an exception

  • Recognize common exception classes (such as NullPointerException, ArithmeticException, ArrayIndexOutOfBoundsException, ClassCastException)

Working with Selected classes from the Java API 

  • Manipulate data using the StringBuilder class and its methods

  • Create and manipulate Strings

  • Create and manipulate calendar data using classes from java.time.LocalDateTime,  java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter, java.time.Period

  • Declare and use an ArrayList of a given type 

  • Write a simple Lambda expression that consumes a Lambda Predicate expression

Practice tests are randomized to give a real examination feel. All topics listed above are divided appropriately in 4 tests consisting 70 questions each i.e., 280 questions in total and 2 bonus tests containing 72 questions each (144 bonus questions), which makes total 424 unique questions. Questions are designed based on real examination questions in terms of pattern and complexity. 

Explanation of all the correct answers is also provided for reference and understanding. Relevant hints and how to approach a question in real examination setting is also provided in explanation.

Completing all the tests successfully will boost your confidence to attempt Oracle Certified Associate (OCA) examination. 

More information on detailed curriculum and assumptions to be followed for examination are available on oracle certification page.

NOTE: Each practice test of this course contains questions on all the exam topics, similar to what is expected in real exam. But if you prefer to solve topic-wise questions, then enroll in my other course titled "Java Certification - OCA (1Z0-808) Topic-wise Tests [2021]", which contains the same questions arranged in topic-wise manner.

Disclaimer: These questions are not real examination questions / dumps. These questions  are created to evaluate your preparation for certification exam. 

So, grab a cup of coffee or your favorite drink and test your Exam Preparation.

Features of Practice Tests:

  • You can pause the test at any time and resume later.

  • You can retake the test as many times as you would like.

  • The progress bar at the top of the screen will show your progress as well as the time remaining in the test. If you run out of time, don’t worry; you will still be able to finish the test.

  • You can skip a question to come back to at the end of the exam.

  • You can also use “Mark for Review” to come back to questions you are unsure about before you submit your test.

  • If you want to finish the test and see your results immediately, press the stop button.