{"id":326,"date":"2007-09-27T00:49:11","date_gmt":"2007-09-27T05:49:11","guid":{"rendered":"http:\/\/www.juixe.com\/techknow\/index.php\/2007\/09\/27\/yourkit-java-profiler-70-review\/"},"modified":"2007-09-27T00:49:11","modified_gmt":"2007-09-27T05:49:11","slug":"yourkit-java-profiler-70-review","status":"publish","type":"post","link":"http:\/\/juixe.com\/techknow\/index.php\/2007\/09\/27\/yourkit-java-profiler-70-review\/","title":{"rendered":"YourKit Java Profiler 7.0 Review"},"content":{"rendered":"<p>Like most developers, I like free software and open source software both for it&#8217;s freedom and it&#8217;s price.  But once in a while there are some software you can&#8217;t avoid but to pay for.  I was involved in a project recently where I had to profile some Java memory leak in a tight deadline.  The code base for the project is compiled to Java 1.4 bytecode and the team uses Eclipse 3.1.  I don&#8217;t know of any good profiler for Eclipse so without skipping a beat or thinking twice about it I downloaded a free 15-day trial version of <a href=\"http:\/\/www.yourkit.com\/\">YourKit Java Profiler<\/a>.<\/p>\n<p>It was just drop dead simple to manually <a href=\"http:\/\/www.yourkit.com\/docs\/70\/help\/getting_started\/running_with_profiler\/agent.jsp\">enable<\/a> YourKit to profile our JBoss 3.2.x based application even though we highly customized the start batch script.  Once profiling is enabled, I was  able to connect to our application from YourKit to have it start profiling, monitor, inspecting the leaky architecture in the application.<\/p>\n<p>It took me just a few hours to get familiar with the YourKit screens and memory snapshots views.  Within a day I was able to track down a <b>ThreadLocal<\/b> object that was keeping a HashMap instance that in turn collected a large hierarchy of objects in memory.  Clearing the value of the ThreadLocal did the job.<\/p>\n<p><span class=\"frame-outer  \"><span><span><span><span><img src='http:\/\/www.juixe.com\/techknow\/wp-content\/uploads\/2007\/09\/yourkit.jpg' alt='YourKit Java Profiler 7.0' \/><\/span><\/span><\/span><\/span><\/span><\/p>\n<p>Again, I choose YourKit mostly because of the environment and JVM I was using.  I do understand that NetBeans 5.5 has a nice <a href=\"http:\/\/profiler.netbeans.org\/\">profiler<\/a> for Java, which I have not tried myself.  I would have opted for that if I was already using NetBeans or if it was the first result when I googled &#8216;java profiler.&#8217;  Unfortunately I was not able to find what seemed like a good or reliable profiler for Eclipse.  For this reason alone I recommended YouKit Java Profiler to my boss.  Although to be completely honest,  since YourKit worked so well for me I thought of just getting another trial version next time I am ever in a bind and need to profile a Java application.<\/p>\n<p>Technorati Tags: <a href=\"http:\/\/technorati.com\/tag\/java\" rel=\"tag\">java<\/a>, <a href=\"http:\/\/technorati.com\/tag\/yourkit\" rel=\"tag\"> yourkit<\/a>, <a href=\"http:\/\/technorati.com\/tag\/profiler\" rel=\"tag\"> profiler<\/a>, <a href=\"http:\/\/technorati.com\/tag\/monitor\" rel=\"tag\"> monitor<\/a>, <a href=\"http:\/\/technorati.com\/tag\/performance\" rel=\"tag\"> performance<\/a>, <a href=\"http:\/\/technorati.com\/tag\/memory+leak\" rel=\"tag\"> memory leak<\/a>, <a href=\"http:\/\/technorati.com\/tag\/product+review\" rel=\"tag\"> product review<\/a>, <a href=\"http:\/\/technorati.com\/tag\/eclipse\" rel=\"tag\"> eclipse<\/a>, <a href=\"http:\/\/technorati.com\/tag\/netbeans\" rel=\"tag\"> netbeans<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Like most developers, I like free software and open source software both for it&#8217;s freedom and it&#8217;s price. But once in a while there are some software you can&#8217;t avoid but to pay for. I was involved in a project recently where I had to profile some Java memory leak in a tight deadline. The [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":""},"categories":[14,15,19,21,3],"tags":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p902K-5g","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/326"}],"collection":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/comments?post=326"}],"version-history":[{"count":0,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/326\/revisions"}],"wp:attachment":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/media?parent=326"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/categories?post=326"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/tags?post=326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}