首页
学习
活动
专区
工具
TVP
发布

求道

专栏作者
74
文章
51133
阅读量
14
订阅数
Netty的常用编解码器与使用
我们本章节将了解基本的编解码器以及自定义编解码器的使用,在了解之前,我们先看一段代码:
止术
2021-08-06
6120
Netty的ChannelPipline传播源码解析
上一章节 ,我们基本讲述了Netty对于新连接接入与管道数据处理的源码解析,大家可能发现,在我们前面学习中,涉及到了很多的有关pipeline的操作,在前面介绍这些的时候,我为了保证主线逻辑的清晰,基本都是一概而过,本章节将对pipeline做一个详细的讲解!
止术
2021-08-06
5170
Netty服务端的新连接接入源码解析
经过上一章节的学习,我们基本了解了Netty是如何对IO事件以及异步任务的处理了,今天我们就一起来学习一下,Netty是如何处理新连接接入与数据读取的!
止术
2021-08-06
3810
Netty的异步任务处理与Socket事件处理
经过前面几章的学习,我们基本是明白了Netty通道的创建、注册、与绑定与JDK NIO的对应关系,如果我们使用的是JDK NIO的方式去开发一个Socket服务端的时候,此时还缺少了一个重要的环节,就是循环处理IO事件!
止术
2021-08-06
1.2K0
NioServerSocketChannel的初始化源码
上一节课我们就NioEventLoop的初始化进行了一个初步的讲解,他是Netty很重要的一个类,后面还有针对它的分析,大家先对我前面介绍的组件有一个初步的认识!仔细的看,看到后面会有一种豁然开朗的感觉!
止术
2021-07-16
2140
NioEventLoop源码解析
上一节课,我们就 new NioEventLoopGroup();的初始化过程做了一个深度的解析,后来我们发现,NioEventLoopGroup在初始化过程中会构建一个执行器数组,数组内部存储的元素是NioEventLoop类型的,但是NioEventLoop是什么呢?为什么说他是Netty的精髓呢?
止术
2021-07-16
4910
NioEventLoopGroup源码解析
我们前面说到过,NioEventLoopGroup我们可以近乎把它看作是一个线程池,该线程池会执行一个一个的任务,我们常用的NioEventLoopGroup大概有两种,NioEventLoopGroup(int nThreads),NioEventLoopGroup(),即一个是指定线程数量的,一个是默认指定线程数量的!这里我们以无参构造为入口进行分析!
止术
2021-07-16
6300
Netty的基本架构详解
上一节课我们对Netty有了一个初步的认识,这一节课我们会一起俯瞰整个Netty的脉络,以便于对Netty的架构原理有一个整体的认知!下图是Netty的主要架构骨架:(欢迎关注wx公众号:【源码学徒】共同探究各类开源代码实现!)
止术
2021-07-16
3600
Netty的介绍与简单使用
尽管我们前面学习NIO的时候,我已经尽可能的简化代码,但是我们依旧会发现,JDK NIO的开发依旧是极为复杂,在业务开发中我们还要考虑到业务的处理流程、业务的复用、请求的并发量、请求过程中的编解码问题、网络传输中的半包粘包问题等等,会进一步增加NIO开发的难度!欢迎关注公众号【源码学徒】
止术
2021-07-16
4260
NIO之多线程协作处理数据读写
经过前面几章的学习,我们已经 能够掌握了JDK NIO的开发方式,我们来总结一下NIO开发的流程:
止术
2021-07-16
6880
NioServerSocketChannel的绑定源码解析
前面两节课,我们着重分析了 initAndRegister方法,对通讯通道的创建、初始化以及注册到选择器上有了一个详细的介绍,回想JDK NIO的开发步骤,我们需要获取SocketChaennel、获取选择器Selector、将通道注册到选择器、绑定端口、处理事件!那么同样的Netty是基于NIO开发的,也同样少不了这几个步骤,迄今为止,我们已经学习了,Selector的创建、SocketChannel的创建、选择器的注册,今天我们要学的就是通道的绑定端口!
止术
2021-07-16
4220
NioServerSocketChannel的注册源码解析
我们上一章分析了Netty中NioServerSocketChaennl的创建于初始化,本章节将继续分析NioServerSocketChannel的分析,NioServerSocketChannel是Netty官方封装的一个通道对象,旨用来代替或者包装JDK原生的SocketChannel对象,那么他是如何讲NioServerSocketChannel于JDK的NIO相关代码关联起来的呢?
止术
2021-07-16
5800
NIO中的开发利器ByteBuffer源码解析
想要使用NIO开发Socket分服务端和客户端,必须掌握的一个知识点就是ByteBuffer的使用,他是NIO在数据传输中的利器!相比于BIO传输过程中的字节流,ByteBuffer更能体现出服务端/客户端对于数据的操作效率,ByteBuffer内存维护一个指针,使得传输的数据真正的能够达到重复使用,重复读写的能力!
止术
2021-04-25
1K0
逛到底层看NIO的零拷贝
本章还是关于NIO的概念铺底,有关NIO相关的代码,我还是希望大家闲余时间取网上找一下有关使用JDK NIO开发服务端、客户端的代码,我会取写这些,但是具体的代码我不会很详细的取介绍,下一章的话可能就要上代码了,具体的规划如下:
止术
2021-04-25
2480
逛到底层看NIO的零拷贝
本章还是关于NIO的概念铺底,有关NIO相关的代码,我还是希望大家闲余时间取网上找一下有关使用JDK NIO开发服务端、客户端的代码,我会取写这些,但是具体的代码我不会很详细的取介绍,下一章的话可能就要上代码了,具体的规划如下:
止术
2021-03-30
3890
深入Hotspot源码与Linux内核理解NIO与Epoll
距离上一次发布文章将近半年左右了,具体为什么停更,说实话一部分原因是去年10月1放假之后我玩疯了....另外一部原因是总感觉文章写到一定地步之后,我有点不知道写什么了,去年主要更新的是Spring源码系列的文章,我的主要精力也放在了Spring相关源码的研究上,Spring源码系列的文章,到现在为止,大体也告一段落了,后续是准备出一版关于Netty相关的系列文章,过年的时候着重研究了下!上个图:
止术
2021-03-16
8680
一个Spring Bean从诞生到逝去的九次人生转折!
关于Spring生命周期的学习,前面已经写过很多篇文章去不断的探究Spring对一个Bean的创建、管理过程,在整个SpringBean的生命周期中,BeanPostProcessor是不可绕过的一环,他几乎贯穿了整个Spring Bean的生命周期!几乎我们现在所熟知Bean的生命周期的功能,大部分都是由BeanPostProcessor完成的!比如,依赖注入、循环依赖问题、Aop等,全部都是由BeanPostProcessor的扩展实现的!
止术
2020-10-27
6180
跳出源码地狱,Spring巧用三级缓存解决循环依赖-原理篇
在探讨Spring三级缓存解决循环引用之前,我们需要了解一点就是Spring所谓的循环依赖到底是什么,是如何产生的,为什么会产生这种问题?
止术
2020-10-09
1.6K0
Spring:没有人比我更懂Java对象的创建!
一个Spring Bean是Java对象吗?那么一个对象是Spring Bean吗?
止术
2020-09-25
8990
带你跳出源码地狱,从原理上理解MyBatis对Spring源码的扩展实现
有道无术,术尚可求也!有术无道,止于术! 今天我们大概从以下几点去讲解MyBatis对于Spring的一个扩展思路! 大纲 本文章只对原理和部分重要代码进行分析,源码的详细分析请跳转到:【牛逼哄哄的S
止术
2020-09-24
6190
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档