
【Netty】
文章平均质量分 73
日常学习和总结
玉成226
这个作者很懒,什么都没留下…
展开
-
Netty:黏包和拆包及解决方案
在TCP通信底层,当数据进入到缓冲区后,将数据进行组合发送,如果本次发送的数据超过了缓冲区的大小,那么就会将数据拆开,等到下次满足发送条件再次发送服务端,所以就会出现一下情况:原创 2024-06-10 23:12:21 · 530 阅读 · 0 评论 -
Netty: Netty中的组件
EventLoopGroup是一组EventLoop,Channel一般会调用EventLoopGroup的register方法来绑定其中一个EventLoop,后续这个Channel上的IO事件都由此EventLoop来处理(保证了IO事件处理时的线程安全)。EventLoop本质是一个单线程执行器(同时维护了一个Selector),里面有run方法处理Channel上源源不断地IO事件。原创 2024-05-24 20:07:46 · 494 阅读 · 0 评论 -
Netty:AIO
同步意味着,在进行读写操作时,线程需要等待结果,还是相当于闲置。异步 意味着,在进行读写操作时,线程不必等待结果,而是将来由操作系统来通过回调方式由另外的线程来捕获。Windows系统通过IOCP实现了真正的异步IO。LInux系统异步IO在2.6版本引入,但其底层实现还是用多路复用模拟了异步IO,性能没有优势。原创 2024-05-24 13:10:56 · 272 阅读 · 0 评论 -
Netty: 零拷贝(Zero-copy)技术
零拷贝(Zero-copy)技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。零拷贝技术的主要原理是通过减少数据在用户空间与内核空间之间切换模式的次数,以及减少数据的拷贝次数,来提高数据传输效率。原创 2024-05-22 14:01:43 · 1347 阅读 · 0 评论 -
NIO:NIO网络编程实现群聊系统
【代码】NIO:NIO网络编程实现群聊系统。原创 2024-05-21 13:55:08 · 195 阅读 · 0 评论 -
Netty: NIO网络编程
NIO介绍Java NIO的Buffer类是一个用于特定基本数据类型的容器。它是一个对象,包含一些要写入或者要读出的数据。在NIO中,所有的数据都是用Buffer处理的。在数据读写之前,需要先放入Buffer,或者从Buffer中取出。Buffer对象中提供了一组方法,可以轻松的使用内存块,此外缓冲区对象那中内置了一些机制,能够追踪和记录缓冲区的状态变化情况。分配Buffer。原创 2024-04-27 08:51:11 · 628 阅读 · 0 评论 -
Netty: BIO网络编程
BIO介绍。原创 2024-04-26 09:47:40 · 302 阅读 · 0 评论 -
Netty: I/O模型介绍
同步并阻塞,服务器实现模式为一个连接对应一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何的处理就会造成不必要的线程开销(当一个线程在进行I/O操作时,如果数据没有准备好,线程会被阻塞,直到数据准备就绪)。总的来说,AIO是Java提供的一种高效、高并发的I/O处理方式,适用于需要处理大量并发I/O操作的场景,如高性能的网络服务器等。需要注意的是,不是所有的操作系统都支持AIO,或者对AIO的支持程度不同。因此,在使用AIO时,需要考虑到目标平台的特性。原创 2024-04-25 07:33:59 · 327 阅读 · 3 评论 -
Netty:介绍
Netty是由JBOSS提供的一个Java开源框架,现为Github上的独立项目。它提供异步的、事件驱动的网络应用程序框架和工具,用于快速开发高性能、高可靠性的网络服务器和客户端程序。Netty是一个基于NIO的客户、服务器端的编程框架,使用Netty可以确保开发者快速和简单地开发出一个网络应用,例如实现了某种协议的客户、服务端应用。原创 2024-04-24 13:53:03 · 383 阅读 · 0 评论