![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java网络编程学习
zhilamou7549
这个作者很懒,什么都没留下…
展开
-
Netty实践笔记
实践过程中遇到的一些问题分享 问题1 避免客户端每次连接服务端都创建一个NioEventLoopGroup,本身NioEventLoopGroup就是一个线程组,如果每次连接都要新建,就会出现1个链路对应1个线程组的情况,原本应该是单个NioEventLoop线程处理多个channel上的事件。因此这种形式会占用资源,并且在节点规模扩大时会出现栈溢出、句柄耗尽无法新建线程等情况。 解决方案: 不要简单的在Netty官方提供的demo外套一层for循环来完成与多个服务端的连接。NioEventLoopGrou原创 2020-08-11 23:37:17 · 175 阅读 · 0 评论 -
Netty学习笔记(二)--AbstractBootStrap
简介 基于Netty实现的无论是客户端还是服务端,启动类都继承自AbstractBootAStrap类,因此这篇文章我们详细的剖析一下这个类里面到底有些什么东西。 类定义 public abstract class AbstractBootstrap<B extends AbstractBootstrap<B, C>, C extends Channel> implements Cloneable 这里用到了泛型定义,其中B必须是AbstractBootStrap的子类,C必须是C原创 2020-08-06 21:37:54 · 609 阅读 · 0 评论 -
Netty学习笔记(一)
Netty设计原理–异步事件驱动 异步编程和同步编程之间存在着很大的差异,在刚入门这会儿踩了不少坑,接下来会以系列笔记的形式跟大家分享一下开发过程中碰到的一些问题以及学习到的一些知识。这篇博客先从Netty的原理和底层设计开始讲起吧~ Netty I/O模型 Netty的I/O模型建立在NIO之上,并且提供了更多高层的API。 什么是NIO呢? NIO全称为Non-blocking IO,也就是非阻塞的IO模型,与传统的BIO之间最大的区别就是NIO在线程发起IO请求后立即返回,而BIO会在发起请求后被阻塞原创 2020-08-02 21:14:03 · 133 阅读 · 0 评论