04 2022 档案

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

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

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

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

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

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

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

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

指针压缩原理和为什么指针压缩只能压缩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 阅读(867) 评论(0) 推荐(0) 编辑

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

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

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

posted @ 2022-04-23 12:55 zhangyukun 阅读(111) 评论(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 阅读(212) 评论(0) 推荐(0) 编辑

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

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

websocket 基本使用
摘要:1 websocket基本使用 websocket 是 javax.websocket下面的,不需要任何依赖,直接就可以使用 @ServerEndpoint 标记声明一个websocket 服务 ,configurator 属性指定 鉴权 配置类,@ServerEndpoint 标记的类 为每个链接 阅读全文

posted @ 2022-04-20 12:39 zhangyukun 阅读(528) 评论(0) 推荐(0) 编辑

长得像o的字符
摘要:先看一段代码: public class Main { public static void main(String[] args) { System.out.println( (int)'ο' ); System.out.println( (int)'o' ); } } 运行结果: 在看一段代码: 阅读全文

posted @ 2022-04-19 22:09 zhangyukun 阅读(471) 评论(0) 推荐(0) 编辑

什么是浮动垃圾 CMS为什么要重新标记 G1是怎么优化重新标记的过程的
摘要:1 浮动垃圾 如图,GC 线程便利对象树(实际是图),遍历过了A ,然后遍历过了B,遍历到了C,但是还没有遍历完C的儿子D,这时候如果 A.B=null; 那么B就变成了浮动垃圾,本次GC 过程B不会被清除。只能下次清除。 2 GC 三色标记算法过程中,白色的节点指向 黑色的节点 怎么办? (增量更 阅读全文

posted @ 2022-04-17 22:49 zhangyukun 阅读(966) 评论(0) 推荐(0) 编辑

jvm 性能调优 补充
摘要:一些常见的JVM 性能监测命令 1 window 上面安装的java 以后 默认 path 指向的C:\Program Files (x86)\Common Files\Oracle\Java\javapath 里面只有基本的命名 没有 ,如果需要使用 Java的 一些其他命令工具,需要吧 C:\P 阅读全文

posted @ 2022-04-17 17:46 zhangyukun 阅读(206) 评论(0) 推荐(0) 编辑

Dubbo 测试用例 获取注册中心的其他服务
摘要:package com.xyebank.uk.user.service; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autow 阅读全文

posted @ 2022-04-12 17:49 zhangyukun 阅读(294) 评论(0) 推荐(0) 编辑

fel兼容多值计算
摘要:fel 可以实现常见的单值计算,但是除了自定义函数特殊写以外都是单值计算。 有些时候我们需要支持多值计算。比如两个数组A+ 数据B=数组C(C 的结果是 A 和B 对应下标的值分别相加) 方法1,我们可以子定义add 函数,(下面的例子没有考虑类型异常,只能参考不能真实使用),这样我们就要能使用 a 阅读全文

posted @ 2022-04-06 18:02 zhangyukun 阅读(252) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示