开发语言
文章平均质量分 95
野生的大熊
这个作者很懒,什么都没留下…
展开
-
保护数据隐私:深入探索Golang中的SM4加密解密算法
系统不能涉及MD5、SHA1、RSA1024、DES高风险算法。那用什么嘞?建议用国产密码算法SM4。比如无法安装编译比如C站烂大街的SM4教程,不能解决数据填充的问题,超过16位就解密失败了比如如何封装成通用的方法,供系统进行调用更多就是复制粘贴了SM4的定义,很抽象。于是我花了2天时间研究SM4的原理和应用,解决了上面这些问题,整理这篇文章分享给大家,让大家能少踩坑。我会按照下面的顺序分享这篇文章,方便大家更好的理解,原创 2023-07-02 12:48:14 · 740 阅读 · 0 评论 -
【后端面经-Java】HashMap详解
所以,hashMap的扩容,实际上是将原来的数组分成两部分,一部分的索引不变,一部分的索引变为原索引+oldCap。这里h先设置成key值的hashCode,然后右移16位,再和原来的h进行异或运算,这样做的目的是为了减少hash碰撞,提高查找效率。函数是根据对象的内存地址生成一个特定的数,因此,hashCode值相同的对象不一定相同,hashCode值不同的对象一定不相同。链表和红黑树的转换根据链表长度阈值判断,阈值为8,即链表长度大于8时,由链表转换为红黑树,小于6时,由红黑树转换为链表。原创 2023-07-02 12:48:53 · 200 阅读 · 0 评论 -
jvm学习笔记
首先,当Eden区满的时候会触发第一次GC,把还活着的对象拷贝到Survivor From区,当Eden区再次触发GC的时候会扫描Eden区和From区域,对这两个区域进行垃圾回收,经过这次回收后还存活的对象,则直接复制到To区域(如果有对象的年龄已经达到了老年的标准,则赋值到老年代区),同时把这些对象的年龄+1。因为Eden区对象一般存活率较低,一般的,使用两块10%的内存作为空闲和活动区间,而另外80%的内存,则是用来给新建对象分配内存的。最后,To和From互换,原To成为下一次GC时的From区。原创 2023-07-01 19:05:26 · 128 阅读 · 0 评论