- 博客(5)
- 收藏
- 关注
原创 Netty实践笔记
实践过程中遇到的一些问题分享问题1避免客户端每次连接服务端都创建一个NioEventLoopGroup,本身NioEventLoopGroup就是一个线程组,如果每次连接都要新建,就会出现1个链路对应1个线程组的情况,原本应该是单个NioEventLoop线程处理多个channel上的事件。因此这种形式会占用资源,并且在节点规模扩大时会出现栈溢出、句柄耗尽无法新建线程等情况。解决方案:不要简单的在Netty官方提供的demo外套一层for循环来完成与多个服务端的连接。NioEventLoopGrou
2020-08-11 23:37:17
175
原创 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
原创 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
原创 Java:判断有向图中的环路(DFS)
问题定义我们先从一个简单的问题展开:一个有向图G,包含了0,1,2,3,4五个顶点,其中边有0->1,1->2,2->0,0->3,0->4。判断是否出现环路。解析有向图如图所示:
2020-07-03 17:37:15
5142
4
原创 ThreadLocal的简单介绍
ThreadLocal内存泄漏什么是ThreadLocal?在JDK1.8的官方文档中有这样的解释:/** * This class provides thread-local variables. These variables differ from * their normal counterparts in that each thread that accesses one (via its * {@code get} or {@code set} method) has its o
2020-06-12 12:55:23
163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人