随笔分类 -  JAVA随笔

看懂插入才算看懂redis跳表
摘要:跳表的数据结构 forward相当于9之于8,12之于8 插入算法流程: 1.初始化两个数组update和rank数组;update表示每一层的前继节点、rank表示update节点到头结点的距离(用于计算span); 2.生成随机层数(抛硬币,源码概率为0.25,为正面++) 如果生成层数比最高层 阅读全文
posted @ 2022-01-06 21:37 柴刀叨叨叨 阅读(200) 评论(0) 推荐(0)
Java开发的事务
摘要:代码来自https://blog.csdn.net/weixin_42950079/article/details/99674292 可以看出jdbc的一个事务有这么几个步骤:1.关闭sql自动提交;2.提交sql;3.提交事务,抛出异常回滚 Spring的@Transactional本质是做一个切 阅读全文
posted @ 2022-01-01 01:14 柴刀叨叨叨 阅读(80) 评论(0) 推荐(0)
策略模式、状态模式、责任链模式
摘要:这三种模式都是对if else的优化,在大量if else对性能影响可能微乎其微,但是不便于阅读和debug。实际使用,这三者具体区别是什么很重要。 首先策略模式最为灵活,也是我使用过的,Java中比较常用的方法。首先将代码块的行为抽象为一个接口,然后将写在一个行为类里。再建立一个工厂类,内置一个h 阅读全文
posted @ 2021-12-25 21:41 柴刀叨叨叨 阅读(510) 评论(0) 推荐(0)
java线程底层调度
摘要:在sun.misc.unsafe类中有如下几个方法,unsafe类作为能直接操作内存等操作的魔术类,有部分关于线程阻塞的native方法,这些native方法就是一个java调用非java代码的接口,底层由C或其他内容实现,在Thread类中还有如start0之类的native方法。所以明面上我们调 阅读全文
posted @ 2021-12-24 11:08 柴刀叨叨叨 阅读(32) 评论(0) 推荐(0)
字节面经-操作系统页表管理
摘要:例子:32位虚拟内存地址 10bit页目录+10bit二级页表+12位页内偏移 CR3->10bit页目录KV式查询->10bit页表前20位物理地址->物理地址32bit=前20bit查询得到+原始页内偏移12bit 缺页中断(虚拟内存)(LRU算法) 寻找到一个空闲的页。或者把另外一个使用中的页 阅读全文
posted @ 2021-12-13 16:07 柴刀叨叨叨 阅读(100) 评论(0) 推荐(0)
读http协议2.0
摘要:最早期的 HTTP/1.0 时代,一个资源 = 一个 TCP 链接 = 一个 HTTP 链接,每个 HTTP 请求结束都会断开 TCP 连接,新的 HTTP 请求会另外新建一个 TCP 连接,并且只有当一个完整的请求结束(TCP closed)才会开始下一个请求(阻塞)。 (为每一个资源所付出的握手 阅读全文
posted @ 2021-12-13 15:41 柴刀叨叨叨 阅读(100) 评论(0) 推荐(0)
DDD思想与入门
摘要:1.贫血模型和充血模型 贫血模型: 定义对象的简单的属性值,没有业务逻辑上的方法 充血模型 定义属性的同时也会定义方法,可以通过某些方式直接得到属性值,也可以在对象中嵌入方法直接创建出一个具有属性值的对象。 Java业务中贫血模型为传统的Java Bean,即只有get和set方法没有对应的业务方法 阅读全文
posted @ 2021-12-10 15:38 柴刀叨叨叨 阅读(177) 评论(0) 推荐(0)
LVS负载均衡
摘要:ISO七层网络模型一共分为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,我们重点关注数据链路层、网络层、传输层。 在数据链路层寻址靠MAC地址,网络层寻址靠IP地址,传输层则看端口。因为向下封包和向上解包的过程,所以越是底层寻址越快。 在DNS服务器上做,添加几个IP做轮询就可以了 阅读全文
posted @ 2021-12-09 18:49 柴刀叨叨叨 阅读(85) 评论(0) 推荐(0)
实习反思小结
摘要:两天前早起和好哥们一起去公司办了离职手续,正式闲下来准备毕业了。短短实习了三个月不到的这段时间,上一家公司给我的感觉是同事性格都挺好的,Mentor也在业务上尽力给我帮助,除了日常通勤体验比较差,这段时间的生活感觉还不错。虽然不是一线大厂,也不是核心部门业务,但共事的人技术大都不算差,同事中有深入了 阅读全文
posted @ 2021-11-29 15:30 柴刀叨叨叨 阅读(64) 评论(0) 推荐(0)
字节二面-关于异步同步阻塞非阻塞的关系
摘要:字节二面的时候被问到这个问题,当时因为没有准备根本答不上来。后来闲下来仔细推敲,发现这是一个很难三言两语解释清楚的一块知识点,放在校招面试里我觉得过于八股而有点恶心人。 首先,异步同步和阻塞非阻塞是两个完全不同的概念,要讨论这个问题我想先把背景放在java线程和网络io这块可能说的会比较明白。 异步 阅读全文
posted @ 2021-11-29 15:29 柴刀叨叨叨 阅读(51) 评论(0) 推荐(0)