Package org.apache.jorphan.util

# 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 java.lang.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)`