1、如何编写java管道程序,给出实例及应用。
2、文件的分割与合并。(http://www.knowsky.com/368018.html)
3、TCP与UDP的区别?
package com.interview01;
import java.io.*;
import util.P;
public class PipedStreamTest {
//分别用两个线程来读取,避免了出现死锁
public static void main(String[] args) {
Sender sender = new Sender();
Receiver receiver = new Receiver();
PipedOutputStream pos = sender.getOut();
PipedInputStream pis = receiver.getIn();
try {
pis.connect(pos);
sender.start();
receiver.start();
} catch(IOException e) {
e.printStackTrace();
}
}
}
class Sender extends Thread {
PipedOutputStream pos = new PipedOutputStream();
public void run() {
String msg = "hello world I am sender \n I am \r";
try {
pos.write(msg.getBytes());
} catch(IOException e) {
e.printStackTrace();
}
}
public PipedOutputStream getOut() {
return pos;
}
}
class Receiver extends Thread {
PipedInputStream pis = new PipedInputStream();
public void run() {
byte[] bytes = new byte[1024];
try {
int l = pis.read(bytes);
String s = new String(bytes);
P.p(s);
} catch(IOException e) {
e.printStackTrace();
}
}
public PipedInputStream getIn() {
return pis;
}
}
3、TCP与UDP的区别?
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快
UDP
TCP
TCP与UDP的选择