“And for you, Frodo Baggins, I give you the light of Eärendil, our most beloved star. May it be a light to you in dark places when all other lights go out.”
In this chapter, we start with using a profiler. We’ll continue the discussion in chapter 7. A profiler may not be as powerful as the light of Eärendil, but this tool is definitely a light in dark cases when all the other lights go out. A profiler is a powerful tool that has helped me to understand the root cause of an app’s strange behavior in many difficult situations. I consider learning to use a profiler a must for all developers, as it can be a compass to guide you to the cause of a seemingly hopeless problem. As you’ll learn in this chapter, the profiler intercepts the executing JVM processes and offers extremely useful details: