
网络编程
想下班的猿
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Netty源码详解
线程组初始化EventLoopGroup bossGroup = new NioEventLoopGroup(1); EventLoopGroup workerGroup = new NioEventLoopGroup(1);流程如下:Created with Raphaël 2.2.0开始io.netty.util.concurrent.MultithreadEventExecutor...原创 2019-12-26 21:30:55 · 358 阅读 · 0 评论 -
Reactor线程模型
在BIO时代,我们写一个服务端,由于其同步阻塞特性,我们采取的方式是这样的:当服务端收到一个客户端请求后,不得不为这个客户端单独开一个线程来阻塞读取这个客户端后续发来的数据。如果学过多线程,我们很清楚,如果线程开多了是一件很糟糕的事情,过多的上线文切换,很耽误服务器的正常的工作。这也意味着这种模式的请求量瓶颈很低。故而在NIO应运而生,在NIO下服务端是这样的: 这种模式下,...原创 2019-12-13 12:25:30 · 502 阅读 · 0 评论 -
网络通讯模型
OSI网络模型 说到网络编程总会从这里谈起,所以今天来把这个东西一次性理一理。OSI网络模型一共七层,按从底层开始依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。这个顺序是从底层到高层,怎么算底层?和物理介质接触的算底层,所以其实这七层可以化成一个金字塔形状。那为什么会有这种模型呢,早期在互联网诞生之际,各个厂家和企业都有定义自己的网络结构和协议,但是这样的结果就是没有一...转载 2019-12-09 14:49:26 · 523 阅读 · 0 评论 -
Buffer和Channel
在细讲Buffer和Channel前,我们先对几个概念梳理一下。我们在做网络编程的时候时常听到三种东西:BIO,NIO,AIO。 BIO是java中普通的IO包,jdk1.4时出现了NIO,N表时New,所以其实就是新版的IO,jdk1.7时出现了AIO,也叫NIO2.0。那这三种IO有什么区别呢?IO是同步阻塞IO,NIO是同步非阻塞IO,AIO是异步非阻塞IO。这里有几个名词,同步和异...转载 2019-12-09 14:36:07 · 708 阅读 · 0 评论