### Eclipse Workspace Patch 1.0 #P Hbase0.94 Index: src/main/java/org/apache/hadoop/hbase/util/ClassSize.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/util/ClassSize.java (revision 1415033) +++ src/main/java/org/apache/hadoop/hbase/util/ClassSize.java (working copy) @@ -20,11 +20,13 @@ package org.apache.hadoop.hbase.util; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - import java.lang.reflect.Field; import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.concurrent.ConcurrentHashMap; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** * Class for determining the "size" of a class, an attempt to calculate the @@ -113,8 +115,7 @@ ARRAY = align(3 * REFERENCE); - ARRAYLIST = align(OBJECT + align(REFERENCE) + align(ARRAY) + - (2 * Bytes.SIZEOF_INT)); + ARRAYLIST = (int) estimateBase(ArrayList.class, false); //noinspection PointlessArithmeticExpression BYTE_BUFFER = align(OBJECT + align(REFERENCE) + align(ARRAY) + @@ -129,8 +130,7 @@ STRING = align(OBJECT + ARRAY + REFERENCE + 3 * Bytes.SIZEOF_INT); - CONCURRENT_HASHMAP = align((2 * Bytes.SIZEOF_INT) + ARRAY + - (6 * REFERENCE) + OBJECT); + CONCURRENT_HASHMAP = (int) estimateBase(ConcurrentHashMap.class, false); CONCURRENT_HASHMAP_ENTRY = align(REFERENCE + OBJECT + (3 * REFERENCE) + (2 * Bytes.SIZEOF_INT));