Book Image

Getting Started with Google Guava

By : Bill Bejeck
Book Image

Getting Started with Google Guava

By: Bill Bejeck

Overview of this book

<p>Java continues to maintain its popularity and is still one of the main languages used in the software industry today. But there are things in Java that are difficult to do that can be made easier; that’s where Guava comes in. Guava provides developers with a way to write better code, with less effort.</p> <p>Getting Started with Google Guava will show the reader how to start improving their code from the very first chapter. Packed with examples and loads of source code, this book will have an immediate impact on how you work with Java.</p> <p>This book starts with using Guava to help with the common tasks that Java developers perform. Then you’ll work your way through more specialized situations and finally some great functionality Guava provides that can add a lot of power to your applications with little effort. You will learn about Guava’s famous Collections classes that add unique features, like the Bi-Map, to Java’s already great Collection classes. We’ll see how to add some functional programming aspects to our code. We will also learn about using a self-loading cache for improved performance in our applications, and how to use the EventBus to create software that takes advantage of event-based programming.</p>
Table of Contents (16 chapters)
Getting Started with Google Guava
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

CacheStats


Now that we've learned how to create a powerful caching mechanism, we are going to want to gather statistics on how our cache is performing and how it's being used. There is a very easy way to gather information on how our cache is performing. Keep in mind that tracking cache operations incurs a performance penalty. To gather statistics on our cache, we just need to specify that we want to record the statistics when using CacheBuilder:

LoadingCache<String,TradeAccount> tradeAccountCache = CacheBuilder.newBuilder()
            .recordStats()

Here we are using a familiar pattern for constructing a LoadingCache instance. To enable the recording of statistics, all we need to do is add a recordStats() call on our builder. To read the performance statistics, all we need to do is call the stats() method on our Cache/LoadingCache instance, and we will get a reference to a CacheStats instance. Let's take the following example:

CacheStats cacheStats = cache.stats();

The following list...