亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關閉流的問題

if(socket?!=?null)
???socket.close();
???既然不為空,為什么還要關閉?


正在回答

3 回答

沒有上下文的代碼只能猜測,強答一發。socket.close()這個方法調用是需要具體的對象的如Socket socket = new Socket(8888);如果沒有對象只有引用,那么就會初始化為null,在null這個無意義的數據上是無法產生有意義的結果的。有點偏題。。。。socket如果不為空,那么一定有一個Socket對象被打開,當使用完后資源沒有close就會占用資源,可能造成別的程序無法訪問資源。。。但是這個if是感覺沒必要的,在null上調用close是沒有意義的,個人見解,歡迎指教

0 回復 有任何疑惑可以回復我~
#1

L雨澤 提問者

非常感謝!
2017-04-18 回復 有任何疑惑可以回復我~
#2

慕少7573967

不對吧,你這樣回答,你可以嘗試為空時候的異常。
2017-09-28 回復 有任何疑惑可以回復我~

當為空的關閉時會出現異常,你自己可以嘗試下的。當為空的時候,代表未成功創建

0 回復 有任何疑惑可以回復我~
我的理解是socket 不為空說明有內容,當socket關閉的時候,輸入輸出流也會跟著關閉,借鑒學緩沖流時的緩沖輸入流在關閉的時候會將所有緩沖區的數據全部寫入文件,當輸入輸出流關閉的時候,內存中相應的數據才會得到處理?我也不知道對不對?求指教
0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關閉流的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號