# Class HeapDumper

java.lang.Object
org.apache.jorphan.util.HeapDumper

public class HeapDumper extends Object
Class allowing access to Sun's heapDump method (Java 1.6+). Uses Reflection so that the code compiles on Java 1.5. The code will only work on Sun Java 1.6+.

## Method Summary

Modifier and Type
Method
Description
`static String`
`dumpHeap()`
Dumps live objects from the heap to the outputFile file in the same format as the hprof heap dump.
`static String`
`dumpHeap(boolean live)`
Dumps objects from the heap to the outputFile file in the same format as the hprof heap dump.
`static String`
`dumpHeap(File basedir, boolean live)`
Dumps objects from the heap to the outputFile file in the same format as the hprof heap dump.
`static void`
`dumpHeap(String fileName)`
Dumps live objects from the heap to the outputFile file in the same format as the hprof heap dump.
`static void`
`dumpHeap(String fileName, boolean live)`
Dumps the heap to the outputFile file in the same format as the hprof heap dump.
`static void`
`init()`
Initialise the dumper, and report if there is a problem.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### init

public static void init() throws Exception
Initialise the dumper, and report if there is a problem. This is optional, as the dump methods will initialise if necessary.

Throws:
  `Exception` - if there is a problem finding the heapDump MXBean

### dumpHeap

public static void dumpHeap(String fileName, boolean live) throws Exception
Dumps the heap to the outputFile file in the same format as the hprof heap dump.

Calls the dumpHeap() method of the HotSpotDiagnostic MXBean, if available.

See HotSpotDiagnosticMXBean

Parameters:
  `fileName` - name of the heap dump file. Must be creatable, i.e. must not exist.
  `live` - if true, dump only the live objects
Throws:
  `Exception` - if the MXBean cannot be found, or if there is a problem during invocation

### dumpHeap

public static void dumpHeap(String fileName) throws Exception
Dumps live objects from the heap to the outputFile file in the same format as the hprof heap dump.

Parameters:
  `fileName` - name of the heap dump file. Must be creatable, i.e. must not exist.
Throws:
  `Exception` - if the MXBean cannot be found, or if there is a problem during invocation
See Also:
  - `dumpHeap(String, boolean)`

### dumpHeap

public static String dumpHeap() throws Exception
Dumps live objects from the heap to the outputFile file in the same format as the hprof heap dump.

Creates the dump using the file name: dump_yyyyMMdd_hhmmss_SSS.hprof The dump is created in the current directory.

Returns:
  the name of the dump file that was created
Throws:
  `Exception` - if the MXBean cannot be found, or if there is a problem during invocation
See Also:
  - `dumpHeap(boolean)`

### dumpHeap

public static String dumpHeap(boolean live) throws Exception
Dumps objects from the heap to the outputFile file in the same format as the hprof heap dump.

Creates the dump using the file name: dump_yyyyMMdd_hhmmss_SSS.hprof The dump is created in the current directory.

Parameters:
  `live` - true id only live objects are to be dumped.
Returns:
  the name of the dump file that was created
Throws:
  `Exception` - if the MXBean cannot be found, or if there is a problem during invocation
See Also:
  - `dumpHeap(String, boolean)`

### dumpHeap

public static String dumpHeap(File basedir, boolean live) throws Exception
Dumps objects from the heap to the outputFile file in the same format as the hprof heap dump. The dump is created in the specified directory.

Creates the dump using the file name: dump_yyyyMMdd_hhmmss_SSS.hprof

Parameters:
  `basedir` - File object for the target base directory.
  `live` - true id only live objects are to be dumped.
Returns:
  the name of the dump file that was created
Throws:
  `Exception` - if the MXBean cannot be found, or if there is a problem during invocation
See Also:
  - `dumpHeap(String, boolean)`