自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 【无标题】

分布式ID的实现:1.mysql 依赖自增字段 replace into后在执行SELECT LAST_INSERT_ID();优点:实现简单,id有序递增缺点:生成id有序(安全性),大量访问性能差2.redis incr优点:实现简单,id有序递增缺点(安全性)3.算法1:jdk自带uuid,只需一行代码,但占用空间多且无序4.算法2:基于雪花算法(依赖时间,若服务器时间回拨,可能重复)改良版(团leaf),有序递增,生成速度快redisson引入watch dog 。每隔十秒,判

2024-05-06 17:35:39 63 2

原创 系统设计14645646

通过上述策略的综合应用,可以有效应对绩效系统考核周期末期的流量峰值,保证员工能够顺畅查询到自己的绩效结果。

2024-05-06 11:32:30 239

原创 redis13123124

rdb,aof故障恢复时,需要逐行执行命令,比较缓慢。通过cow写时复制,如果子进程写rdb期间主进程更改了键值对,会拷贝一份副本给子进程。惰性更新(查询时再查看过期字典,过期则删除,节约cpu资源,浪费空间)、定期检查(从过期字典中抽查20个,若过期数量大于5(1/4),再次抽查)aof,一次复制,两个日志,aof日志缓冲,aof重写日志缓冲。生成阶段:若为key未过期,会写入aof中,若过期了,会追加一条del命令。加载阶段:主,会进行过期检查,删除过期键。持久化过程中对过期值的处理策略。

2024-04-21 01:36:53 209 1

原创 其他154657489456

3 base,基本可用、软状态、最终一致性,可以理解为ap方案的补充,当保证可用性时,可以容忍短暂的数据不一致,但要保证数据的最终一致。核心思想:即使无法保证系统的强一致性,也要根据各自业务的特点,保证系统整体的最终一致性。ba:可以允许短暂的接口响应时间提高,非核心功能不可用。s:允许存在中间状态:节点间数据同步存在延迟。

2024-04-18 13:09:47 175 1

原创 mysql12323145325

如果只使用binlog,在崩溃恢复时,虽然可以知道哪些SQL语句被执行过,但由于binlog是逻辑日志,它无法提供足够的信息来快速恢复数据到最后一次已知的状态,特别是在数据量大的情况下,重新执行所有SQL语句的效率非常低下。因此,在崩溃恢复的场景下,redo log和binlog通常是结合使用的,以利用redo log的快速物理恢复能力和binlog的逻辑恢复及数据复制能力。:虽然redo log能够确保事务的持久性,即在崩溃后能够恢复数据的物理状态,但它无法提供足够的信息来支持数据的复制和逻辑恢复。

2024-04-15 16:38:37 161 1

原创 `ON DUPLICATE KEY UPDATE`与`REPLACE`性能差异

与REPLACE在处理数据库中已存在的键值时有不同的工作机制,这导致了它们在性能上的差异。REPLACE。

2024-04-15 11:16:05 274 1

原创 网络12312

七层结构1.应用层2.表示层。编解码,亚索3.会话层(session层)应用程序之间交互4.传输层(tcp、udp)5.网络层6.物理链路7.物理层对称加密的密钥是非对称加密过的HTTPS 是运行在 SSL/TLS 之上的 HTTP 协议,SSL/TLS 运行在 TCP 之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。所以说,HTTP 安全性没有 HTTPS 高,但是 HTTPS 比 HTTP 耗费更多服务器资源。http2和1.1的

2024-04-12 18:19:17 105

原创 spring

在 Bean 的配置中,可以通过。

2024-04-10 11:46:39 493 1

原创 java12312312

1。

2024-04-08 19:14:41 914

原创 通过阅读ArrayList源码分析ArrayList的扩容机制

这里阅读的是JDK8的源码,使用无参构造函数的话是创建一个空数组,第一次调用add方法是才生成一个大小为10的数组。执行add方法,会先调用ensureCapacityInternal(size+1)方法,执行完毕后elemData[size++]=e,返回布尔类型。ensureCapacityInternal()方法内部是一个嵌套方法,外层是调用ensureEplicitCapacity(),它的参数为calculateCapacity(),calculateCapacity的作用是检测此时

2021-04-10 20:42:14 151 1

原创 九大排序算法(纯手打,完结!)

排序常见的排序列表测试代码及其他封装算法 //Test public static void main(String[] args) { int[] testArry = {2, 3, 5, 1, 6, 4, 7, 9, 10, 6, 25, 48, 59, 63, 55, 88, 46, 98, 37, 12, 16, 17, 23, 34}; int[] rightResult = {1, 2, 3, 4, 5, 6, 6, 7, 9, 10, 12,

2021-03-25 21:15:44 126 3

原创 SpringMVC

文章目录SpringMVCSpringMVC的核心组件SpringMVC工作流程SpringMVC的注解@RequestMapping相关参数 value,method,params@ControllerRestful风格的URL传统的通过jsp+servlet开发方式映射cookie遇到的问题使用javaBean绑定参数转发与重定向数据绑定基本数据类型包装类数组ListJSON数据格式SpringMVC模型数据解析绑定到Request中mapModelAndViewHttpServletRequestMo

2021-03-25 19:58:36 64

原创 个人使用IDEA过程中一些好用的快捷键

文章目录查询各种类等等等,阅读源码必备: Ctrl + Shift + A快速显示类中所包含的变量、方法等(读源码必备):Ctrl+F12返回上一级源码 c+a+左右方向键显示一个类中所包含的构造器:Ctrl+P自动整理代码格式(彳亍!):Ctrl + Alt + L包住代码块: Ctrl+Alt+s复制当前行 Ctrl + D快速生成文本注释 Ctrl + Shift + /快速生成单行注释 Ctrl + /Alt + Insert快速生成构造器、get,set函数等代码块移动 ALT+SHIFT+方向键

2021-03-18 11:23:26 86

原创 多线程

文章目录多线程1.程序、进程、线程区分:2.jvm内存结构3.一个java程序最少有3个线程:mian()主线程、gc()垃圾回收线程、异常处理线程。4.并行与并发(理解就好)5.创建多线程的方式(4种)**方式一:继承Thread类****方式二:通过实现Runnable接口的类**方式三:实现callable接口——>JDK5.0新增面试题:如何理解Callable比Runnable强大方式四:使用线程池使用线程池的好处:线程管理的方式:6.Thread中常用的方法:7.线程的分类8.线程的生命周

2021-02-03 13:35:40 89

原创 2020-12-22

scala语言,Vector和List的区别前者相当于数据结构的顺序表,后者相当于链表

2020-12-22 21:05:29 40

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除