rabbitmq 初体验

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v "E:/docker/rabbitmq:/var/lib/rabbitmq" rabbitmq:4-management

复制代码
指向底层数组的指针
指向hmap结构体的指针

切片在函数中操作的特性
切片传递函数中,函数外的原切片会保留独立的底层引用的数组和长度和容量。

修改切片元素
切片是引用类型,会把底层数组的指针传递进去

底层数组被修改了 ①修改指针的引用;②append()函数触发扩容不会影响原切片
函数外的原切片会保留独立的底层引用的数组和长度和容量。

切片在函数中append()后新增的元素是看不到的
函数外的原切片会保留独立的底层引用的数组和长度和容量。
操作类型​ ​是否影响原切片​ ​原因​
修改切片元素(如 s[i]=x 底层数组共享,修改元素直接同步到原数组。
截取子切片(如 s[1:] 函数内切片变量指向原数组的新位置,但原切片的 ptrlencap未改变。
append未扩容 原切片的 len未修改,无法访问新增元素;底层数组可能被覆盖但原切片无感知。
append触发扩容 函数内切片指向新数组,原切片仍指向旧数组。
重新赋值切片变量(如 s = anotherSlice 函数内切片变量指向新内存,原切片不受影响。
操作类型​ ​是否影响原 map​ ​原因​
修改 map 内容(增删改键值对) 函数内外 map 共享底层 hmap结构,修改直接同步。
重新赋值 map 变量(指向新 map) 函数内 map 变量指向新的 hmap指针,原 map 的指针未改变。
传递 nil map 并修改内容 触发 panic nil map 未初始化,无法直接操作。
相关推荐
用户8307196840821 天前
RabbitMQ vs RocketMQ 事务大对决:一个在“裸奔”,一个在“开挂”?
后端·rabbitmq·rocketmq
初次攀爬者2 天前
RabbitMQ的消息模式和高级特性
后端·消息队列·rabbitmq
初次攀爬者4 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
让我上个超影吧5 天前
消息队列——RabbitMQ(高级)
java·rabbitmq
塔中妖5 天前
Windows 安装 RabbitMQ 详细教程(含 Erlang 环境配置)
windows·rabbitmq·erlang
断手当码农5 天前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
初次攀爬者5 天前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
业精于勤_荒于稀5 天前
物流订单系统99.99%可用性全链路容灾体系落地操作手册
分布式
Ronin3055 天前
信道管理模块和异步线程模块
开发语言·c++·rabbitmq·异步线程·信道管理
Asher05095 天前
Hadoop核心技术与实战指南
大数据·hadoop·分布式