blob: 3b017bbf029d3c9cdb9b6b92252f7ab26f521399 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>JCJavaObject (OpenJ9 JDK 16)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: openj9.dtfj, package: com.ibm.dtfj.java.javacore, class: JCJavaObject">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.dtfj.java.javacore.JCJavaObject class">
<meta name="keywords" content="arraycopy()">
<meta name="keywords" content="getArraySize()">
<meta name="keywords" content="getHashcode()">
<meta name="keywords" content="getID()">
<meta name="keywords" content="getJavaClass()">
<meta name="keywords" content="getPersistentHashcode()">
<meta name="keywords" content="getSections()">
<meta name="keywords" content="getSize()">
<meta name="keywords" content="isArray()">
<meta name="keywords" content="getReferences()">
<meta name="keywords" content="getHeap()">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 16</strong></div></div>
<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/JCJavaObject.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!-- -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">openj9.dtfj</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.dtfj.java.javacore</a></div>
<h1 title="Class JCJavaObject" class="title">Class JCJavaObject</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">java.lang.Object</a>
<div class="inheritance">com.ibm.dtfj.java.javacore.JCJavaObject</div>
</div>
<section class="description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">JCJavaObject</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>
implements <a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></span></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor.summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(com.ibm.dtfj.image.ImagePointer,com.ibm.dtfj.java.JavaClass)">JCJavaObject</a></span>&#8203;(<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;address,
<a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a>&nbsp;javaClass)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#arraycopy(int,java.lang.Object,int,int)">arraycopy</a></span>&#8203;(int&nbsp;arg0,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>&nbsp;arg1,
int&nbsp;arg2,
int&nbsp;arg3)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Copies data from the image array into a local Java array.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getArraySize()">getArraySize</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the number of elements in this array.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>long</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getHashcode()">getHashcode</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Fetch the basic hash code for the object.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../JavaHeap.html" title="interface in com.ibm.dtfj.java">JavaHeap</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getHeap()">getHeap</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Gets the heap where this object is located.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getID()">getID</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">The ID of an object is a unique address is memory which identifies the object.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getJavaClass()">getJavaClass</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the JavaClass instance which represents the class of this object.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>long</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getPersistentHashcode()">getPersistentHashcode</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Fetch the basic hash code of the object in the image.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getReferences()">getReferences</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the set of references from this object.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getSections()">getSections</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">An object is represented in the Java runtime by one or more regions of memory.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>long</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getSize()">getSize</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the number of bytes of memory occupied by this object on the heap.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#isArray()">isArray</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Is this object an array ?</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.lang.Object">Methods declared in class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link" target="_blank">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link" target="_blank">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link" target="_blank">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link" target="_blank">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link" target="_blank">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link" target="_blank">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.com.ibm.dtfj.java.JavaObject">Methods declared in interface&nbsp;com.ibm.dtfj.java.<a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></h3>
<code><a href="../JavaObject.html#equals(java.lang.Object)">equals</a>, <a href="../JavaObject.html#hashCode()">hashCode</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor.detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(com.ibm.dtfj.image.ImagePointer,com.ibm.dtfj.java.JavaClass)">
<h3>JCJavaObject</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">JCJavaObject</span>&#8203;<span class="parameters">(<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;address,
<a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a>&nbsp;javaClass)</span>
throws <span class="exceptions"><a href="JCInvalidArgumentsException.html" title="class in com.ibm.dtfj.java.javacore">JCInvalidArgumentsException</a></span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="JCInvalidArgumentsException.html" title="class in com.ibm.dtfj.java.javacore">JCInvalidArgumentsException</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="arraycopy(int,java.lang.Object,int,int)">
<h3>arraycopy</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">arraycopy</span>&#8203;<span class="parameters">(int&nbsp;arg0,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>&nbsp;arg1,
int&nbsp;arg2,
int&nbsp;arg3)</span>
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a>,
<a href="../../image/MemoryAccessException.html" title="class in com.ibm.dtfj.image">MemoryAccessException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#arraycopy(int,java.lang.Object,int,int)">JavaObject</a></code></span></div>
<div class="block">Copies data from the image array into a local Java array.
The dst object must be an array of the appropriate type --
a base type array for base types, or a JavaObject array
for reference arrays.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#arraycopy(int,java.lang.Object,int,int)">arraycopy</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Parameters:</dt>
<dd><code>arg0</code> - index in the receiver to start copying from</dd>
<dd><code>arg1</code> - the destination array</dd>
<dd><code>arg2</code> - index in the destination array to start copying into</dd>
<dd><code>arg3</code> - the number of elements to be copied</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dd><code><a href="../../image/MemoryAccessException.html" title="class in com.ibm.dtfj.image">MemoryAccessException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getArraySize()">
<h3>getArraySize</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getArraySize</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#getArraySize()">JavaObject</a></code></span></div>
<div class="block">Get the number of elements in this array.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#getArraySize()">getArraySize</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Returns:</dt>
<dd>the number of elements in this array
<p></dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getHashcode()">
<h3>getHashcode</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">getHashcode</span>()
throws <span class="exceptions"><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a>,
<a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#getHashcode()">JavaObject</a></code></span></div>
<div class="block">Fetch the basic hash code for the object. This is the hash code which
would be returned if a Java thread had requested it. Typically the hash
code is based on the address of an object, and may change if the object
is moved by a garbage collect cycle.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#getHashcode()">getHashcode</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Returns:</dt>
<dd>the basic hash code of the object in the image.</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code> - if the hash code cannot be determined</dd>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt>See Also:</dt>
<dd><a href="../JavaObject.html#getPersistentHashcode()"><code>JavaObject.getPersistentHashcode()</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getID()">
<h3>getID</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span>&nbsp;<span class="element-name">getID</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#getID()">JavaObject</a></code></span></div>
<div class="block">The ID of an object is a unique address is memory which identifies the object.
The data at this memory is implementation defined. The object may be
non-contiguous. Portions of the object may appear below or above this address.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#getID()">getID</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Returns:</dt>
<dd>the runtime-wide unique identifier for the object</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getJavaClass()">
<h3>getJavaClass</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../JavaClass.html" title="interface in com.ibm.dtfj.java">JavaClass</a></span>&nbsp;<span class="element-name">getJavaClass</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#getJavaClass()">JavaObject</a></code></span></div>
<div class="block">Get the JavaClass instance which represents the class of this object.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#getJavaClass()">getJavaClass</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Returns:</dt>
<dd>the JavaClass instance which represents the class of this object</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPersistentHashcode()">
<h3>getPersistentHashcode</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">getPersistentHashcode</span>()
throws <span class="exceptions"><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a>,
<a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#getPersistentHashcode()">JavaObject</a></code></span></div>
<div class="block">Fetch the basic hash code of the object in the image. This hash code
is guaranteed to be persistent between multiple snapshots of the same Image.
If the hash code cannot be determined, or if the hash code for this object
could change between snapshots, an exception is thrown.
<p>
<i>If the VM uses a 'hasBeenHashed' bit, the value of this bit can be
inferred by calling getPersistentHashcode(). If the persistent hash code
is not available, then the 'hasBeenHashed' bit has not been set, and the
hash of the object could change if the object moves between snapshots</i></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#getPersistentHashcode()">getPersistentHashcode</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Returns:</dt>
<dd>the basic hash code of the object in the image</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code> - if a hash code cannot be determined, or if the
hash code could change between successive snapshots</dd>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt>See Also:</dt>
<dd><a href="../JavaObject.html#getHashcode()"><code>JavaObject.getHashcode()</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSections()">
<h3>getSections</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getSections</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#getSections()">JavaObject</a></code></span></div>
<div class="block">An object is represented in the Java runtime by one or more regions of memory.
These include the object's header and the data in the object.
In certain allocation strategies, an object's header and data may be allocated
contiguously. In this case, this method may return an iterator for a single
section.
In other schemes, the header may be separate from the data or the data may be
broken up into multiple regions. Additionally, this function does not guarantee
that the memory used by this object is not also shared by one or more other
objects.
Callers should not make any assumptions about the contents of the memory.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#getSections()">getSections</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Returns:</dt>
<dd>a collection of sections that make up this object</dd>
<dt>See Also:</dt>
<dd><a href="../../image/ImageSection.html" title="interface in com.ibm.dtfj.image"><code>ImageSection</code></a>,
<a href="../../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSize()">
<h3>getSize</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">getSize</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#getSize()">JavaObject</a></code></span></div>
<div class="block">Get the number of bytes of memory occupied by this object on the heap.
The memory may not necessarily be contiguous</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#getSize()">getSize</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isArray()">
<h3>isArray</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isArray</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#isArray()">JavaObject</a></code></span></div>
<div class="block">Is this object an array ?</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#isArray()">isArray</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Returns:</dt>
<dd>true if the receiver represents an instance of an array, or
false otherwise</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getReferences()">
<h3>getReferences</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getReferences</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#getReferences()">JavaObject</a></code></span></div>
<div class="block">Get the set of references from this object.
<p>
Corrupt references will be returned as CorruptData objects by the Iterator</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#getReferences()">getReferences</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Returns:</dt>
<dd>an iterator of JavaReference and CorruptData objects</dd>
<dt>See Also:</dt>
<dd><a href="../JavaReference.html" title="interface in com.ibm.dtfj.java"><code>JavaReference</code></a>,
<a href="../../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getHeap()">
<h3>getHeap</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../JavaHeap.html" title="interface in com.ibm.dtfj.java">JavaHeap</a></span>&nbsp;<span class="element-name">getHeap</span>()
throws <span class="exceptions"><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaObject.html#getHeap()">JavaObject</a></code></span></div>
<div class="block">Gets the heap where this object is located.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaObject.html#getHeap()">getHeap</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></dd>
<dt>Returns:</dt>
<dd>the <code>JavaHeap</code> instance representing the heap where this object is stored in memory.</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code> - if the heap information for this object is not available.</dd>
<dt>See Also:</dt>
<dd><a href="../JavaHeap.html" title="interface in com.ibm.dtfj.java"><code>JavaHeap</code></a></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse-openj9/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</div>
</div>
</body>
</html>