blob: c0fecf960d1f263aef0bd2b44b3dcaea39e15fe5 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ClassSize (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ClassSize (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ClassSize.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-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/util/ClassLoaderBase.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/util/ClassSize.html" target="_top">Frames</a></li>
<li><a href="ClassSize.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.util</div>
<h2 title="Class ClassSize" class="title">Class ClassSize</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.util.ClassSize</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.40">ClassSize</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Class for determining the "size" of a class, an attempt to calculate the
actual bytes that an object of this class will occupy in memory
The core of this class is taken from the Derby project</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a></span></code>
<div class="block">MemoryLayout abstracts details about the JVM object layout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.UnsafeLayout</a></span></code>
<div class="block">UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header
sizes and oop sizes
See HBASE-15950.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#ARRAY">ARRAY</a></span></code>
<div class="block">Array overhead</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#ARRAYLIST">ARRAYLIST</a></span></code>
<div class="block">Overhead for ArrayList(0)</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#ATOMIC_BOOLEAN">ATOMIC_BOOLEAN</a></span></code>
<div class="block">Overhead for AtomicBoolean</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#ATOMIC_INTEGER">ATOMIC_INTEGER</a></span></code>
<div class="block">Overhead for AtomicInteger</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#ATOMIC_LONG">ATOMIC_LONG</a></span></code>
<div class="block">Overhead for AtomicLong</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#ATOMIC_REFERENCE">ATOMIC_REFERENCE</a></span></code>
<div class="block">Overhead for AtomicReference</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#BYTE_BUFFER">BYTE_BUFFER</a></span></code>
<div class="block">Overhead for ByteBuffer</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CELL_ARRAY_MAP">CELL_ARRAY_MAP</a></span></code>
<div class="block">Overhead for CellArrayMap</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CELL_ARRAY_MAP_ENTRY">CELL_ARRAY_MAP_ENTRY</a></span></code>
<div class="block">Overhead for Cell Array Entry</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CELL_CHUNK_MAP">CELL_CHUNK_MAP</a></span></code>
<div class="block">Overhead for CellChunkMap</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CELL_CHUNK_MAP_ENTRY">CELL_CHUNK_MAP_ENTRY</a></span></code>
<div class="block">Overhead for Cell Chunk Map Entry</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CELL_FLAT_MAP">CELL_FLAT_MAP</a></span></code>
<div class="block">Overhead for CellFlatMap</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CELL_SET">CELL_SET</a></span></code>
<div class="block">Overhead for CellSkipListSet</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CONCURRENT_HASHMAP">CONCURRENT_HASHMAP</a></span></code>
<div class="block">Overhead for ConcurrentHashMap</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CONCURRENT_HASHMAP_ENTRY">CONCURRENT_HASHMAP_ENTRY</a></span></code>
<div class="block">Overhead for ConcurrentHashMap.Entry</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CONCURRENT_HASHMAP_SEGMENT">CONCURRENT_HASHMAP_SEGMENT</a></span></code>
<div class="block">Overhead for ConcurrentHashMap.Segment</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CONCURRENT_SKIPLISTMAP">CONCURRENT_SKIPLISTMAP</a></span></code>
<div class="block">Overhead for ConcurrentSkipListMap</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#CONCURRENT_SKIPLISTMAP_ENTRY">CONCURRENT_SKIPLISTMAP_ENTRY</a></span></code>
<div class="block">Overhead for ConcurrentSkipListMap Entry</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#COPYONWRITE_ARRAYLIST">COPYONWRITE_ARRAYLIST</a></span></code>
<div class="block">Overhead for CopyOnWriteArrayList</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#COPYONWRITE_ARRAYSET">COPYONWRITE_ARRAYSET</a></span></code>
<div class="block">Overhead for CopyOnWriteArraySet</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#INTEGER">INTEGER</a></span></code>
<div class="block">Overhead for an Integer</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#LINKEDLIST">LINKEDLIST</a></span></code>
<div class="block">Overhead for LinkedList(0)</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#LINKEDLIST_ENTRY">LINKEDLIST_ENTRY</a></span></code>
<div class="block">Overhead for a single entry in LinkedList</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#MAP_ENTRY">MAP_ENTRY</a></span></code>
<div class="block">Overhead for entry in map</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#memoryLayout">memoryLayout</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#NON_SYNC_TIMERANGE_TRACKER">NON_SYNC_TIMERANGE_TRACKER</a></span></code>
<div class="block">Overhead for NonSyncTimeRangeTracker</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#OBJECT">OBJECT</a></span></code>
<div class="block">Object overhead is minimum 2 * reference size (8 bytes on 64-bit)</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#REENTRANT_LOCK">REENTRANT_LOCK</a></span></code>
<div class="block">Overhead for ReentrantReadWriteLock</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#REFERENCE">REFERENCE</a></span></code>
<div class="block">Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#STORE_SERVICES">STORE_SERVICES</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#STRING">STRING</a></span></code>
<div class="block">String overhead</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#SYNC_TIMERANGE_TRACKER">SYNC_TIMERANGE_TRACKER</a></span></code>
<div class="block">Overhead for SyncTimeRangeTracker</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#TIMERANGE">TIMERANGE</a></span></code>
<div class="block">Overhead for timerange</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#TREEMAP">TREEMAP</a></span></code>
<div class="block">Overhead for TreeMap</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#USE_UNSAFE_LAYOUT">USE_UNSAFE_LAYOUT</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#ClassSize--">ClassSize</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#align-int-">align</a></span>(int&nbsp;num)</code>
<div class="block">Aligns a number to 8.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#align-long-">align</a></span>(long&nbsp;num)</code>
<div class="block">Aligns a number to 8.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#estimateBase-java.lang.Class-boolean-">estimateBase</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cl,
boolean&nbsp;debug)</code>
<div class="block">Estimate the static space taken up by the fields of a class.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>private static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#estimateBaseFromCoefficients-int:A-boolean-">estimateBaseFromCoefficients</a></span>(int[]&nbsp;coeff,
boolean&nbsp;debug)</code>
<div class="block">Estimate the static space taken up by a class instance given the
coefficients returned by getSizeCoefficients.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#getMemoryLayout--">getMemoryLayout</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>private static int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#getSizeCoefficients-java.lang.Class-boolean-">getSizeCoefficients</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cl,
boolean&nbsp;debug)</code>
<div class="block">The estimate of the size of a class instance depends on whether the JVM
uses 32 or 64 bit addresses, that is it depends on the size of an object
reference.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#is32BitJVM--">is32BitJVM</a></span>()</code>
<div class="block">Determines if we are running in a 32-bit JVM.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#sizeOf-byte:A-">sizeOf</a></span>(byte[]&nbsp;b)</code>
<div class="block">Calculate the memory consumption (in byte) of a byte array,
including the array header and the whole backing byte array.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#sizeOfByteArray-int-">sizeOfByteArray</a></span>(int&nbsp;len)</code>
<div class="block">Calculate the memory consumption (in byte) of a part of a byte array,
including the array header and the part of the backing byte array.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#useUnsafeLayout--">useUnsafeLayout</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.41">LOG</a></pre>
</li>
</ul>
<a name="ARRAY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ARRAY</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.44">ARRAY</a></pre>
<div class="block">Array overhead</div>
</li>
</ul>
<a name="ARRAYLIST">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ARRAYLIST</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.47">ARRAYLIST</a></pre>
<div class="block">Overhead for ArrayList(0)</div>
</li>
</ul>
<a name="LINKEDLIST">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LINKEDLIST</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.50">LINKEDLIST</a></pre>
<div class="block">Overhead for LinkedList(0)</div>
</li>
</ul>
<a name="LINKEDLIST_ENTRY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LINKEDLIST_ENTRY</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.53">LINKEDLIST_ENTRY</a></pre>
<div class="block">Overhead for a single entry in LinkedList</div>
</li>
</ul>
<a name="BYTE_BUFFER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BYTE_BUFFER</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.56">BYTE_BUFFER</a></pre>
<div class="block">Overhead for ByteBuffer</div>
</li>
</ul>
<a name="INTEGER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INTEGER</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.59">INTEGER</a></pre>
<div class="block">Overhead for an Integer</div>
</li>
</ul>
<a name="MAP_ENTRY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAP_ENTRY</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.62">MAP_ENTRY</a></pre>
<div class="block">Overhead for entry in map</div>
</li>
</ul>
<a name="OBJECT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OBJECT</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.65">OBJECT</a></pre>
<div class="block">Object overhead is minimum 2 * reference size (8 bytes on 64-bit)</div>
</li>
</ul>
<a name="REFERENCE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REFERENCE</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.68">REFERENCE</a></pre>
<div class="block">Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit</div>
</li>
</ul>
<a name="STRING">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STRING</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.71">STRING</a></pre>
<div class="block">String overhead</div>
</li>
</ul>
<a name="TREEMAP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TREEMAP</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.74">TREEMAP</a></pre>
<div class="block">Overhead for TreeMap</div>
</li>
</ul>
<a name="CONCURRENT_HASHMAP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENT_HASHMAP</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.77">CONCURRENT_HASHMAP</a></pre>
<div class="block">Overhead for ConcurrentHashMap</div>
</li>
</ul>
<a name="CONCURRENT_HASHMAP_ENTRY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENT_HASHMAP_ENTRY</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.80">CONCURRENT_HASHMAP_ENTRY</a></pre>
<div class="block">Overhead for ConcurrentHashMap.Entry</div>
</li>
</ul>
<a name="CONCURRENT_HASHMAP_SEGMENT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENT_HASHMAP_SEGMENT</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.83">CONCURRENT_HASHMAP_SEGMENT</a></pre>
<div class="block">Overhead for ConcurrentHashMap.Segment</div>
</li>
</ul>
<a name="CONCURRENT_SKIPLISTMAP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENT_SKIPLISTMAP</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.86">CONCURRENT_SKIPLISTMAP</a></pre>
<div class="block">Overhead for ConcurrentSkipListMap</div>
</li>
</ul>
<a name="CONCURRENT_SKIPLISTMAP_ENTRY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONCURRENT_SKIPLISTMAP_ENTRY</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.89">CONCURRENT_SKIPLISTMAP_ENTRY</a></pre>
<div class="block">Overhead for ConcurrentSkipListMap Entry</div>
</li>
</ul>
<a name="CELL_FLAT_MAP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CELL_FLAT_MAP</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.92">CELL_FLAT_MAP</a></pre>
<div class="block">Overhead for CellFlatMap</div>
</li>
</ul>
<a name="CELL_CHUNK_MAP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CELL_CHUNK_MAP</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.95">CELL_CHUNK_MAP</a></pre>
<div class="block">Overhead for CellChunkMap</div>
</li>
</ul>
<a name="CELL_CHUNK_MAP_ENTRY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CELL_CHUNK_MAP_ENTRY</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.98">CELL_CHUNK_MAP_ENTRY</a></pre>
<div class="block">Overhead for Cell Chunk Map Entry</div>
</li>
</ul>
<a name="CELL_ARRAY_MAP">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CELL_ARRAY_MAP</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.101">CELL_ARRAY_MAP</a></pre>
<div class="block">Overhead for CellArrayMap</div>
</li>
</ul>
<a name="CELL_ARRAY_MAP_ENTRY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CELL_ARRAY_MAP_ENTRY</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.104">CELL_ARRAY_MAP_ENTRY</a></pre>
<div class="block">Overhead for Cell Array Entry</div>
</li>
</ul>
<a name="REENTRANT_LOCK">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>REENTRANT_LOCK</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.107">REENTRANT_LOCK</a></pre>
<div class="block">Overhead for ReentrantReadWriteLock</div>
</li>
</ul>
<a name="ATOMIC_LONG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATOMIC_LONG</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.110">ATOMIC_LONG</a></pre>
<div class="block">Overhead for AtomicLong</div>
</li>
</ul>
<a name="ATOMIC_INTEGER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATOMIC_INTEGER</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.113">ATOMIC_INTEGER</a></pre>
<div class="block">Overhead for AtomicInteger</div>
</li>
</ul>
<a name="ATOMIC_BOOLEAN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATOMIC_BOOLEAN</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.116">ATOMIC_BOOLEAN</a></pre>
<div class="block">Overhead for AtomicBoolean</div>
</li>
</ul>
<a name="ATOMIC_REFERENCE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATOMIC_REFERENCE</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.119">ATOMIC_REFERENCE</a></pre>
<div class="block">Overhead for AtomicReference</div>
</li>
</ul>
<a name="COPYONWRITE_ARRAYSET">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>COPYONWRITE_ARRAYSET</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.122">COPYONWRITE_ARRAYSET</a></pre>
<div class="block">Overhead for CopyOnWriteArraySet</div>
</li>
</ul>
<a name="COPYONWRITE_ARRAYLIST">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>COPYONWRITE_ARRAYLIST</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.125">COPYONWRITE_ARRAYLIST</a></pre>
<div class="block">Overhead for CopyOnWriteArrayList</div>
</li>
</ul>
<a name="TIMERANGE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TIMERANGE</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.128">TIMERANGE</a></pre>
<div class="block">Overhead for timerange</div>
</li>
</ul>
<a name="SYNC_TIMERANGE_TRACKER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SYNC_TIMERANGE_TRACKER</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.131">SYNC_TIMERANGE_TRACKER</a></pre>
<div class="block">Overhead for SyncTimeRangeTracker</div>
</li>
</ul>
<a name="NON_SYNC_TIMERANGE_TRACKER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NON_SYNC_TIMERANGE_TRACKER</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.134">NON_SYNC_TIMERANGE_TRACKER</a></pre>
<div class="block">Overhead for NonSyncTimeRangeTracker</div>
</li>
</ul>
<a name="CELL_SET">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CELL_SET</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.137">CELL_SET</a></pre>
<div class="block">Overhead for CellSkipListSet</div>
</li>
</ul>
<a name="STORE_SERVICES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STORE_SERVICES</h4>
<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.139">STORE_SERVICES</a></pre>
</li>
</ul>
<a name="memoryLayout">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>memoryLayout</h4>
<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.235">memoryLayout</a></pre>
</li>
</ul>
<a name="USE_UNSAFE_LAYOUT">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>USE_UNSAFE_LAYOUT</h4>
<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.236">USE_UNSAFE_LAYOUT</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ClassSize--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ClassSize</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.40">ClassSize</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getMemoryLayout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMemoryLayout</h4>
<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.223">getMemoryLayout</a>()</pre>
</li>
</ul>
<a name="useUnsafeLayout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useUnsafeLayout</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.238">useUnsafeLayout</a>()</pre>
</li>
</ul>
<a name="getSizeCoefficients-java.lang.Class-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSizeCoefficients</h4>
<pre>private static&nbsp;int[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.354">getSizeCoefficients</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cl,
boolean&nbsp;debug)</pre>
<div class="block">The estimate of the size of a class instance depends on whether the JVM
uses 32 or 64 bit addresses, that is it depends on the size of an object
reference. It is a linear function of the size of a reference, e.g.
24 + 5*r where r is the size of a reference (usually 4 or 8 bytes).
This method returns the coefficients of the linear function, e.g. {24, 5}
in the above example.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cl</code> - A class whose instance size is to be estimated</dd>
<dd><code>debug</code> - debug flag</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array of 3 integers. The first integer is the size of the
primitives, the second the number of arrays and the third the number of
references.</dd>
</dl>
</li>
</ul>
<a name="estimateBaseFromCoefficients-int:A-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateBaseFromCoefficients</h4>
<pre>private static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.412">estimateBaseFromCoefficients</a>(int[]&nbsp;coeff,
boolean&nbsp;debug)</pre>
<div class="block">Estimate the static space taken up by a class instance given the
coefficients returned by getSizeCoefficients.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>coeff</code> - the coefficients</dd>
<dd><code>debug</code> - debug flag</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the size estimate, in bytes</dd>
</dl>
</li>
</ul>
<a name="estimateBase-java.lang.Class-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateBase</h4>
<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.439">estimateBase</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cl,
boolean&nbsp;debug)</pre>
<div class="block">Estimate the static space taken up by the fields of a class. This includes
the space taken up by by references (the pointer) but not by the referenced
object. So the estimated size of an array field does not depend on the size
of the array. Similarly the size of an object (reference) field does not
depend on the object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cl</code> - class</dd>
<dd><code>debug</code> - debug flag</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the size estimate in bytes.</dd>
</dl>
</li>
</ul>
<a name="align-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>align</h4>
<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.448">align</a>(int&nbsp;num)</pre>
<div class="block">Aligns a number to 8.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>num</code> - number to align to 8</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>smallest number &gt;= input that is a multiple of 8</dd>
</dl>
</li>
</ul>
<a name="align-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>align</h4>
<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.457">align</a>(long&nbsp;num)</pre>
<div class="block">Aligns a number to 8.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>num</code> - number to align to 8</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>smallest number &gt;= input that is a multiple of 8</dd>
</dl>
</li>
</ul>
<a name="is32BitJVM--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>is32BitJVM</h4>
<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.465">is32BitJVM</a>()</pre>
<div class="block">Determines if we are running in a 32-bit JVM. Some unit tests need to
know this too.</div>
</li>
</ul>
<a name="sizeOf-byte:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sizeOf</h4>
<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.480">sizeOf</a>(byte[]&nbsp;b)</pre>
<div class="block">Calculate the memory consumption (in byte) of a byte array,
including the array header and the whole backing byte array.
If the whole byte array is occupied (not shared with other objects), please use this function.
If not, please use <a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#sizeOfByteArray-int-"><code>sizeOfByteArray(int)</code></a> instead.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>b</code> - the byte array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the memory consumption (in byte) of the whole byte array</dd>
</dl>
</li>
</ul>
<a name="sizeOfByteArray-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sizeOfByteArray</h4>
<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.496">sizeOfByteArray</a>(int&nbsp;len)</pre>
<div class="block">Calculate the memory consumption (in byte) of a part of a byte array,
including the array header and the part of the backing byte array.
This function is used when the byte array backs multiple objects.
For example, in <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase"><code>KeyValue</code></a>,
multiple KeyValue objects share a same backing byte array (<a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#bytes"><code>KeyValue.bytes</code></a>).
Also see <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html#heapSize--"><code>KeyValue.heapSize()</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>len</code> - the length (in byte) used partially in the backing byte array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the memory consumption (in byte) of the part of the byte array</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ClassSize.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-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/hbase/util/ClassLoaderBase.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/util/ClassSize.html" target="_top">Frames</a></li>
<li><a href="ClassSize.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>