Class PureJavaCrc32

  • All Implemented Interfaces:
    java.util.zip.Checksum

    public class PureJavaCrc32
    extends java.lang.Object
    implements java.util.zip.Checksum
    A pure-java implementation of the CRC32 checksum that uses the same polynomial as the built-in native CRC32. This is to avoid the JNI overhead for certain uses of Checksumming where many small pieces of data are checksummed in succession. The current version is ~10x to 1.8x as fast as Sun's native java.util.zip.CRC32 in Java 1.6 Copied from Hadoop 2.6.3. The code agrees with the following file in the 2.6.3 tag: https://git-wip-us.apache.org/repos/asf?p=hadoop.git;a=blob_plain; f=hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/PureJavaCrc32.java; hb=2120de588b92b9f22b1cc4188761d6a8c61aa778

    This class is Not ThreadSafe

    Since:
    1.11
    See Also:
    CRC32
    • Constructor Summary

      Constructors 
      Constructor Description
      PureJavaCrc32()
      Create a new PureJavaCrc32 object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long getValue()  
      void reset()  
      void update​(byte[] b, int offset, int len)  
      void update​(int b)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.zip.Checksum

        update, update
    • Constructor Detail

      • PureJavaCrc32

        public PureJavaCrc32()
        Create a new PureJavaCrc32 object.
    • Method Detail

      • getValue

        public long getValue()
        Specified by:
        getValue in interface java.util.zip.Checksum
      • reset

        public void reset()
        Specified by:
        reset in interface java.util.zip.Checksum
      • update

        public void update​(byte[] b,
                           int offset,
                           int len)
        Specified by:
        update in interface java.util.zip.Checksum
      • update

        public final void update​(int b)
        Specified by:
        update in interface java.util.zip.Checksum