java版本问题
我本地机java版本是“1.5.0_11”,服务器上使用的是“1.6.0_13”同样的代码在本地可以运行,可是到了服务器上报的错误是“数组越界”,这也版本有关系吗???
下面是我的代码:
byte[] rb = new byte[pack.length-8];
System.arraycopy(pack, 0, rb, 0, pack.length-8);
int flen=rb.length;
byte[] temp=new byte[8];
byte[] out=new byte[8];
int j = flen % 8;
String tempPack=new String(rb);
System.out.println("tempPack长度:"+tempPack.length());
if(j==0){
j=flen / 8;
}else{
j=(flen / 8 + 1);
}
for(int m = 0; m < j*8-flen; m ++){
tempPack+=StaticString.END_FLAG;
}
byte[] tmp=tempPack.getBytes();
System.arraycopy(pack, 22, tmp, 22, 8);
for (int i = 0; i < j; i++){
for (int k = 0; k < 8; k++){
temp[k] ^= tmp[i*8+k];
}
}
上面红字部分在本地打印出来的长度是“30”,在服务器上的长度是“27”,其中rb里的内容是从同一个测试机发送过来的。
这是为什么???
我觉得问题应该在pack身上 而不是在java version
看不清楚代码 不过帮你顶上去 希望高手来解答
找出哪行越界了,红色代码打出结果不能说明问题.
弱弱的猜一下,会不会是操作系统的问题,服务器的操作系统一般是64位的,而本地机是32位的,
持续关注中............
这怎么可能跟
相关问答:
我在jsp页面存上一个session,本页面还可以取出值来.
但是一刷新,或者打开新的页面就取不出值来了.
奇怪的是,我测试另一个程序时候
在jsp页面存上一个session,本页面可以取出值来,刷新或打开新页面值能取出来了.
......
工作地点:上海张江
学历要求:大本或以上
专业要求:计算机相关专业
英语:熟练(美国项目,英语工作环境,英语是必须)
简历投递:wendy_qian@163.com
MSN:wendydzmm@hotmail.com
......
1 public class BirthDate {
2 private int day;
3 private int month;
4 private int year;
5
6 public BirthDate (){}
7
8 public BirthDate (int d,int m,int y){
9 day = d;
......
Java code:
public static void load(String filename) {
try {
@SuppressWarnings("unused")
Process process = Runtime.getRuntime().exec(
......