36. Returning an identity string So, what's an identity string? An identity string is a string built from an object…

JDK 9+, pre JDK 16 As you just saw, before JDK 9, the Java Reflection API provides access to non-public…

38. Invoking default methods from Proxy instances Starting with JDK 8, we can define default methods in interfaces (covered in…

39. Converting between bytes and hex-encoded strings Converting bytes to hexadecimal (and vice-versa) is a common operation in applications that…

40. Exemplify the initialization-on-demand holder design pattern Before we tackle the solution of implementing the initialization-on-demand holder design pattern let's…

41. Adding nested classes in anonymous classes In the previous problem, we had a brief overview of nested classes. As…

Polymorphic overloading in a nutshell Since overloading (also known as "ad-hoc" polymorphism) is a core concept of Object-Oriented Programming (OOP),…

Type erasure and heap pollution Have you ever seen an unchecked warning? I'm sure you did! Is one of those…

42. Exemplify erasure vs. overloading Before we join them in an example, let's quickly tackle erasure and overloading separately. Erasure…