自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除