#java网络
java网络有关的知识点和编程
信徒favor
这个作者很懒,什么都没留下…
展开
-
【java网络】常用网络模型AIO
AIO模型是java中提供的异步非阻塞网络IO模型。我们可以调用JDK提供的相关方法实现AIO模型。与NIO不同,AIO需要一个连接注册读写事件和回调方法,当进行读写操作时,只须调用API的read或write方法即可。这两种方法都是异步的,对于读操作而言,当有流可读取时,操作系统会将可读的流传入read方法的缓冲区,并通知应用程序;对于写操作而言,当操作系统将write方法传递的流写入完毕时,操作系统主动通知应用程序。即可以理解为,read/write方法都是异步的,完成后会主动调用回调函数原创 2020-08-04 20:01:14 · 343 阅读 · 0 评论 -
【java网络】常用网络模型BIO
网络编程的基本模型是C/S模型,即两个进程间的通信。服务端提供IP和监听端口,客户端通过连接操作向服务端监听的地址发起连接请求,通过三次握手连接,如果连接建立成功,双方就可以通过套接字进行通信。传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。BIO模型特点BIO的服务端通信模型:采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求后为每个客户端创建一个新的线程进行链路处理,处理完原创 2020-08-04 08:27:07 · 152 阅读 · 0 评论 -
【java网络】java网络模型NIO
文章目录缓冲区操作用户空间和内核空间缓冲区属性存取翻转释放通道选择器选择器可选择通道选择键NIO模型阻塞式实现非阻塞式实现一直谈IO,I/O到底是什么?输入/输出问题,归根结底就是数据的流动。要知道,在I/O性能上的小小投入就可换来可观的回报。自从JVM优化之后,JVM运行字节码的速率已经接近本地编译代码,借助动态运行优化,其表现甚至还有所超越。意味着,多数java程序已不再受CPU的束缚,而更多时候受I/O的束缚(等待数据传输)也有可能是, JVM 自身在 I/O 方面效率欠佳。操作系统与 Ja原创 2020-08-04 19:35:04 · 160 阅读 · 0 评论 -
【java网络】五种IO模型
同步阻塞特点:在Linux中,对于一次读取IO的操作,数据并不会直接拷贝到程序的程序缓冲区,通常包括两个不同的阶段:等待数据准备好,到达内核缓冲区从内核向进程复制数据。对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所有等待分组到达使,它被复制到内核中某个缓冲区。第二步就是把数据从内核缓冲区复制到应用程序缓冲区。其实和生活联系起来,很容易理解;小明从家里先到演唱会现场问售票业务员买票,但是票没有出来,三天后才出来,小明就在大厅中一直等待,知道票出来。同步非阻塞特点:原创 2020-08-02 20:44:55 · 152 阅读 · 0 评论 -
【java网络】深究TCP——建立连接三次握手;释放连接四次挥手
TCP的运输连接管理TCP是面向连接的协议。连接是用来传送TCP报文的。过程:连接建立——数据传送——连接释放解决问题:要使每一方能够确知对方的存在;要允许双方协商一些参数(如最大窗口值,是否使用窗口扩大选项和时间戳选项以及服务质量等)能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配方式:客户服务器方式 (主动客户,被动服务器)TCP建立连接:三次握手TCP建立连接的过程叫做握手,需要交换三个TCP报文段;看上图可能一头雾水,因为都是英文:所以我们先把英文字母搞清楚原创 2020-08-01 19:46:18 · 220 阅读 · 0 评论 -
【java网络】深究TCP协议,TCP为什么是可靠的及详细首部结构的作用
TCP协议中有几个关键的点:TCP通信是需要建立连接的;数据的发送是全双工的;TCP通信是可靠的;那究竟是如何实现的呢?TCP建立连接:三次握手1、什么和什么连接TCP把连接作为最基本的抽象。TCP的许多特性都与TCP是面向连接的这个基本特性有关。每一条TCP连接有两个端点。那么这两个端点具体是什么呢?不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口。TCP连接的端点叫做套接字或端口。端口号拼接到IP地址即构成了套接字。套接字 socket=(IP地址:端口号)(原创 2020-08-01 08:58:57 · 249 阅读 · 0 评论 -
【java网络】UDP协议和TCP协议的特点
运输层是整个网络体系结构中的关键层次之一。运输层为相互通信的应用进程提供逻辑通信端口和套接字的意义无连接和UDP的特点面向连接的TCP的特点在不可靠的网络上实现可靠传输的工作原理,停止等待协议和ARQ协议TCP的滑动窗口、流量控制、拥塞控制和连接管理。UDP协议UDP协议特点:**无连接尽最大努力交付面向报文无拥塞控制支持一对一、一对多、多对一和多对多的交互通信首部开销小**(只有四个字段:源端口、目的端口、长度、检验和)。UDP首部占八个字节TCP协议面向连接原创 2020-07-30 14:50:02 · 165 阅读 · 0 评论 -
【java网络编程】基本概念
文章目录概念什么是网络?什么叫做互联网?网络的作用?信息是如何在网络传递的?各层的作用?运输层协议TCP特点UDP特点:应用场景概念什么是网络?计算机网络由若干节点和连接这些节点的链路组成,计算机网络中的节点可以是计算机、集线器、交换机和路由器等。什么叫做互联网?如果把网络再通过路由器连接在一起就形成了互联网。世界上最大的互联网就是因特网。(网络的网络)网络的作用?信息的传递,当然我们要知道的是仅仅有网络是无法进行信息传递的,我们还需要在计算机上安装相应的软件才可以。信息是如何在网络传递的?原创 2020-06-28 10:23:04 · 288 阅读 · 0 评论