![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Netty
文章平均质量分 87
从工程中网络知识为线索,逐步深入Netty网络应用开发各个环节,打造完整Netty网络应用开发工作流,提升顶层架构和棘手问题的排查能力
FA-117
这个作者很懒,什么都没留下…
展开
-
Netty系列文章
1. Netty网络应用基础2. Java I/O3. IO/模型4. 网络应用编解码5. Netty Pipeline6. Netty EventLoopGroup&EventLoop7. Netty ThreadLocal&FastThreadLocal8. Netty Future&Promise9. Netty内存管理–(旧)PoolChunk&伙伴分配10. Netty内存管理–内存池空间规格化SizeClasses11. Netty内存管理–PoolChunk&PoolSubP原创 2023-07-09 10:40:47 · 257 阅读 · 0 评论 -
Netty ObjectPool
本篇咱们讨论了对象池的作用是复用对象,基于并发集合+保鲜控制这种全局实例的常规实现,最终重点介绍了Netty中基于线程颗粒度的MpscQueue+Handle的特别实现,希望帮助你建立起Netty对象池的全局视角。原创 2023-05-14 11:48:11 · 596 阅读 · 1 评论 -
Netty内存管理--内存分配器PooledByteBufAllocator
本篇聊聊直接使用的内存分配器PooledByteBufAllocator基于实际场景做了一些额外的优化。原创 2023-04-30 16:24:39 · 1060 阅读 · 0 评论 -
Netty内存管理--内存池PoolArena
想必你已知道了Netty中的内存规格化(SizedClass), Page和SubPage级别的内存分配, 但是具体使用者不应该关心应该申请page还是subpage。而且从过去的经验来说, 申请page/subpage的数量也是个动态值, 如果申请使用完之后就释放那使用内存池的意义就不大。Netty的实现中引入了分配器和内存池。其中分配器面向使用者, 解决统一申请问题。内存池负责完成内存的申请和复用管理原创 2023-04-30 16:20:28 · 1026 阅读 · 0 评论 -
Netty内存管理--内存池空间规格化SizeClasses
内存池类似于一个内存零售商, 从操作系统中申请一整块内存, 然后对其进行合理分割, 将分割后的小内存返回给程序。原创 2023-04-30 15:54:03 · 1175 阅读 · 0 评论 -
Netty内存管理--(旧)PoolChunk&伙伴分配
本篇Netty中内存内存规格化,对应的管理颗粒Chuank和Page,以及Chunk中Page的分配与回收过程。原创 2023-04-17 20:35:40 · 496 阅读 · 0 评论 -
Netty_Future&Promise
本文介绍了Future的使用场景和基本实现, 并进一步探其对代码组织和资源消耗上的改善原创 2023-04-09 09:19:55 · 359 阅读 · 0 评论 -
细说ThreadLocal&FastThreadLocal
细聊JDK中的ThreadLocal具体实现和Netty中FastThreadLocal所做的优化原创 2023-04-02 10:45:43 · 525 阅读 · 0 评论 -
EventLoopGroup&EventLoop
EventLoop相关类的层级结构、任务调度和IO处理, 其中IO处理包括连接和数据读写。原创 2023-03-26 10:55:31 · 439 阅读 · 0 评论 -
Netty pipeline
本文介绍了Netty pipeline对链接创建, IO处理和消息处理的过程,并进一步探讨了pipeline的结构的特点。原创 2023-03-19 10:50:39 · 571 阅读 · 0 评论 -
网络应用编解码
本文从业务编解码和传输编解码两个方面讨论网络应用中的编解码问题。其中应用编解码层面本文讨论了评价方式和场景特点, 在传输编解码层面讨论了典型问题和解决方案。最后, 本文分享了Netty中对编解码的支持和以及部分个人使用经验。原创 2023-03-12 11:52:18 · 243 阅读 · 0 评论 -
I/O模型
本文介绍了Java网络应用中的几种IO模型,希望帮助在读的你能更好理解IO模型原创 2023-03-05 12:11:00 · 430 阅读 · 0 评论 -
Java I/O
关于IO, 想必你听过很多中I/O方式, 但是不同的场景下说法不同。有的是OS视角的, 有的是JDK本身支持的, 有的是纯实现视角。但是作为一个developer, 我希望你能先搞清楚上下文之后, 再去理解内容, 否则容易抬杠。这个上下文有横向和纵向两个维度。纵向维度包括JDK底层, JDK上层包装库, 开发框架(如Netty)等。横向的比如在JDK底层实现中支持BIO和NIO, 在JDK上层包装库维度支持BIO、NIO和AIO。开发框架Netty中包含BIO, NIO和OIO。原创 2023-02-26 11:41:46 · 353 阅读 · 0 评论 -
Netty网络应用基础
Netty网络应用下的基本概念,整体框架和应用分层结构,帮助你建立网络应用开发的基础地图。原创 2023-02-12 11:52:44 · 445 阅读 · 0 评论 -
对ByteBuf设计的感想
最近以ByteBuf作为入口,开始了Netty的学习,在这里对个人的想法、看法做一个总结。本文总结了自己对ByteBuf设计实现上的一些感想,希望对你有所帮助。如果你能给我带来更多输入,欢迎交流。原创 2022-08-14 09:57:24 · 102 阅读 · 0 评论 -
Linux下TCP收包过程
今天分享下Linux下网络收包过程,希望对Java小伙伴有所帮助。JVM屏蔽了诸多系统层面的细节,但屏蔽不了RD那颗越好奇越躁动的心。本文并没有许多C/C++的代码说明,更多站在流程、概念和监控的角度来行文,希望你能耐心看完。一、涉及的软硬件硬件多核心CPU,支持多队列的网卡,内存,DMA控制单元软件能很好使用上述硬件的CentOS操作系统以上就是今天要讲的内容,本文仅仅简单介绍了TCP包的接收过程,希望对你在实际工作中遇到网络相关问题能够有所帮助。......原创 2022-07-17 12:06:22 · 825 阅读 · 0 评论