Java千百问_01基本概念(013)_SocketSocketChannel有什么区别
Posted 幽灵雾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java千百问_01基本概念(013)_SocketSocketChannel有什么区别相关的知识,希望对你有一定的参考价值。
1、Socket、SocketChannel有什么区别
了解Socket看这里:Socket是什么
Socket、SocketChannel二者的实质都是一样的,都是为了实现客户端与服务器端的连接而存在的,但是在使用上,却有很大的区别。具体如下:
所属包不同
Socket在java.net包中,而SocketChannel在java.nio包中。
异步方式不同
从包的不同,我们大体可以推断出他们主要的区别:Socket是阻塞连接(当然我们可以自己实现非阻塞),SocketChannel可以设置非阻塞连接。
使用ServerSocket、Socket类时,服务端Socket往往要为每一个客户端Socket分配一个线程,而每一个线程都有可能处于长时间的阻塞状态中。过多的线程也会影响服务器的性能(可以使用
以上是关于Java千百问_01基本概念(013)_SocketSocketChannel有什么区别的主要内容,如果未能解决你的问题,请参考以下文章
Java千百问_01基本概念(009)_CLASSPATH是什么