小编Syx*_*yxx的帖子

我可以让Java更快吗?

我正在制作一个文件传输程序,我需要永远传输这个800kb的测试图片.显然,我不想花费30分钟来处理每一mb的数据,所以我很好奇是否有任何方法可以加速我的代码或Java.我听说过分配额外的RAM,但从未调查过.

如果有人能为我的代码找到一个更好的算法,那么我可能不得不步入C++或C并再试一次.

服务器代码块:

if(file.exists()){
    for(long l=0;l<file.length();l++){
        out.writeByte(fIS.read());
    }                   
}
Run Code Online (Sandbox Code Playgroud)

其中fIS是FileInputStream,out是传出的DataOutputStream.其余的代码基本上是发送长度和标志,但我可以添加,如果请求.

客户代码:

b = new byte[len];
for(int x=0;x<len;x++){
    b[x] = dIS.readByte();
}
fOS.write(b);
Run Code Online (Sandbox Code Playgroud)

其中len是服务器所需文件的读取长度,b是组成文件的字节数组,dIS是服务器的输入流,fOS是FileOutputStream.

我也尝试使用Readers和readLine()与writeChars()和readChar(),但这似乎等同于大约相同的事情.

java networking

-8
推荐指数
1
解决办法
106
查看次数

标签 统计

java ×1

networking ×1