When developers and operations are asked: what is the biggest performance bottleneck you face on a regular basis, it's rare that memory inefficiency comes up as an answer. Yet our observations suggest that approximately 60% of all Java applications suffer from this problem. We also see this inefficiency in new (Java 11/12) and older versions of Java as well as Scala, Ruby, Kotlin, Clojure, Groovy, et al. We’ve also seen it in C#/CLR applications, on Android devices, in the cloud, on bare metal systems and just about everywhere. There are many reasons why this bottleneck is being overlooked. Quite often this memory inefficiency hides as lower application throughput and longer-tail latency events. These other non-memory issues then take the mistaken blame. In this session, we’ll look at the telltale signs that your JVM based application is in that 60% memory inefficiency area, and demonstrate steps you can take with your Java application to attack this problem.