### Question:
CrcUtil { public static long crc64(final byte[] array) { if (array == null) { return 0; } return crc64(array, 0, array.length); } private  CrcUtil(); static long crc64(final byte[] array); static long crc64(final byte[] array, final int offset, final int length); static long crc64(final ByteBuffer buf);  }### Answer:
@Test public void testCrc64() { byte[] bs = "hello world".getBytes(); long c = CrcUtil.crc64(bs); assertEquals(c, CrcUtil.crc64(bs)); assertEquals(c, CrcUtil.crc64(bs)); assertEquals(c, CrcUtil.crc64(bs, 0, bs.length)); ByteBuffer buf = ByteBuffer.wrap(bs); assertEquals(c, CrcUtil.crc64(buf)); buf = ByteBuffer.allocateDirect(bs.length); buf.put(bs); buf.flip(); assertEquals(c, CrcUtil.crc64(buf)); }