Java in Practice - Enums & Annotations
This lesson discusses the do’s and don’ts of using enums and annotations in Java
Java in Practice - Concurrency
This lesson lists gotchas of Java concurrency.
Java Ecosystem - Java & it's Ecosystem
This lesson introduces the reader to the origins of the Java language.
Classes - The Object Class
This lesson discusses the root class of all objects in Java.
Generics - The Get & the Put Principle
This lesson provides examples on the get and the put principle to be followed when working with generics.
Classes - Finalize
This lesson talks about the finalize method of the Object class.
Inheritance - Inheritance Gotchas
This lesson contains questions on inheritance in Java.
Multi-Threading - Volatile
This lesson explains the volatile keyword.
Classes - Initialization
This lesson discusses initialization of variables in Java.
Multi-Threading - Thread Safety
This lesson discusses thread-safety concepts.
Java in Practice - General Best Practices
This lesson discusses best practices for various aspects of Java Programming
Miscellaneous Topics - Types
This lesson discusses the types in the Java language.
Reflection - Introduction
This lesson introduces the concept of Reflection in Java.
Reflection - Class Modifiers
This lesson demonstrates how class modifiers can be retreived using reflection.
Serialization - More on Serialization
More questions on Serialization in Java.
Java in Practice - Using Objects
This lesson discusses the caveats of working with Java objects.
Java in Practice - Using Generics
This lesson lists caveats one should be aware of when working with generics in Java.
Lambda Expressions - More on Lambdas
This lesson continues discussion on lambdas in Java.
Java in Practice - Interfaces vs Abstract Classes
This lesson compares and constrasts interfaces and abstract classes.
Java in Practice - Object Creation
This lesson summarizes the important details for object creation in Java.
Java in Practice - Designing Classes
This lesson summarizes the nuances to consider when writing new Java classes.
Java in Practice - Inheritance vs Composition
This lesson discusses the reasons why composition may be a better choice than inheritance.
Java in Practice - Method Design
This lesson describes the best practices to emulate when designing methods.
Patterns - Singleton
This lesson discusses all the different ways of creating singleton objects in Java.
Methods - Pass by Value
This lesson explains how Java works as pass by value.
Memory Management - Memory Tuning
This lesson talks about the common memory issues faced when running Java programs.
Methods - Pass by Reference
This lesson explains the concept of pass by reference.
Methods - Method Overloading
Discusses method overloading in Java.
Inheritance - Inheritance
This lesson discusses interview questions on inheritance.
Generics - Bounded Types
This lesson discusses bounded types in Java’s generics.
Multi-Threading - Synchronized
This lesson explains the all-important synchronized keyword.
The End - Epilogue
Acknowledgements and credits!
Classes - Nested Classes
This lesson explains nested classes in Java.
Generics - Why Generics
This lesson introduces the concept of generics in Java.
Classes - Classes
This lesson discusses the concept of classes in Java and related questions around them.
Classes - Anonymous and Local Classes
This lesson discusses anonymous and local classes in Java.
Inheritance - Multiple Inheritance
This lesson discusses the limitations of multiple inheritance in Java.
Interfaces - Interfaces
This lesson discusses interfaces in Java.
Classes - Accessibility
This lesson discusses the various accessibility levels in Java.
Classes - Super Keyword
Have questions about Super Keyword? Go for it!
Generics - Bridge Methods
This lesson explains bridge methods created by the compiler when working with generics.
Generics - Generic Types
This lesson explains generic types in Java.
Classes - Constructors
This lesson discusses constructors in Java.
Generics - Erasure
This lesson explains how erasure works in Java.
Classes - Abstract Classes
This lesson introduces the concept of abstract class in Java.
Classes - Final Class
This lesson introduces the concept of a final class in Java.
Generics - Wildcard
This lesson talks about how the wildcard can be used in generics.
Generics - Reification
This lesson explains reifiable types in Java.
Generics - Raw Types
This lesson explains what raw types are.
Interfaces - More on Interfaces
This lesson continues discussion of interfaces in Java.
Lambda Expressions - Basics
This lesson introduces Java’s lambdas expressions.
Generics - Type Inference
This lesson explains the concept of type inference.
Multi-Threading - Wait() and Notify()
This lesson explains the wait and notify methods exposed by every object.
Multi-Threading - More on Threading
This lesson discusses selective interview topics on multithreading.
Memory Management - Memory Areas
This lesson explains the various areas of memory for a Java application.
Memory Management - Reference Strengths
This lesson explains the different reference types in Java.
Collections - Collection Types
This lesson talks about the different types of collections available in the Collections Framework.
Collections - Summary
This lesson lists the important interfaces and classes of the Collections Framework.
Collections - Iterating in Java
This lesson introduces questions relating to iteration in Java.
Exceptions - Checked vs Unchecked
This lesson introduces the type of exceptions.
Reflection - java.lang.Class
This lesson covers the class java.lang.Class which is an important type when using reflection.
Exceptions - More on Exceptions
This lesson explains the finally block and issues faced when multiple exceptions are thrown.
Reflection - Classloaders
This lesson introduces the concept of classloaders in Java.
Java in Practice - Exceptions Handling
This lesson lists issues to be cognizant of when working with Java exceptions.
Miscellaneous Topics - Package
Questions on the concept of package in Java.
Miscellaneous Topics - Strings
This lesson discusses String interview questions in Java.
Miscellaneous Topics - Keywords
This lesson discusses different keywords used in Java.
Reflection - Instantiation using Reflection
This lesson demonstrates how objects can be created using reflection.
Miscellaneous Topics - Unboxing
This lesson discusses the reverse of Boxing, which is called Unboxing.
Miscellaneous Topics - Boxing
This lesson discusses the concept of Boxing in Java.
Java Ecosystem - Introduction
How can this course help you in interviews?
Multi-Threading - Mutexes vs Semaphores
This lesson explains the difference between mutexes and semaphores.
Exceptions - Exceptions
This lesson introduces the concept of exceptions in Java.
Miscellaneous Topics - Annotations
This lesson discusses annotations in Java.
Exceptions - Catch Block
This lesson shows how multiple exceptions can be caught using the try-catch clause.
Serialization - Basics
This lesson discusses the basics of Serialization in Java.
Miscellaneous Topics - Casting
This lesson includes interview questions on casting in Java.
Patterns - Cheat Sheet
This summarizes the different patterns and their uses. It also includes the example usages of the patterns in the Java API.
Java Ecosystem - Java Flavors & Processes
This lesson describes the various platform editions of Java. It also touches upon the community and processes around the Java ecosystem.
Java Ecosystem - Java Tools & Files
Common file types and tools used in Java development.
Methods - Variable Argument Passing
This lesson explains how variable number of arguments can be passed to methods.
Java Ecosystem - Java Virtual Machine
This lesson describes the Java Virtual Machine and introduces interview questions related to it.
Memory Management - Garbage Collection
This lesson explains the working of garbage collection works in Java.
Java in Practice - Quick Note
Have questions about Quick Note? Go for it!
Patterns - Builder
This lesson discusses the Builder pattern which is extensively used in Java.
Multi-Threading - Fundamentals
This lesson introduces the fundamentals of concurrency.