
Golang
文章平均质量分 68
爱学习的小白_
小白学习中······
展开
-
本人目前学习的所有编程知识
知识总结,不定时更新https://github.com/liulingjie888/code原创 2020-05-19 02:49:46 · 242 阅读 · 0 评论 -
基于密钥认证加密传输的TCP通信模板 -- Golang,Java
问题来源最近在公司参与开发充电柜通信协议和迭代车辆通信协议。发现了一下几个问题:明文传输,没有任何加密机制 没有认证机制,后台是通过每一条指令的imei来识别哪一条设备。这样造成的后果就是每次处理上报指令都会在集合中寻找是否有该设备的连接对象,存在则对其进行替换。而在这个过程中,会对集合加锁。 且因为每种指令都有自增长的序号,在处理和应答上报指令的序号的过程中,又得再次从集合中取出对应得连接对象,这个过程又得加锁。再加上服务调用设备发送指令还是要加锁,而集合是一个全局变量,这样就导致了所有用户的原创 2021-04-15 09:54:36 · 908 阅读 · 0 评论 -
Golang的sync.Map源码解读
sync.Map源码解读说明:在map中,内部有两个map结构dirty和read.m 在查询过程中会优先从read.m中查询,并且对缺失计数misses加一。当misses达到dirty的长度时,会用dirty来替换read,并重置dirty为nil和misses为0。我称这个过程为缺失处理 再所有操作中,都会优先访问read.m再访问dirtytype Map struct { read atomic.Value // readOnly,存放一个readOnly mu Mut原创 2021-02-25 13:27:30 · 349 阅读 · 0 评论