| <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html lang="en-us" xml:lang="en-us"> |
| <head> |
| <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> |
| <meta name="copyright" content="(C) Copyright 2005" /> |
| <meta name="DC.rights.owner" content="(C) Copyright 2005" /> |
| <meta content="reference" name="DC.Type" /> |
| <meta name="DC.Title" content="New & Noteworthy" /> |
| <meta name="abstract" content="Here are descriptions of some of the more interesting or significant changes made to the Memory Analyzer for the 0.8 release." /> |
| <meta name="description" content="Here are descriptions of some of the more interesting or significant changes made to the Memory Analyzer for the 0.8 release." /> |
| <meta content="XHTML" name="DC.Format" /> |
| <meta content="ref_noteworthy" name="DC.Identifier" /> |
| <meta content="en-us" name="DC.Language" /> |
| <link href="styles/commonltr.css" type="text/css" rel="stylesheet" /> |
| <title>New & Noteworthy</title> |
| </head> |
| <body id="ref_noteworthy"><a name="ref_noteworthy"><!-- --></a> |
| |
| |
| <h1 class="topictitle1">New & Noteworthy</h1> |
| |
| |
| <div><p>Here are descriptions of some of the more interesting or |
| significant changes made to the Memory Analyzer for the 0.8 release. |
| </p> |
| |
| <div class="section"><h2 class="sectiontitle">Support IBM Heap Dumps</h2> |
| |
| <p> |
| The IBM-family of Virtual Machines (VM) write heap dumps in |
| various |
| formats: PHD (portable heap dump), system dump, etc. IBM's |
| Diagnostic Tool Framework for Java provides an API to read those |
| heap dumps. After installing DTFJ, one can view and analyze IBM |
| dumps with the same comfort as HPROF dumps. |
| </p> |
| |
| |
| <p> |
| Download |
| <a href="http://www.ibm.com/developerworks/java/jdk/tools/dtfj.html">IBM Diagnostic Tool Framework for Java Version 1.3</a> |
| from IBM Developer Works. |
| </p> |
| |
| |
| </div> |
| |
| |
| <div class="section"><h2 class="sectiontitle">Stack Frames</h2> |
| |
| <p> |
| Heap dumps from the latest VMs include stack trace information, |
| linking local GC roots to specific stack frames of specific |
| threads. |
| This information is now available via |
| <em>Java Basics / Thread Stacks</em> |
| query. |
| </p> |
| |
| <p> |
| Supported heap dumps formats are HPROF (starting with Java 6 |
| Update 14 and Java 7) as well as DTFJ-formatted dumps. |
| </p> |
| |
| |
| <img src="mimes/nn_thread_stacks.png" alt="Tree of of threads including stack frames, local variables and 					their outgoing references." /> |
| </div> |
| |
| |
| <div class="section"><h2 class="sectiontitle">Histogram of Unreachable Objects</h2> |
| |
| <p> |
| A heap dump can contain unreachable objects, e.g. objects which |
| should be garbage collected but stay around for various reasons. |
| Usually this is due to optimizations in the garbage collection |
| algorithm. The Memory Analyzer removes these objects by default from |
| the object graph. |
| </p> |
| |
| <p> |
| Now one can use the |
| <em>Java Basics / Unreachable Objects Histogram</em> |
| to view the objects that have been removed. Alternatively, one can |
| parse the heap dump providing the |
| <samp class="codeph">-keep_unreachable_objects</samp> |
| flag. Using the flag, unreachable objects will be marked with the GC |
| Root Type "unkown". |
| </p> |
| |
| <img src="mimes/nn_unreachable_histogram.png" alt="Histogram of unreachable objects." /> |
| <p> |
| Find more information in the |
| <a href="http://wiki.eclipse.org/MemoryAnalyzer/FAQ#How_to_analyse_unreachable_objects"> |
| Memory Analyzer FAQ |
| </a> |
| . |
| </p> |
| |
| </div> |
| |
| |
| <div class="section"><h2 class="sectiontitle">Inspector Enhancements</h2> |
| |
| <p>This great contribution from the Chris Grindstaff, recreates |
| colors and images from the information in the heap dump and displays |
| the information in the lower left corner of the inspector. |
| </p> |
| |
| |
| <img src="mimes/nn_inspector_imagedata.png" alt="Inspector showing an icon from the heap dump." /> |
| |
| <img src="mimes/nn_inspector_rgb.png" alt="Inspector showing the color of the RGB object." /> |
| </div> |
| |
| |
| <div class="section"><h2 class="sectiontitle">Class Hierarchy in Inspector</h2> |
| |
| <p>The inspector displays now the full class hierarchy of any |
| selected object. One can drill-down via context menus.</p> |
| |
| |
| <img src="mimes/nn_inspector_class_hierarchy.png" alt="Inspector showing the class hierarchy of an object." /> |
| </div> |
| |
| |
| <div class="section"><h2 class="sectiontitle">Waste in Char Arrays</h2> |
| |
| <p>This query finds strings that retain wasteful char arrays. Those |
| strings are usually created by the substring function, which keeps |
| the whole array but uses only part of the chars. |
| </p> |
| |
| |
| <img src="mimes/nn_query_waste_char_arrays.png" alt="Query displaying waste in char arrays." /> |
| </div> |
| |
| |
| </div> |
| |
| <div /> |
| |
| </body> |
| </html> |