Java In-Depth: Become a Complete Java Engineer!
- 63 hours on-demand video
- 18 articles
- 282 downloadable resources
- 15 coding exercises
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Gain in-depth understanding of core & advanced features of Java including JVM internals
- Master design principles, best practices and coding conventions for writing well-designed, professional Java code
- Get real-world experience by developing an instructor-led Java EE-based Web application using technologies like JSP, Servlets and MySQL
- Set firm foundation in Java for the rest of your career. That's a promise!
- Master Object-Oriented Programming concepts by using a real-world application as a case study
- Master Exceptions, IO, Collections Framework, Generics, Multi-threading, Databases, etc. with best practices
- Solid understanding of Functional-style Programming using Java 8 constructs like Lambdas & Streams
- Set yourself up to become an Oracle Certified Associate, Java SE 8 Programmer (1Z0-808)
This lecture gives a high-level overview of what Java is and what aspects of it make it a truly complete and one of the most widely used programming languages. The lecture also highlights how Java is being used in the industry by organizations such as Google, Apple and NASA.
Java has some unique features compared to other languages like C & C++. There is a certain motivation behind creating Java with those features instead of using a language like C++. In this lesson, we look at the story behind Java's creation. Interesting and an important history. Do check it out!!
In this lesson, we will discuss about the compilation process. Very useful for absolute beginners. The lesson starts from absolute basics like machine & assembly language.
In this lesson, we will learn how Java achieves platform independence without compromising on speed!
This lesson very clearly explains what a class and an object is. After conceptually explaining them, we will see how they are represented in code.
This is a very important and a very fundamental lesson. It explains how data is passed during method invocation. To understand it clearly, we also look at how variables (both primitives & object references) are represented in memory. Demo is included couple of lessons down the line.
In this lecture, a control-flow statement called switch is introduced. switch in certain situations can be used as an alternative to if. To get a very clear understanding of switch syntax, we first take an example of an if-statement and gradually build the corresponding switch syntax comparing with the switch. A demo is also included.
This lesson gives a detailed introduction to Java API. Particularly, it introduces the concept of package, which is central to the organization of any API. We will next browse through the Java API on Oracle's Website. We will also briefly discuss about some of the popular open source 3rd party Java API. Finally, an Effective Java item will also be discussed.
Finally, we end our discussion on packages by looking at how we should name packages. Through an example, we will look at an issue that we may encounter due to bad naming convention. We will also look at a recommendation from an Effective Java item, which talks about naming conventions for packages.
This lesson introduces us to Information Hiding, which is an important design principle for writing well-designed software. It uses access modifiers as the underlying tools. Couple of Effective Java items will be discussed in understanding this topic.
In this demo, we enhance the Student example we wrote earlier to incorporate Information Hiding principle that we learnt in the previous lesson. Specifically, we incorporate suggestion from Effective Java item 14 that suggests never to expose instance fields as public fields.
- The 3 P's: Passion, Patience, and Perseverance. Please note it is not a crash course!!
- Top Concentration. Over half-year of your self-study effort is packed into 63 hours. So, no fluff!!
This Master Course has been meticulously developed for over 4 years and has over 40000 students from over 150 countries ranging from complete beginners to experienced Java professionals. Top companies like Intel, PayPal, Pinterest, Wipro are actively using this course to upskill their employees. It has been consistently ranked as one of Udemy's top 3 paid Java courses and has helped many students start their professional journey as "confident" Java programmers. Here is what some of the students had to say:
"This is by far the best advanced as well as beginner course I have ever read/seen since Andre LaMothe quit writing." ~ Stephen Jonson
"... This one should be the best seller of all the other ... " ~ Brady Adams
"This is a wonderful course. 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
"I have bought so many courses but this course has been a game changer to me . It is in depth as the name says. It helped me pass a paid internship interview in a reputable company and now i am getting a job. Thank you so much Dheeru Mundluru for releasing such a great course. You deserve 5+" ~ Stephen
"... I have been a Java developer for 8 years and hold a Masters degree in Computer Science ... This is honestly the very best online Java video course on the market... wish I had have had a course like this when I first started" ~ Clive Stewart
"This is THE best course on Java on Udemy - Period! Dheeru is not only passionate about what he is coaching but also OBSESSIVE and covers every minute detail of the subject ... Most lessons have demos which Dheeru makes sure that they do work without any glitches. He is a genius coder ... Plus, he bases the course on the best practices from the book "Effective Java" which is great. ... Lastly, he uses an accurate and powerful English vocabulary I'm yet to see from other instructors. If you want to learn Java right from installing, configuring and all the way to mastering its advanced topics - look no further - you are at the right place => THIS - IS - IT !!!" ~ Richard Reddy
"The JVM internals section of this course itself is worth buying this course. Excellent teaching style." ~ Ryan Trang
This course has been developed to just not teach core Java skills, but with a larger goal of helping you become a complete & professional Java engineer right by the end of this course. To realize this, it takes a holistic approach in teaching Java programming. To ensure that you master Java language, the course has been developed to be highly comprehensive covering most of the Java language features and discussing them at a very in-depth level. To further ensure you are industry-ready and can write well-designed, professional code, tons of best practices & design principles are explained and demonstrated in code. Towards this end, you'll also implement an instructor-led Java EE Web application using professional coding conventions with Eclipse as IDE. Finally, all your questions will receive in-depth personalized responses within around 24 hours. Over 5000 questions have been answered!
This course begins by giving a birds-eye view of Java covering everything from origin of Java to installing Java and writing your first Java program. Even the most fundamental concepts like compilation & interpretation are explained. All other topics are covered in-depth starting from language basics, object-oriented concepts & design, JVM internals, exceptions, IO, collections framework, generics, multi-threading, databases, nested classes, enums, and functional-style programming via Java 8 constructs like lambdas & streams. You'll also learn about database designing, implementation (SQL), and how to interact with them from Java programs (via JDBC). The course also gives a very good introduction to Java EE technologies like JSP, Servlets and JSTL, which help in project implementation. Finally, an excellent Eclipse IDE tutorial is also included, which teaches you how to use Eclipse professionally for effectively writing, debugging and even testing Java programs using the JUnit framework.
Each lecture has been very carefully crafted explaining the motivation behind every concept. Each concept is clearly explained with well thought out examples & illustrations and is demonstrated in code. Object-oriented concepts like inheritance & polymorphism are explained through a real-world case-study, which is also implemented as part of the course project. Several challenging coding exercises & quizzes are included to reinforce what you've learned. Your solutions for coding exercises are also auto-evaluated to help you instantly know whether or not the solution is correct.
The course project involves building a bookmarking Web application that helps users bookmark items like Books, Movies, and Web pages and is built progressively as new concepts are learned. The project is instructor-led and is implemented using professional coding conventions & best practices. It follows good object-oriented design, incorporates MVC architectural pattern and also uses Test-Driven Development (TDD) methodology. Java EE stack comprising technologies like Servlets, JSP, and JSTL are used for building the application with MySQL as the database and Apache Tomcat as the Web server. Parts of the project use advanced multi-threading capabilities.
Finally, course also teaches several best practices & design principles that are essential for writing well-designed code. This is one of the highlights of the course and will make you truly complete!
Story behind Creating this Course:
The idea for building this Master Course has taken its roots during the instructor's (Dheeru Munduru) experience as a software engineer in Silicon Valley. After working for several years with many excellent engineers, Dheeru realized that sometimes the teams he worked with fell short of developing effective solutions. This led to several rounds of "code refactoring" resulting in loss of valuable time. This he realized was due to programming not being taught in the right way at most Universities & Colleges across the world. Students are mostly taught core programming language features without any emphasis on best practices or design rules required for writing well-designed code. Due to this, developers are often ill-equipped when they have to come up with good solutions for complex problems. This leads to some quick ad-hoc & incomplete learning, which often not only result in bad solutions, but also more importantly causes lot of stress on developer's part. This made Dheeru realize that a more holistic approach to teaching is needed where programming language features are taught along with best practices & design principles needed for building well-designed robust software. This course is a result of this realization and it has taken him over 4 years of full-time effort (considered equivalent to over a decade if working part-time) in developing it. He will continue to devote himself in building this course towards making it one of the best Java courses out there.
- Complete beginners. We got you covered. We'll start from compilation & interpretation.
- Programmers switching from other languages
- Java programmers who are not feeling confident about their existing Java skills
- Java programmers who want to learn about design principles & best practices. Any serious programmer should know this stuff!