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