try catch finally语句
try{
可能包含异常的代码
}
catch(异常类 变量名){
异常处理代码
}
...
(多个catch)
...
finally{
后置处理代码
}
finally主要会用于网络io和磁盘io的连接关闭时,或者一些必须要执行的代码
我们在传输数据的时候,第一步是要建立链接,,打通身份识别;建立链接就是双方互相有一个对方的标记,也就需要要有额外的资源来保存着这个标记
所以说等到我们数据传输完了之后,要断开这个链接,释放出这个空间来
close()方法:主动发起关闭,但是close()可能由于各种原因执行不到他,程序出错的时候会导致程序中断,但是try catch的话,程序有错,try一下,并且进入catch阶段
有时候try 或者 catch都有不执行,用try catch保证程序不会中断,有finally保证close()必须要执行,这样就不会产生链接的堆积,不会让程序变慢
网络传输中的长链接和短链接
短链接:在三次握手之后建立链接,,发送数据包并得到服务器返回的结果之后,通过客户端和服务端的四次握手进行关闭断开。
长连接:区别于短连接,由于三次握手链接及四次握手断开,在请求频繁的情况下,链接请求和断开请求的开销较大,影响效率。采用长连接方式,执行三次握手链接后,不断开链接,保持客户端和服务端通信,直到服务器超时自动断开链接,或者客户端主动断开链接。
最主要的区别就是长链接双方保证对方身份标记的时间更长,而短链接保证对方身份标记的时间更短.