Troubleshooting Java applications has the reputation of a dark art and is often compared to finding the needle in a haystack. Using tools bundled with the JDK and the OS, a few open source packages and lightweight approaches can help you zero in on a some common scenarios. We will explore working with local and remote JVMs, the myriad of startup flags, analyzing and correlating thread dumps with cpu consumption, system vs application level instrumentation, considerations for multi-tenant JVMs, getting around in an unfamiliar production environment and if we don’t forget, memory games.
If you could use more visibility into your Java application during development and production runs this talk is filled with practical tips, from the high level to the gritty details.
Ovidiu is a Cloud Engineer at Oracle. A full stack developer, comfortable at any level in an application stack he enjoys fun challenges and solid engineering. He is the founder and organizer of Jacksonville Mobile User Group. Ovidiu enjoys sharing the knowledge and learning in the process by speaking at various developers events.
His current interest is in cloud computing, analytics and systems thinking. You can find him on Twitter @odimulescu for the occasional posts.