Hi,
I was going thru the heapSize() method in the class KeyValue and i
couldn't seem to understand a few things which are in bold below
private byte [] bytes = null;
private int offset = 0;
private int length = 0;
private int keyLength = 0;
// the row cached
private byte [] rowCache = null;
// default value is 0, aka DNC
private long memstoreTS = 0;
* @return Timestamp
*/
private long timestampCache = -1;
public long heapSize() {
return ClassSize.align(
// Fixed Object size
ClassSize.OBJECT +
* // Why this ?????
(2 * ClassSize.REFERENCE) +*
// bytes Array
ClassSize.align(ClassSize.ARRAY) +
//Size of int length
ClassSize.align(length) +
* // Why this ?? There are only 2 ints leaving length which are int (
offset, length)
(3 * Bytes.SIZEOF_INT) +
*
// rowCache byte array
ClassSize.align(ClassSize.ARRAY) +
// Accounts for the longs memstoreTS and timestampCache
(2 * Bytes.SIZEOF_LONG));
}