摘要: 索引 索引是帮助MySQL高效获取数据的排好序的数据结构 索引数据结构 二叉树 红黑树 Hash表 对索引的key进行一次hash计算就可以定位出数据存储的位置 很多时候Hash索引要比B+ 树索引更高效 仅能满足 “=”,“IN”,不支持范围查询 hash冲突问题 B-Tree 叶节点具有相同的深 阅读全文
posted @ 2022-07-12 17:05 腾龙皓月 阅读(64) 评论(0) 推荐(0)
摘要: LockSupport LockSupport 的主要功能是提供线程一个"许可", 通过这个"许可"来控制线程的阻塞和恢复; 底层也是依赖于unsafe实现的 LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。LockSupport 提供park()和unpark()方法实现阻塞线程 阅读全文
posted @ 2022-07-11 16:29 腾龙皓月 阅读(101) 评论(0) 推荐(0)
摘要: 线程池的状态 线程池的5种状态:Running、ShutDown、Stop、Tidying、Terminated Running:(1) 状态说明:线程池处在RUNNING状态时,能够接收新任务,以及对已添加的任务进行处理。 (2) 状态切换:线程池的初始化状态是RUNNING。换句话说,线程池被一 阅读全文
posted @ 2022-05-31 19:25 腾龙皓月 阅读(38) 评论(0) 推荐(0)
摘要: ss 阅读全文
posted @ 2022-05-29 17:06 腾龙皓月 阅读(11) 评论(0) 推荐(0)
摘要: 并行与并发 并行:同一时刻,多条指令在多个处理器上同时执行。 并发:同一时刻,多条指令在同一个处理器上执行,利用cpu的执行时间片,分别快速切换; 并发的三大特性: 可见性 一个线程改变了共享变量的值,其他线程立刻可以看到修改后的值。 各个线程执行完后刷回主内存实现的,实现的可见性。 如何实现可见性 阅读全文
posted @ 2022-05-28 14:56 腾龙皓月 阅读(314) 评论(0) 推荐(0)
摘要: redis的持久化方式 1.rdb快照 持久化数据 redis 根据设置每隔一段时间进行持久化(60 秒内有至少有 1000 个键被改动) save持久化:同步 bgsave持久化:异步 bgsave的cow(写时复制的机制)机制:bgsave异步复制主要是主线程fork生成一个子线程,当进行持久话 阅读全文
posted @ 2022-05-26 18:16 腾龙皓月 阅读(108) 评论(0) 推荐(0)
摘要: 基于JDK1.8的String详解 https://blog.csdn.net/Geffin/article/details/90269633 String 类的定义 public final class String implements java.io.Serializable, Compara 阅读全文
posted @ 2021-03-17 15:21 腾龙皓月 阅读(92) 评论(0) 推荐(0)
摘要: 1.首先用top命令,观察cpu占用情况,同时确定pid 2.查看该进程的gc状态 jstat -gc 22283 5000 每5 秒一次显示进程号为 12538的 java进成的 GC情况,结果如下图: 3. jmap -heap 22283 查看各个代的内存使用以及jvm 配置 4.查看对象情况 阅读全文
posted @ 2021-03-17 11:00 腾龙皓月 阅读(176) 评论(0) 推荐(0)
摘要: 1.多线程的几种实现方式 2. volatile的原理,作用,能代替锁吗 保证可见性和有序性,不保证原子性 1.JMM内存模型 Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范。 与JVM内存模型不同的是,JMM规定所有变量都存 阅读全文
posted @ 2020-12-11 19:57 腾龙皓月 阅读(78) 评论(0) 推荐(0)