Documentation of 'org.apache.derby.iapi.services.cache.ClassSize' Java class
ClassSize
org.apache.derby.iapi.services.cache

Class ClassSize



  • public class ClassSize
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int refSize 
    • Constructor Summary

      Constructors 
      Constructor and Description
      ClassSize() 
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static int estimateAndCatalogBase(java.lang.Class cls)
      Estimate the static space taken up by a class instance.
      static int estimateArrayOverhead() 
      static int estimateBase(java.lang.Class cl)
      Estimate the static space taken up by the fields of a class.
      static int estimateBaseFromCatalog(java.lang.Class cls)
      Estimate the static space taken up by a class instance from cataloged coefficients.
      static int estimateBaseFromCoefficients(int[] coeff)
      Estimate the static space taken up by a class instance given the coefficients returned by getSizeCoefficients.
      static int estimateHashEntrySize()
      Estimate the size of a Hashtable entry.
      static int estimateMemoryUsage(java.lang.String str)
      Estimate the size of a string.
      static int getIntSize() 
      static int getRefSize()
      Get the estimate of the size of an object reference.
      static int[] getSizeCoefficients(java.lang.Class cl)
      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.
      static void setDummyCatalog()
      do not try to use the catalog.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • refSize

        public static final int refSize
    • Constructor Detail

      • ClassSize

        public ClassSize()
    • Method Detail

      • setDummyCatalog

        public static void setDummyCatalog()
        do not try to use the catalog.
      • getRefSize

        public static int getRefSize()
        Get the estimate of the size of an object reference.
        Returns:
        the estimate in bytes.
      • getIntSize

        public static int getIntSize()
        Returns:
        the estimate of the size of a primitive int
      • getSizeCoefficients

        public static int[] getSizeCoefficients(java.lang.Class cl)
        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.
        Parameters:
        cl - A class whose instance size is to be estimated
        Returns:
        an array of 2 integers. The first integer is the constant part of the function, the second is the reference size coefficient.
      • estimateBaseFromCoefficients

        public static int estimateBaseFromCoefficients(int[] coeff)
        Estimate the static space taken up by a class instance given the coefficients returned by getSizeCoefficients.
        Parameters:
        coeff - the coefficients
        Returns:
        the size estimate, in bytes
      • estimateBase

        public static int estimateBase(java.lang.Class cl)
        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.
        Returns:
        the size estimate in bytes. Note that this method will throw a SecurityException if the SecurityManager does not let this class execute the method Class.getDeclaredFields(). If this is a concern try to compute the size coefficients at build time. see org.apache.derbyBuild.ClassSizeCrawler
        See Also:
        estimateBaseFromCatalog(java.lang.Class)
      • estimateArrayOverhead

        public static int estimateArrayOverhead()
        Returns:
        the estimated overhead of an array. The estimated size of an x[n] array is estimateArrayOverhead() + n*sizeOf(x).
      • estimateHashEntrySize

        public static int estimateHashEntrySize()
        Estimate the size of a Hashtable entry. In Java 1.2 we can use Map.entry, but this is not available in earlier versions of Java.
        Returns:
        the estimate, in bytes
      • estimateMemoryUsage

        public static int estimateMemoryUsage(java.lang.String str)
        Estimate the size of a string.
        Returns:
        the estimated size, in bytes

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.