上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 39 下一页

2022年5月1日

Java 伪内存共享解决方案

摘要: 简单的说一下伪内存共享是什么: cpu读取数据的顺序:cpu->寄存器->1级缓存->2级缓存->3级缓存(3级缓存开始是CPU共享的)->主内存->硬盘,读取数据不是一个对象或者一个字节为单位读取的,而已一缓存行为单位,CPU 不同缓存行的大小也不同,一般为32-256个字节,最常见的缓存行大小是 阅读全文

posted @ 2022-05-01 00:16 zhangyukun 阅读(199) 评论(0) 推荐(0) 编辑

2022年4月27日

一致性哈希 分布式扩容问题

摘要: 如果有3台服务器作为分布式存储的负载均衡节点(我们这里不谈备份),三台机子各村一部分数据,理想情况下,各存1/3 存入数据的时候,数据取hash,然后模3,得到0-2,分别对应三台服务器。 查询的时候,同样计算出hash,取模,取对应的机子上取数据。 如果三台机子快满了,需要扩容怎么办?如果数据分布 阅读全文

posted @ 2022-04-27 23:11 zhangyukun 阅读(373) 评论(0) 推荐(0) 编辑

hash 碰撞的2种解决办法

摘要: hash碰撞:hash长度是有限的,比如MD5 但是可以生成哈希的原文远比hash多的多,当两个不同原文算出一样的hashCode的时候,就发现了哈希碰撞 hash碰撞的解决办法总的来说有两种。 1 开放链表法(Java的hashMap 的解决方案) 哈希值取模数组长度,得到应该存放的数组下标的位置 阅读全文

posted @ 2022-04-27 22:51 zhangyukun 阅读(2278) 评论(0) 推荐(0) 编辑

hash 算法计算过程

摘要: MD5(128位) ,sha1(160),sha256(256位) 都是用户hash算法,任意长度的字符串 通过哈希运算以后都会得到一个固定长度的摘要,并且其中任意一个字符的变动都会导致hash完全改变。 用sha1举例:sha1 要求 原文长度低于2^64次方位(很大了,4G 内存是 512M 的 阅读全文

posted @ 2022-04-27 22:28 zhangyukun 阅读(1343) 评论(0) 推荐(0) 编辑

2022年4月26日

https还安全吗 https抓包原理 https抓包工具

摘要: 首选需要了解连接https请求的过程: HTTPS 请求过程详解 首选确认一个问题,现在随便一个抓包工具都能抓 https 的包,都能看到里面加密的请求参数和响应参数,https 还安全吗? 答:安全 上面蓝色连接讲解了https 的请求过程,可以知道证书里面有一些信息可以在浏览器端离线的验证证书是 阅读全文

posted @ 2022-04-26 21:57 zhangyukun 阅读(1309) 评论(0) 推荐(0) 编辑

2022年4月25日

指针压缩原理和为什么指针压缩只能压缩3位

摘要: 1 聊指针压缩前明白几个大前提 1,java对象是8字节对其的,或者说3个字节对齐的。 2,一个字节是8个二进制位。 3,4字节能表示多大数据? 2的32次方=4G 个二进制位的数据,也就是512M 4,带宽用的单位是1K 表示2的10次方位,硬盘内存用的1K是2的10次方字节,也就是硬盘内存寻址是 阅读全文

posted @ 2022-04-25 16:14 zhangyukun 阅读(816) 评论(0) 推荐(0) 编辑

2022年4月24日

tomcat结构 请求处理过程 和 常见参数

摘要: tomcat 结构图 下面的图是一个tomcat server.xml 的默认配置 1 tomcat顶层容器是server,代表服务器,server 里面装着 一个或者多个service 代表服务。tomcat 配置文件server.xml 里面可以看出 server 作为顶层容器,默认监听 800 阅读全文

posted @ 2022-04-24 20:11 zhangyukun 阅读(424) 评论(0) 推荐(0) 编辑

2022年4月23日

常见限流算法

摘要: 常见限流算法 计数器算法(固定窗口): 描述:指定时间段内只能通过N个请求,多与的请求被拒绝,当时间节点到达下一个阶段的时候重置允许通过的数量N 实现:一段时间我们可以时间毫秒除单位时间 做为阶段标志来区分时间段,初始化计数器的时候设置容量为N,来一个请求N-1,N=0 的时候拒绝后面的请求,如果毫 阅读全文

posted @ 2022-04-23 12:55 zhangyukun 阅读(100) 评论(0) 推荐(0) 编辑

mysql update 取值问题和 not in ,!= 不会查询出 空值

摘要: update 取值问题 如果 有两个 字段 a,b 并且 初始 a=0,b=0 update set a=100,b=a+1 的结果是 a=100,b=101 update set b=a+1,a=100 的结果是 b=1,a=100 测试于 mysql 8.0.25 ,和 5.6.43 not i 阅读全文

posted @ 2022-04-23 11:59 zhangyukun 阅读(206) 评论(0) 推荐(0) 编辑

2022年4月22日

arthas Java诊断工具

摘要: arthas 可以方便的查看Java程序的运行状况,jvm 参数,堆栈信息,线程情况,可以观察方法执行情况(返回值,参数,执行时间,调用链),可以反编译class 文件,查找class文件,内存编译Java文件,热更新class 文件。 1 arthas 的 下载启动: 下载地址:点击下载 解压下载 阅读全文

posted @ 2022-04-22 01:16 zhangyukun 阅读(698) 评论(0) 推荐(0) 编辑

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 39 下一页

导航