最近,我将一个使用 32 位 java 的 tomcat5 上的应用程序迁移到了一个使用 64 位 java 的 tomcat6。
在应用程序中有一个文本 CRC 计算,它在每个服务器中返回不同的值。例如:“Hipoplasia del seno frontal.Resto de senos faciales con desarrollo y neumatización habituales.No se observan lesiones óseas.Atentamente”,在 32 位 jvm 上返回:439231721,在 64 位 jvm 上返回:2756208468
还在 32 位 jvm tomcat6 上尝试过并返回 439231721
这是crc计算的代码:
public static long doChecksum(String text) {
try{
//Convert string to bytes
byte bytes[] = text.getBytes();
Checksum checksum = new CRC32();
// void update(bytes[] b, int start, int length)
checksum.update(bytes,0,bytes.length);
long lngChecksum = checksum.getValue();
System.out.println(text + " : " + lngChecksum);
return lngChecksum;
} catch (Exception e) {
return -1;
}
}
谢谢!