go的map map的结构拉链法的hashMap 共有2^B 个桶 每个桶只能存放 8个 K*V,若多余8个,则放到溢出桶里面去 hash算法、B、oldBuckets map的访问 read write 使用拉链法实现 hashmap 每个桶中存储键hash 的前8位 桶超出 8个数据后,就会存储在溢出桶这个i部分 map的扩容当 hash碰撞严重时,扩容桶会指向下一个扩容桶,此时变成了长链表,效率会 2024-02-24
docker&k8s 1docker rm -f &(docker ps -aq) docker client->restful api->docker deamon .dockerignore 1docker run -d --name mysql3 -p 3309:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:5.7 dock 2024-02-18
广州行 第一天 (2.11) 上午 陈家祠 永庆坊 沙面岛 北京路 大佛寺 圣心大教堂 下午 海心桥 海心沙 广州塔 珠江新城高德置地广场春商场 第二天(2.12) 上午 下午 2024-02-07
linux总结 tar 压缩文件 1tar -zcvf 打包压缩后的文件名 要打包的文件 解压文件 123tar [-xvf] 压缩文件 -C 指定的路径tar -xvf test.tar.gz -C /usr 文件权限 chmod1chmod +x zookeeper 常用的 系统资源查看命令网络 ifconfig/ip:ifconfig(在新版本中被 ip 替代)命令 2024-02-01
redis总结 《我们一起进大厂》系列-Redis常见面试题(带答案) - 掘金 (juejin.cn) redis为什么这么快 基于内存 单线程模型 非阻塞IO 优化过的数据结构和底层模型 基本的数据结构Stringhashlist朋友圈的点赞的人的显示是有顺序的,可以使用list来实现顺序;如果有人点赞rpush;如果有人取消点赞lrem setZset 跳跃表 哈希表 充分利用 跳跃表的快速查找 2024-01-29 #redis,八股
重写redis组件 GO的优点 直接编译为二进制。没有虚拟化损失 自带运行环境、无需处理GC问题 一次编码可以使用多种平台 超强的并发支持和并发易用性 Go没有对象、没有类、没有继承 Go通过组合匿名字段来达到类似继承的效果 去除了面向对象中复杂而冗余的部分 保留了基本的面向对象的特性 使用Modules go get XXX go get XXX@0 2024-01-19
短链服务 链接缩短工具 (doruo.cn) 短链接的原理以及其实现 - 掘金 (juejin.cn) 使用组件的模式 vue + element string 缓存 观看数量 zset 排行榜 分布式锁 第二天的排行榜怎么根据前天的排行榜来排序? bool : false integer: 0 float: 0.0 string: “” pointer, function, 2024-01-16
Go常用数据结构 高效拼接字符串拼接字符串的方式 fmt.Sprintf bytes.buffer strings.builder 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859const letterBytes = "abc 2024-01-12
sycn.once的使用和原理 读写锁和互斥锁的性能比较定义互斥锁和读写锁 12345678910111213141516171819202122232425262728293031323334353637383940414243444546type RW interface { Write() Read()}const cost = time.Microsecondtype Lock struct 2024-01-11 #单例模式,once
Go进阶训练营第五期笔记 1.1 微服务概览化繁为简,分而治之 SOA 【service-oriented Architecture】(面向服务的架构),而微服务就是SOA的最佳实践 小即是美:小的服务代码量少,bug少,易测试,易维护 单一职责:一个服务也只需要做好一件事情 尽可能早的创建原型:尽可能早的提供服务的API,建立服务契约,达成服务间沟通的一致约定 可移植性比效率更加重要:服务间的轻量级交互协议在效率和可 2023-12-29 Go进阶训练营 #2024 #笔记
2023总结+2024眺望 2023总结今年四月末开始学习Go,从最初的go的语法,到gin框架,写出一个小的web demo(论坛系统),参与学校毕业设计系统的后端开发,再到微服务架构,使用probuf作为通信协议,kratos框架来搭建微服务体系,consul作为服务注册发现健康检查的第三方,canal作为增量数据库的同步,es处理复杂数据的查询,redis来作为缓存,kafaka处理实时流。最后用grpc 来调用api 2023-12-26 总结 #2023 #2024
py期末 py的特点 开源 免费 属于高级语言 可移植性高 py的标识符命名规则 listdir open with flush isfile splittext ‘w’ ‘x’ close 2023-12-26
snowflake 然后添加序列号,从0开始,在同一毫秒内生成的每个ID递增。如果您在同一毫秒内生成足够的id,序列将滚动或溢出,那么生成函数将暂停,直到下一个毫秒 2023-12-19 #snowflake