
Netty
文章平均质量分 94
客 人
这个作者很懒,什么都没留下…
展开
-
IO、NIO、AIO
1.阻塞IO—SocketSocket又称“套接字”,应用程序通常通过“套接字”向网络发出请求或应答网络请求。Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,不会因为在服务器端或在客...转载 2018-05-17 16:56:35 · 313 阅读 · 0 评论 -
select、poll、epoll之间的区别
IO多路复用之select、poll、epoll详解 目前支持I/O多路复用的系统调用有 select,pselect,poll,epoll,I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,pselect,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己...转载 2018-08-15 22:46:14 · 4458 阅读 · 0 评论 -
Netty总结
一、IO模型阻塞IO(bloking IO):优点:能够及时返回数据,无延迟;方便调试;缺点:需要付出等待的代价 非阻塞IO(non-blocking IO):优点:不需要等待任务 ,而是把时间花费到其它任务上,也就是这个当前线程同时处理多个任务;缺点:导致任务完成的响应延迟增大,因为每隔一段时间才去执行询问的动作,但是任务可能在两个询问动作的时间间隔内完成,这会导致整体数据吞吐量的降低 ...原创 2018-07-31 21:54:29 · 1022 阅读 · 0 评论 -
Netty与mina的比较
Netty是什么?为什么这么火?Netty是目前最流行的由JBOSS提供的一个Java开源框架NIO框架,Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。相比JDK原生NIO,Netty提供了相对十分简单易用的API,非常适合网络编程。Netty是完全基于NIO实现的,所以Netty是异步的。作为一个异步NIO框架,Nett...转载 2018-07-30 21:33:36 · 15278 阅读 · 0 评论 -
Netty学习规划
Netty源码研究专题(Netty源码学习之旅)目录1、ByteBuf内存篇1.1 ByteBuf内部结构与API学习 博文地址:http://blog.youkuaiyun.com/prestigeding/article/details/539807901.2 源码学习UnpooledHeapByteBuf、UnpooledDirectByteBuf 博文地址:http://blog.csdn...转载 2018-06-22 14:53:50 · 211 阅读 · 0 评论 -
【Netty入门】TCP 粘包/拆包问题产生原因
TCP粘包/分包问题的由来因为TCP是以流的方式来处理数据,一个完整的包可能会被TCP拆分成多个包进行发送,也可能把小的封装成一个大的数据包发送。这样说可能比较抽象,下面举例来说明TCP拆包/粘包问题!图解:如果客户端分别发送两个数据包D1和D2给服务端,由于服务端一次读取到的字节数是不确定的,可能会出现四种情况。(1)服务端分别读取到D1和D2,没有产生粘包和拆包的情况,如下图:(2)服务端一次...转载 2018-06-22 11:23:54 · 855 阅读 · 0 评论 -
Netty面试相关
1.BIO、NIO和AIO的区别?BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。AIO:一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器...转载 2018-06-22 10:37:49 · 1772 阅读 · 0 评论 -
阻塞和非阻塞、同步和异步 、五种IO模型
阻塞和非阻塞,同步和异步1 例子故事:老王烧开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。老王想了想,有好几种等待方式1.老王用水壶煮水,并且站在那里,不管水开没开,每隔一定时间看看水开了没。-同步阻塞老王想了想,这种方法不够聪明。2.老王还是用水壶煮水,不再傻傻的站在那里看水开,跑去寝室上网,但是还是会每隔一段时间过来看看水开了没有,水没有开就走人。-同步非阻塞老...转载 2018-06-21 21:18:54 · 10643 阅读 · 4 评论 -
Netty基本使用
1.为什么选择Netty上一篇文章我们已经了解了Socket通信(IO/NIO/AIO)编程,对于通信模型已经有了一个基本的认识。其实上一篇文章中,我们学习的仅仅是一个模型,如果想把这些真正的用于实际工作中,那么还需要不断的完善、扩展和优化。比如经典的TCP读包写包问题,或者是数据接收的大小,实际的通信处理与应答的处理逻辑等等一些细节问题需要认真的去思考,而这些都需要大量的时间和经历,以及丰富的经...转载 2018-05-18 11:17:32 · 10935 阅读 · 0 评论 -
云计算
一、云计算总纲二、下面是章节部分目录: 2.1 JAVA基础: 2.2 Linux基础 2.3SQL优化 2.4Hadoop 2.0大数据 2.5SPARK+STORM+FLUME 2.6PYTHON 2.7统计学基础 2.8矩阵基础...原创 2019-05-29 21:10:33 · 1020 阅读 · 0 评论