Increasing volume of critical data presents new challenges when developing performing applications with Java. Caching may address these challenges if applied right. This vendor-neutral session will explore ways for improving performance, concurrency and scalability in Java applications through local and distributed caching. You will learn how to identify data best fit for caching; deepen your knowledge with best practices for caching; understand distributed caching and ways it enables scalability of Java applications. We will discuss common usage scenarios for distributed caching and will provide best practices for the supporting network infrastructure. The session will enhance your engineering skills by helping to avoid caching pitfalls and anti-patterns.