Netty:查看ByteBuf的实现类

news/2024/7/3 13:50:58

io.netty.buffer.ByteBuf是一个抽象类,我们看看它最终的实现类。实现类有多个,具体用的是哪个实现类,跟分配ByteBuf的方式有关。
作为举例,分别用Unpooled和ByteBufAllocator.DEFAUL来分配一个ByteBuf。

package com.thb;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
import io.netty.buffer.Unpooled;

public class Test {

	public static void main(String[] args) {
		// 用Unpooled创建一个ByteBuf
		ByteBuf buf = Unpooled.buffer();
		System.out.println(buf.getClass().getName());
		
		// 用ByteBufAllocator.DEFAULT创建一个ByteBuf
		ByteBuf buf2 = ByteBufAllocator.DEFAULT.buffer();
		System.out.println(buf2.getClass().getName());
	}
}

运行输出:

io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf
io.netty.buffer.PooledUnsafeDirectByteBuf

http://www.niftyadmin.cn/n/4924357.html

相关文章

jQuery知识

DOM知识 alert(我是弹窗); prompt(弹窗输入);Dom元素节点获取 方式一:通过 id 获取 一个 元素节点(为什么是一个呢?因为 id 是唯一的) var div1 document.getElementById("box1"); 方式二:通过 标签名 获…

什么是行级锁和表级锁

行级锁和表级锁是数据库中常见的两种锁机制,用于在多个事务并发访问数据库时控制数据的访问权限和并发操作。 行级锁(Row-Level Locking): 行级锁是指在数据库表中对每一行数据进行锁定,只有被锁定的行才不能被其他事…

Vue中的的通信方式有几种?隔代组件的通信你用那种方式解决?

props/$emit 适用父子组件通信 ref与parent/children适用父子组件通信 attrs/listeners,provide/inject 适用于隔代组件通信 vuex,EventBus(事件总线) 适用于父子、隔代、兄弟组件通信 slot插槽方式 attrs实例 父组件(这时候我们传了两个参数title和type&…

YOLOv5源码中的参数超详细解析(2)— 配置文件yolov5s.yaml

前言:Hello大家好,我是小哥谈。YOLOv5配置了5种不同大小的网络模型,分别是YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,其中YOLOv5n是网络深度和宽度最小但检测速度最快的模型,其他4种模型都是在YOLOv5n的基础上不断…

Java并发 | 常见线程安全容器

文章目录 简介一、Hash表🚣1、ConcurrentHashMap1.1 内部实现原理1.2 并发操作方法1.3 ConcurrentHashMap与Hashtable的比较 二、集合🚣2、CopyOnWriteArrayList2.1 内部实现原理2.2 Copy-On-Write(COW)设计思想2.3 实操 三、Map🚣3、Concurr…

BpBinder与PPBinder调用过程——Android开发Binder IPC通信技术

在Android系统中,进程间通信(IPC)是一个非常重要的话题。Android系统通过Binder IPC机制实现进程间通信,而Binder IPC通信技术则是Android系统中最为重要的进程间通信技术之一。本文将介绍Binder IPC通信技术的原理,并…

龙蜥开发者说:是挑战也是契机!我见证了国产操作系统的雄起 | 第 22 期

「龙蜥开发者说」第 22 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者肖微…

Adb发送特定广播给App和App获取权限的命令

最近在做Autostart,但是没有bench R1环境 目前在模拟器上调试,需要调试自定义的广播和获取悬浮窗权限(因为这个app需要在开机未启动app的情况启动服务区获取传感器信号然后全局弹窗)。 需要先adb root adb remount 1.发送广播给…