<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered)">
<title>Java(TM) 2 SDK Documentation</title>
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Batang;
panose-1:2 3 6 0 0 1 1 1 1 1;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Cambria;}
@font-face
{font-family:Consolas;}
@font-face
{font-family:"\@Batang";
panose-1:2 3 6 0 0 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";
color:black;}
h2
{margin-right:0in;
margin-left:0in;
font-size:18.0pt;
font-family:"Times New Roman";
color:windowtext;
font-weight:bold;}
h4
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Times New Roman";
color:black;
font-weight:bold;}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:#000077;
text-decoration:underline;}
p
{margin-right:0in;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman";
color:black;}
pre
{margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
color:black;}
tt
{font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{margin:0in;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:Tahoma;
color:black;}
span.Heading2Char
{font-family:Cambria;
color:#4F81BD;
font-weight:bold;}
span.Heading4Char
{font-family:Cambria;
color:#4F81BD;
font-weight:bold;
font-style:italic;}
span.HTMLPreformattedChar
{font-family:Consolas;
color:black;}
span.BalloonTextChar
{font-family:Tahoma;
color:black;}
p.msochpdefault, li.msochpdefault, div.msochpdefault
{margin-right:0in;
margin-left:0in;
font-size:10.0pt;
font-family:"Times New Roman";
color:black;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body bgcolor=white lang=EN-US link=blue vlink="#000077" alink="#FF0000">
<div class=Section1>
<p class=MsoNormal align=center style='text-align:center'><b><span
style='font-size:18.0pt'>IBM® HeapAnalyzer</span></b></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:18.0pt'> </span></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:18.0pt'> </span></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:18.0pt'>IBM HeapAnalyzer Creator/Developer</span></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:18.0pt'>Jinwoo Hwang</span></p>
<p align=center style='margin:0in;margin-bottom:.0001pt;text-align:center'>jinwoo@us.ibm.com</p>
<p style='margin:0in;margin-bottom:.0001pt'> </p>
<p style='margin:0in;margin-bottom:.0001pt'>Welcome to IBM HeapAnalyzer. IBM
HeapAnalyzer allows the finding of a possible Java™ heap leak area through
its heuristic search engine and analysis of the Java heap dump in Java
applications. </p>
<p style='margin:0in;margin-bottom:.0001pt'> </p>
<p style='margin:0in;margin-bottom:.0001pt'><b><span style='font-size:20.0pt'>Introduction</span></b></p>
<p>The Heapdump contains a list of all the objects that are in the heap.</p>
<p>Heapdumps can be very large with millions of items in them. </p>
<p>It's not always easy to analyze a large file. This tool analyzes heapdumps
of Java SDK 1.3.1,1.4.x, 5.0 and 6.0</p>
<p>IBM HeapAnalyzer is provided “as-is”.</p>
<p style='margin:0in;margin-bottom:.0001pt'><b><span style='font-size:20.0pt'>Prerequisite</span></b></p>
<p style='margin-left:.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span>Java
Runtime Environment 6 or higher<br>
<br>
The following exception will be thrown if older version of Java virtual machine
is used:<br>
Exception in thread "main" java.lang.NoClassDefFoundError:
java/util/regex/PatternSyntaxException</p>
<p> </p>
<p><b><span style='font-size:20.0pt'>Definitions</span></b></p>
<p style='margin-top:5.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:
.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span><b>Root
object</b> An object for which no (different) object holds a reference.</p>
<p style='margin-top:5.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:
.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span><b>Parent
object</b> An object (for example, A) that holds at least one reference to some<br>
(different) object (for example, B). In this case, A is said to be the parent
of B.</p>
<p style='margin-top:5.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:
.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span><b>Owner
object</b> If an object has more than one parent object, a parent object is
chosen as owner object. <br>
Total size is calculated only with owner objects.</p>
<p style='margin-top:5.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:
.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span><b>Child
object</b> An object (for example, B) for which at least one (different) object<br>
(for example, A) holds a reference. In this case B is said to be the child of
A. </p>
<p style='margin-top:5.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:
.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span><b>Type </b>Collection
of same objects</p>
<p style='margin-top:5.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:
.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span><b>Size</b>
The size of an object is the amount of memory that is required to hold that
object in memory.</p>
<p style='margin-left:.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span><b>Total
size </b>The subtree size of an object is the sum of its size and the sizes of<br>
all the objects that it reached from its children. Note that each<br>
object is assigned a unique parent and root during processing. <br>
If there’s substantial difference in total size between <br>
a parent and its child, it’s called a total size drop. </p>
<p> </p>
<p><b><span style='font-size:20.0pt'>Features</span></b></p>
<p style='margin-left:.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span>Parent and
Children View from Table View and Tree View</p>
<p style='margin-left:.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span>Address
search</p>
<p style='margin-left:.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> </span>Root List
View</p>
<p style='margin-left:.5in;text-indent:-.25in'><span style='font-family:Symbol'>·</span><span
style='font-size:7.0pt'> &n