非对称加密 及 SSL的工作原理

# 非对称加密 > 引言: 在传统的非对称加密算法,加密解密时共用一把秘钥。 ![image.png](http://res.i-cooltea.top/image/20240830184508.png) 这样的加密方式容易在秘钥泄露后, 使得加密数据被破解, 有很大的安全隐患,而非对称加密就可以很好的避免这个问题。 ![image.png](http://r

- 阅读全文 -

Go进阶—并发编程 Mutex

[转自:【Go进阶—并发编程】Mutex https://segmentfault.com/a/1190000041467918](https://segmentfault.com/a/1190000041467918 "【Go进阶—并发编程】Mutex") 总结来说,GO语言中mutex的两种模式(正常模式和饥饿模式)的主要区别在于对等待锁的goroutine的优先级处理上: 正常模

- 阅读全文 -

Golang垃圾回收(GC) 底层原理

参考链接: [Golang垃圾回收(GC)介绍 ](https://liangyaopei.github.io/2021/01/02/golang-gc-intro/ "Golang垃圾回收(GC)介绍") [刘丹冰Aceld Golang中GC回收机制三色标记与混合写屏障](https://www.bilibili.com/video/BV1wz4y1y7Kd?p=14&vd_sourc

- 阅读全文 -

如何判断golang变量是分配在栈(stack)上还是堆(heap)上?

Go这门语言抛弃了C/C++中的开发者管理内存的方式:主动申请与主动释放,增加了逃逸分析和GC,将开发者从内存管理中释放出来,让开发者有更多的精力去关注软件设计,而不是底层的内存问题。这是Go语言成为高生产力语言的原因之一。 ### 一、如何判断变量是分配在栈(stack)上还是堆(heap)上? Golang 中的变量只要被引用就一直会存活,存储在堆上还是栈上由内部实现决定而和具体的语法

- 阅读全文 -

Go语言如何高效的进行字符串拼接(6种方式进行对比分析)

本文讨论多个大字符串拼接时的性能对比 想看结论直接跳到文末即可: 大量字符串拼接的测试我们先构建一个长度为200的字符串切片: ``` var baseSlice []string for i := 0; i < 200; i++ { baseSlice = append(baseSlice, base) } ``` 然后遍历这个切片不断的进行拼接,因为

- 阅读全文 -