Netty源码分析之ByteBuf(二)—内存分配器ByteBufAllocator

Java45

Netty中的内存分配是基于ByteBufAllocator这个接口实现的,通过对它的具体实现,可以用来分配我们之前描述过的任意类型的BytebBuf实例;我们先看一下ByteBufAllocator接口中的定义的关键方法

一、ByteBufAllocator 构造

```
public interface ByteBufAllocator {

ByteBufAllocator DEFAULT = ByteBufUtil.DEFAULT_ALLOCATOR;

//根据具体实现返回基于直接内存或堆内内存的ByteBuf
ByteBuf buffer();

//根据具体实现返回一个给定初始容量的基于直接内存或堆内内存的ByteBuf
ByteBuf buffer(int initialCapacity);

//根据具体实现返回一个给定初始容量与最大量的基于直接内存或堆内内存的ByteBuf
ByteBuf buffer(int initialCapacity, int maxCapacity);

//返回一个用于套接字操作的ByteBuf
ByteBuf ioBuffer();
输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
elasticsearch Java

elasticsearch

一、什么是Elasticsearch? Lucene是一套用于 全文检索和 搜寻的 开源程序库,由Apache软件基金会支持和提供 Lucene提供了一个简单却强大的应用程序接口(API),能够做全文...
spring 事务 Java

spring 事务

事务执行原理 入口是invokeWithinTransaction,能走到这一步,说明已经在代理类那里经过过滤,方法头上使用了Transaction注解。 首先取到注解上的参数,保存到Transact...
JAVA Stream在jdk17下的例子 Java

JAVA Stream在jdk17下的例子

最近因为某些原因,又要用stream,所以耗费了一些时间,做了一些例子,以便自己后续参考。 环境: Article类代码: ``` package study.base.lambda.stream; ...
设计模式之中介者模式 Java

设计模式之中介者模式

在我们的实际业务中,可能会有多个类相互调用,形成一个复杂的网状结构。这个时候,需要有一种模式,让他们之间的关系变得顺畅,产生一个中间人,让班级之间不再相互呼唤,这个模式就是我们今天的主角--中介模式。...
Halo 开源项目学习(一):项目启动 Java

Halo 开源项目学习(一):项目启动

项目简介 Halo 是一个优秀的开源博客发布应用,在 GitHub 上广受好评,正好最近在练习写博客,借此记录一下学习 Halo 的过程。 项目下载 前提设置 导入项目 因为 Halo 使用 Grad...
Java(14)对象构造 Java

Java(14)对象构造

之前学习了编写简单的构造器,可以定义对象的初始状态。但是,由于对象构造非常重要,所以Java提供了多种编写构造器的机制。 有些类有多个构造器。例如,可以如下构造一个空的 StringBuilder对象...
也说JVM内存区域 Java

也说JVM内存区域

运行时数据区五个部分 方法区 堆 程序计数器 本地方法栈 虚拟机栈 生命周期的区别 方法区和堆是随虚拟机启动创建,对应一个进程的生命周期 程序计数器、本地方法栈、虚拟机栈是随着线程创建,线程结束销毁,...
Netty-NIO基础 Java

Netty-NIO基础

一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的 双向通...
阿里面试:dubbo的服务引用过程 Java

阿里面试:dubbo的服务引用过程

上篇文章我们已经了解了 Dubbo 服务暴露全过程,这篇文章我就带着大家再来看看 Dubbo 服务引入全流程,这篇服务引入写完下一篇就要来个全链路打通了,看看大家看完会不会有种任督二脉都被打通的感觉。...
git 学习笔记 Java

git 学习笔记

git status (-s) 查看文件状态 git init 创建本地的git仓库 git clone 克隆仓库 git add [文件名] 添加到缓存区 git rest HEAd [文件名] 删...
网络编程杂谈之TCP协议 Java

网络编程杂谈之TCP协议

TCP协议属于网络分层中的传输层,传输层作用的就是建立端口与端口的通信,而其下一层网络层的主要作用是建立"主机到主机"的通信,所以在我们日常进行网络编程时只要确定主机和端口,就能实现程序之间的数据交流...
java 桥接方法 Java

java 桥接方法

1.桥接方法简介 桥接方法是jdk1.5引入泛型后,为使java泛型方法生成的字节码与jdk1.5版本之前的字节码兼容由编译器自动生成的。 可用 method.isBridge()判断method是否...