首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Clarence0214
掘友等级
个人公众号: 小道一下
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
43
文章 43
沸点 0
赞
43
返回
|
搜索文章
最新
热门
网络协议之HTTPS
SSL 即安全套接层(Secure Sockets Layer),在 OSI 模型中处于第 5 层(会话层),由网景公司于 1994 年发明,有 v2 和 v3 两个版本,而 v1 因为有严重的缺陷从未公开过。 SSL 发展到 v3 时已经证明了它自身是一个非常好的安全通信协议…
Netty源码之jemalloc4内存分配(4.1.58)
在讲 jemalloc4 算法之前,我们先回顾 jemalloc3 内存分配算法: Netty 使用一棵满二叉树管理不同规格的内存块,可将用户申请的内存大小划分四个级别,分别是 Tiny、Small、Normal 和 Huge,根据不同规格采取不同的分配策略。重新回顾 jema…
Netty源码之SizeClasses(4.1.58)
前面已对 Netty 使用 jemalloc3(jemalloc3、jemalloc4 指代 Netty 实现的 Java 版本,而非 C) 实现的内存分配的思路以及源码进行详解,接下来的这两篇是详解 Netty 基于 jemalloc4 重构内存分配的思想以及源码。jemal…
Netty源码之对象池
池化是我们提升性能的手段之一,比如线程池、内存池以及接下来讲的对象池。池化的作用目的是减少创建和销毁对象的开销,提高并发处理能力,而且利用池化也可以降低 GC 压力。Netty 设计了一个简易的对象池,在 Netty 内存使用广泛,比如对 PooledUnsafeDirectB…
Netty源码之内存管理(三)(4.1.44)
这是我们解读 Netty 内存管理的第三篇文章,前面两篇重点介绍了 ByteBuf 对象以及内存的分配和管理。比如利用分治思想创建多个 PoolArena 提供内存分配的能力、使用满二叉树数据结构管理内存的分配和回收等。但还有一个重要的东西我们没有讲,就是 jemalloc 从…
Netty源码之内存管理(二)(4.1.44)
前面做了很多铺垫(Netty源码之内存管理(一)),带着大家熟悉了与内存分配相关的类的定义和分配逻辑。但并没有真正落实到 jemalloc 思想在源码是如何体现的。本章就是对 PoolChunk 逐字解析,死扣细节。在分析源码之前我们需要对分配的内存级别有一个清晰的定位,当分配…
Netty源码之内存管理(一)(4.1.44 )
Netty 作为一款高性能的网络应用程序框架,拥有自己的内存分配。其思想源于 jemalloc github ,可以说是 jemalloc 的 Java 版本。 本章源码基于 Netty 4.1.44 版本,该版本是采用 jemalloc3.x 的算法思想,而 4.1.45 以…
Netty源码之ByteBuf(4.1.44)
Netty 抛弃了 Java NIO 的 ByteBuffer,因为它功能有限且使用过于复杂。于是乎,Netty 自己弄出了一个类似 ByteBuffer 的数据容器,称之为 ByteBuf,并且提供很多非常酷的特性: 容量可按需动态扩展。 读写采用不同的指针,并随意切换,不需…
Netty源码之对象池
池化是我们提升性能的手段之一,比如线程池、内存池以及接下来讲的对象池。池化的作用目的是减少创建和销毁对象的开销,提高并发处理能力,而且利用池化也可以降低 GC 压力。Netty 设计了一个简易的对象池,在 Netty 内存使用广泛,比如对 PooledUnsafeDirectB…
Netty源码之FastThreadLocalThread(4.1.44)
我们都知道,Java 的 ThreadLocal 用在多线程环境下,提供一种访问某个变量的特殊方式,具体可看Java核心技术之ThreadLocal。由于 ThreadLocal 是在空间和时间之间寻求平衡,较好兼顾时间和性能。但是,Netty 通过理解 ThreadLocal…
下一页
个人成就
文章被点赞
56
文章被阅读
17,878
掘力值
515
关注了
20
关注者
49
收藏集
4
关注标签
1
加入于
2020-06-01