摘要: 版本MySQL5.7.34 有一个student表,字段如下 id name age position sex 建立联合索引(name, age, position) 问以下的SQL哪些会使用这个索引? 1、explain select * from student where name > 'AA 阅读全文
posted @ 2024-09-01 21:03 枫叶藏在眼眸 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 分布式ID必须保证以下特性: 全局唯一 有序性:便于索引 高并发可用 不依赖中心认证 安全性 目前大厂的分布式ID方案基本都是基于号段式,号段模式可以理解成从数据库批量获取 ID,然后将 ID 缓存在本地,以此来提高业务获取 ID 的效率。例如,每次从数据库获取 ID 时,获取一个号段,如(1,10 阅读全文
posted @ 2024-08-29 14:26 枫叶藏在眼眸 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 雪花算法和UUID UUID UUID是一种唯一且不需要中央协调的ID,它使用某种规则创建ID,而不是某种中心化的自增方式,使得其成为创建成本最低的ID类型。 到目前为止UUID一共有5个实现版本 版本1: 按照 UUID 定义的每个字段的意义来实现,使用的变量因子是时间戳+时钟序列+节点信息(Ma 阅读全文
posted @ 2024-08-28 22:04 枫叶藏在眼眸 阅读(16) 评论(0) 推荐(0) 编辑
摘要: Java线程池解析 在Java中有两种方式创建线程池,一种是直接使用Executors工具类创建预先定义好的线程池。一共有以下四种线程池 newCachedThreadPool:可缓存的无边界的线程池,最大线程数Integer.MAX_VALUE public static ExecutorServ 阅读全文
posted @ 2024-08-25 11:01 枫叶藏在眼眸 阅读(15) 评论(0) 推荐(0) 编辑
摘要: Java线程池解析 在Java中有两种方式创建线程池,一种是直接使用Executors工具类创建预先定义好的线程池。一共有以下四种线程池 newCachedThreadPool:可缓存的无边界的线程池,最大线程数Integer.MAX_VALUE public static ExecutorServ 阅读全文
posted @ 2024-08-24 21:07 枫叶藏在眼眸 阅读(17) 评论(0) 推荐(0) 编辑
摘要: Java中的引用类型 强引用:直接引用,只要强引用存在就不回收 软引用:描述一些非必须得对象,内存不足时可能会回收 弱引用:下一次GC扫描到就会回收 虚引用:用于在对象回收后执行清理操作,与引用队列配合使用 虚引用在创建时可以指定引用队列 在被回收之后可以通过队列判断回收状态并执行相关操作 Weak 阅读全文
posted @ 2024-08-24 10:32 枫叶藏在眼眸 阅读(6) 评论(0) 推荐(0) 编辑
摘要: TreeMap TreeSet使用适配器模式包装了TreeMap,所以只需要理解TreeMap就够了 概述 TreeMap实现了SortedMap接口,也就是说会按照顺序对Map中的元素进行排序,可以是自然顺序,也可以使用自定义比较器 TreeMap<Integer, String> treeMap 阅读全文
posted @ 2024-08-24 10:08 枫叶藏在眼眸 阅读(3) 评论(0) 推荐(0) 编辑
摘要: LinkedHashMap 概述 LinkedHashSet使用适配器模式包装了LinkedHashSet 一个有序的散列表,允许key为null也允许value为空,从名字上可以看出使用链表维护了有序性 在元素存储时,在原来的HashMap的数组+链表的基础上,为每个元素添加了pre和next指针 阅读全文
posted @ 2024-08-24 09:44 枫叶藏在眼眸 阅读(5) 评论(0) 推荐(0) 编辑
摘要: HashMap HashSet需要提起的只有一句话 HashSet使用适配器模式包装了HashMap,所有的Value都是同一个Object对象,只有Key不一样,HashSet就是HashMap的KeySet HashMap概述 一个允许Key为空也允许Value为空的哈希表 Hash冲突 当多个 阅读全文
posted @ 2024-08-22 19:36 枫叶藏在眼眸 阅读(2) 评论(0) 推荐(0) 编辑
摘要: PriorityQueue 优先级队列:默认每次取出权值最小的元素,元素的大小评判可以通过元素自身的自然顺序,也可以在构造时传入比较器进行定义顺序规则。 用法 //不传比较器 PriorityQueue<Integer> pq = new PriorityQueue<>(); pq.add(3); 阅读全文
posted @ 2024-08-22 16:36 枫叶藏在眼眸 阅读(7) 评论(0) 推荐(0) 编辑