Generics make your code more flexible and easier to read, and they help you avoid ClassCastExceptions at runtime. Get started with this introduction to using generics with the Java Collections Framework.
The JVM does what it wants to do, so how can you predict the order of thread execution?
Get started with polymorphism in Java and how to do method invocation in polymorphic method calls.
You might know that Java passes by value, but it helps to understand why. Here's what happens when you pass mutable and immutable object references in Java.
Compare inheritance and composition, the two fundamental ways to relate Java classes, then practice debugging ClassCastExceptions in Java inheritance.
Do you need to know how to sort Java objects in a collection, array, or map? Here's how to use the Comparable and Comparator interfaces and avoid ClassCastExceptions.
What is the contract between equals() and hashcode()? Learn how these methods work together when comparing objects in Java.
Java's Calendar class had its day, but the newer LocalDate class does much more. Here are seven ways to use LocalDate in your Java programs.