八股文
文章平均质量分 83
能吧够
这个作者很懒,什么都没留下…
展开
-
并发编程(已整理,已废弃)
Java内存模型与Java并发编程相关,抽象了线程和主内存的关系。目的是简化多线程编程增强程序可移植性。### happens-before 原则意义:前一个操作的结果对后一个操作是可见的,无论俩个操作是否在同一个线程。原创 2023-12-06 18:07:30 · 1014 阅读 · 0 评论 -
Java集合(已重写-废弃了)
HashMap通过hashcode经过扰动函数处理得到hash值,再通过(Entry.length - 1)&hash得到元素存放位置,如果该位置存在元素,就判断该元素与要存入的元素的Key和哈希码hashcode是否相同,相同则直接覆盖,不相同,则通过拉链法解决哈希冲突;性能优化:为了平衡并发性能与数据安全性,jdk1.8之前锁的粒度是segment,jdk1.8之后锁的粒度为Node节点,缩小锁的范围提高并发性能,引入多线程并发扩容。最基本的概念要懂,核心的概念,那要滚瓜烂熟。头插元素后移O(n);原创 2023-12-03 21:17:56 · 1205 阅读 · 0 评论 -
高可用--限流&熔断&降级
漏桶:(令牌桶的桶容量是0就是漏桶)系统匀速产生令牌,没被取走也不会积攒下来。系统处理请求时均匀的。令牌桶:系统以恒定速率产生并把令牌放到桶里,每个请求从桶里拿到令牌才会被执行,反之被限流。类似于 TCP 的拥塞控制,根据一系列指标来判定是否需要触发限流。一般情况下,令牌产生速率/漏桶“开口速率”决定处理请求速率。熔断是完全不再发请求,限流是降低发送请求的频率。固定窗口:固定时间段内,只执行固定数量的请求。滑动窗口:滑动窗口随着时间线挪动窗口。突发的流量增大,使系统崩溃。原创 2023-11-19 11:24:23 · 143 阅读 · 0 评论