In the previous chapter, we learned how to use the JMS (Java Messaging Service) APIs to write asynchronous applications. In this chapter, we will learn about some of the techniques and tools used to profile Java applications. Enterprise applications tend to be quite complex and big. There could be situations where the application does not perform as per your requirements or expectations. For example, some of the operations performed in the application might be taking too long or consuming more memory than you expected. Furthermore, debugging performance and memory issues can sometimes become very difficult.
Fortunately, there are tools available, both in JDK and Eclipse, to help us debug these issues. JDK 6 (update 7) and above are bundled with the jVisualVM application that can connect to remote or local applications. You can find this...