Core Java: Advanced Concepts and Best Practices
Master advanced Core Java concepts along with industry-standard best practices and design rules for writing professional Java code.
Master Core Java with Best Practices!
Building on the foundational knowledge from our introductory course on object-oriented programming, this follow-up course aims to deepen your understanding of Java by:
+ Mastering advanced core Java concepts such as JVM internals, exceptions, input/output operations, the collections framework, generics, and multithreading.
+ Learn important software design rules and best practices for writing well-designed code.
+ Gaining hands-on experience through an instructor-led project following professional coding conventions.
This course ensures that you not only enhance your Core Java knowledge but also adopt industry-standard best practices, preparing you for real-world Java development and making you industry-ready. Additionally, a special module is included on using Git & GitHub professionally from within Eclipse.
This course is designed for students who have completed the foundational object-oriented programming course and are ready to build on their core Java knowledge. It delves into advanced core Java topics while emphasizing best practices and software design rules essential for writing professional Java code.
After a brief introduction to debugging Java programs and JUnit testing in Eclipse, the course begins with an instructor-led Java EE project, which is progressively developed throughout the course as new concepts are introduced. This project serves as a practical foundation that will be expanded into a complete Web application, incorporating database (MySQL) and front-end technologies (Servlets & JSP) in our follow-up course.
Key topics covered include:
You can also earn our Core Java Engineer! certification - our endorsement that you've mastered Core Java. To achieve this certification, you must not only complete all course lectures and quizzes but also successfully complete the following programming assessments, each verified by our expert engineers.
This lecture from Exceptions chapter explains how a "finally" block works. Second half of the lecture includes a demo!!
finally BlockThis lecture from Concurrency chapter demonstrates how a thread is launched and also put to sleep.
Launching a Thread!This lecture gives a high-level introduction to Git & GitHub. It also discusses the benefits of distributed VCS.
Introduction to GitUsing Eclipse Debugger
JUnit & Debugging
Shortcuts Cheat Sheet
Project Introduction
MVC Architecture
Implementing Entities
Implementing Manager Classes - Demonstrates Singleton Pattern!!
Implementing Constant Exporting Classes
Implementing Data Store
Implementing Dao Classes
Launching the Application
Implementing User Bookmarking Feature
Implementing Kid-Friendly Eligibility Criteria Using TDD
Marking Bookmarks as Kid-Friendly
Minor Coding Correction in Previous Lecture
Implementing Sharing Feature: Part 1 (Implementing Shareable Interface)
Troubleshooting StringUtils Compilation Issue
Implementing Sharing Feature: Part 2 (View, Controller and Manager)
Stack
Chapter Introduction
Demo: Exceptions & Exception Handling
Demo: Multiple Exceptions & Polymorphically Referencing Exceptions!!
Checked & Unchecked Exceptions + Demo
Exceptions & Method Overriding
finally Block + Demo
try-with-resources Statement + Demo
Demo: Suppressed Exceptions
Demo - Best Practices: Creating New Exceptions*
Demo - Best Practices for Capturing Failure Information*
Demo - Best Practice: Exception Translation & Chaining*
Coding Exercise 11: Extending Compute GPA Exercise with Exceptions
Bit of Brainstorming! (+)
Exceptions: More Advice ...*
Assertions
Demo: Assertions
Conclusion
Chapter 16 Quiz
Exceptions ~ Important Q&A Discussions!
Chapter Introduction
Character Encoding + Demo (Prerequisite)
Stream IO
Byte Streams
Reading Byte-Oriented Files Efficiently + Decorator Pattern + Demo
Character Streams
Reading & Writing Text Efficiently
Project Extension: Reading User & Bookmark Data from Text Files (Demo)
Project Extension: Downloading WebLinks & Writing to Disk (Demo)
Demo: Reading User Input from Console using BufferedReader & Scanner
The File Class + Demo
Serializing Java Objects + Demo
Deserialization & Versioning + Demo
Demo: Decoding with Compatible Encoding Scheme
Conclusion
Input-Output ~ Important Q&A Discussions! (+)
Chapter 17 Quiz
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.