30+ Hours Video, Lifetime Access
50k+ Students
20 Million+ Minutes Watched


Due to this course I have fell in love with Java language and its ecosystem

Muhammad Abdullah

Program Highlights

Trusted by over 50k Learners from 160+ Countries

  • Master Advanced Features

    Get an in-depth understanding of Concurrency, Database Design & Implementation, Functional-style Programming, and Java Modularity.

  • Instructor-led Java EE Project

    Learn Java EE basics like Servlets & JSTL to extend the instructor-led project into a full-blown Web application with MySQL as the database.

  • Advanced Concurrent Programming

    Extend your basic multithreading understanding by learning advanced features like Executors Framework for building large-scale concurrent programs.

  • Database Programming

    Learn the basics of database designing (normalization), implementation (SQL), and how to interact with them from Java programs (via JDBC).

  • Functional-style Programming

    Learn to write compact, clean and efficient code by mastering Functional-style Programming constructs like Lambdas & Streams.

  • Modular Programming

    Get clear & in-depth understanding of JPMS and how it enables creating well-designed, modular, and space-optimized programs.

It helped me pass a paid internship interview in a reputable company and now I am getting a job.
Stephen
Course Objective

Become a Complete Java Engineer!

Building on your strong Core Java foundations, this course will help you master advanced Java language features that are critical for building large, complex software. You will gain in-depth understanding of Generics, Concurrent, Database, Functional-style, and Modular programming, which will transform you into a truly Complete Java Engineer. The instructor-led bookmarking project will be expanded into a full-blown, industry-grade scalable Web application backed by MySQL database and utilizing Java EE technologies for the front-end.

The advanced skills and comprehensive Java EE project you undertake in this course will prepare you to seamlessly transition into any top engineering team.

Course Description

Elevate your coding skills!

We begin by building on your basic Generics knowledge, introducing advanced features like bounded wildcards and generic methods, which enable in creating more expressive APIs. Next, we explore Nested Classes and enums with best practices to enhance class design and program type safety. Through realistic examples, we next delve into advanced multithreading features like the Executors Framework, enabling you to build highly efficient and scalable concurrent programs.

Our journey continues with Database Design and Implementation, covering normalization, basic SQL, and JDBC programming, while extending our project to incorporate a MySQL database. Having mastered Object-Oriented programming, we then transition to Functional Programming paradigm, focusing on Java 8 features such as Lambdas, Method References, and Streams to create concise and readable code.

To give you a feel for Enterprise Java development, we cover Java EE (Servlets & JSTL) and Web Servers, further web-enabling our project into a scalable web application. Finally, we deep dive into Java Modularity (JPMS), learning how to create modular and space-optimized software.

A highlight of this course is the clear and simple explanation of complex concepts through well-thought-out, realistic examples and illustrations. The course also includes numerous design rules to ensure you develop advanced Java programming skills and professional-level proficiency.

Be certified as Complete Java Engineer!

You can also earn our Complete Java Engineer certification - our endorsement that you've mastered Java and are ready to write professional-level code. To achieve this certification, apart from completing all the course lectures, quizzes, and the instructor-led Java EE project, you must have already been certified as 'Core Java Engineer!' by completing our two Core Java courses.

Course curriculum

    1. Chapter Introduction ~ Motivation & Agenda

    2. Generic & Parameterized Types

    3. Demo: Creating Generic Types + Type Erasure Discussion

    4. Project Extension: Replacing Arrays with ArrayLists (Part 1)

    5. Project Extension: Replacing Arrays with ArrayLists (Part 2)

    6. End of Part 1 (Core Java) of the Course

    7. Bounded Type Parameter + Demo

    8. Avoid Raw Types in New Code*

    9. Unbounded Wildcard + Demo

    10. Invariance + Demo + Prefer Lists to Arrays*

    11. Generic Methods*

    12. Demo: Generic Methods & Generic Constructors

    13. Important Question on Type Inference & Invariance (+)

    14. Bounded Wildcards: Motivation + Demo

    15. Bounded Wildcards & More Expressive APIs*

    16. Demo: Bounded Wildcards

    17. Generics Restrictions

    18. Conclusion - A Quick Summary

    19. Chapter 19 Quiz

    20. Important Q&A Discussions!

    1. Chapter Introduction

    2. Nonstatic Member Classes & Adapters + Demo

    3. Note on Nonstatic Member Classes - From Java 16 Onwards (+)

    4. Anonymous Classes + Demo & Function Objects*

    5. Local Classes + Demo

    6. Fix in Previous Demo on Local Classes for Java 9 and above

    7. Static Member Classes (Favor them!) + Demo*

    8. Variable Scope with Nested Classes

    9. Conclusion - A Quick Summary

    10. Coding Exercise 14: Anonymous Class & Static Member Class Exercise

    1. enums: Motivation & Introduction (Avoid int Constants)*

    2. Enum Class + Demo

    3. enums with State & Behavior + Demo

    4. Nested enums + Demo

    5. Project Extension: Converting Constant Exporting Classes to Enums

    6. enums with Constant-specific Behavior + Demo

    7. Bit of Brainstorming! (+)

    8. Chapter 21 Quiz

    1. Chapter Introduction ~ Motivation & Agenda

    2. Threads: Introduction

    3. Minor Correction on Thread States

    4. Demo: Launching Threads and Making them to Sleep!

    5. Demo: Thread Naming, Prioritization and Joining (Avoid Thread Groups)*

    6. Race Condition + Demo

    7. Synchronization + Demo*

    8. Java Memory Model (JMM)

    9. Volatile Variables + Demo

    10. Atomic Variables + Demo

    11. Important Question on Atomic Variable (+)

    12. Synchronization Best Practices*

    13. Thread Cooperation & Management + Demo

    14. Demo: wait & notify

    15. Thread Interruption + Demo

    16. Explicit Locks (Reentrant Lock) + Demo

    17. Hijacked Signal: Single Condition Queue with signal notification (+)

    18. Prefer Concurrency Utilities over wait & notify*

    19. Executor Framework + Demo*

    20. Executor Service & Future

    21. Demo: ExecutorService & Future

    22. Tasks with Time Limits + Demo

    23. Project Extension: Downloading Web Links Concurrently

    24. Project Extension: Implementing Background Job to Download Web Links

    1. Agenda

    2. Background - epoch, UTC, Timezone ...

    3. Legacy API - Date & Calendar Classes + Demo

    4. New Date & Time API - Introduction

    5. Demo: New Date & Time API

    6. Coding Exercise 15: Implementing Flight Booking Feature ~ Putting new Date & Time API into practice!

    1. Database Introduction & Chapter Agenda

    2. Installing MySQL Database & MySQL Workbench

    3. Database Design & Normalization

    4. Database Design using MySQL Workbench

    5. Project Ext.: Creating Database via CREATE & INSERT Queries + Storage Engines

    6. Installing JDBC Driver

    7. Writing SELECT Queries with Multiple Tables, GROUP BY, ORDER BY, etc.

    8. Project Extension: Loading Data from Database via JDBC API

    9. Project Extension: Saving Bookmarking Data via INSERT Queries

    10. Project Extension: ALTER Query & Saving Kid-Friendly Details via UPDATE Queries

    11. Useful Links to Some Tutorials

About this course

  • ₹5,500.00
  • 165 lessons
  • 30 hours of video content
  • Instructor-led Java EE Project
  • Duration: One semester with 4 hours per week
  • Self-paced, lifetime access
The Instructor is highly competent. He is a world-class instructor ... Taking this course will definitely give you a tremendous appreciation for this great language.
Carrel d'Haiti
MEET YOUR INSTRUCTOR

Dheeru Mundluru is the instructor for this program. A passionate software engineer & educator, Dheeru has around 15 years of experience developing innovative software for start-ups in Silicon Valley and elsewhere. He holds a Ph.D. in Computer Science from University of Louisiana at Lafayette (USA). He is an experienced online instructor with over half-a-dozen years of teaching experience with over 100k students globally. He has also been rated as one of the top instructors on Udemy. His engineering expertise includes developing complex Web data integration & mining software with Java as the main programming tool. Coming from start-up world, he also has extensive end-to-end experience in developing Web applications using technologies such as Spring, Hibernate, MySQL, and Solr.

Writing well-crafted code that follows the best design practices is of utmost importance to him. He brings the same level of passion and completeness to his teaching.

What our students are saying

This is by far the best advanced as well as beginner course I have ever read/seen since Andre LaMothe quit writing.

Stephen Jonson

One of the best courses I have taken on coding in general! On par with courses you can take from Stanford Engineering Everywhere.

Kaloyan T

This is hands down the greatest online course I've ever taken ... To really benefit from this course, you'll have to sit there and bang your head but if you take careful notes and make sure you can explain each step you're taking to solve a problem, you'll come out on top. I am now a data engineer and this course is one of the biggest catalysts for my transition into tech.

Carlvin Sanon

Few Companies where our Alumni Work

Frequently Asked Questions
No. Students should have a good understanding of Core Java. Ideally, they should have done our two Core Java courses in the program or other similar courses. The project is an extension from the second Core Java course.
You can start & finish it anytime. The course can be completed in one semester.
No. To ensure course is right fit, please review the preview videos, course description and curriculum carefully.
Due to copyright infringement concerns, course slides and videos are not downloadable.
Absolutely. Since the course provides an in-depth coverage of Advanced Generics & Concurrency, Functional-style Programming, and Java Modularity, many Java Professionals find this course helpful.
The last 5 sections (starting from JPMS) will be accessible three weeks after enrollment. Rest of the content is accessible right away.
Yes. Complete Java Engineer certification is optional. It is our endorsement that you've mastered Java and are ready to write professional-level code. Please check out the Professional Certification section in Course Description to learn about its requirements.

Discover your potential, starting today