MySQL —— 日志系统 redoLog、undoLog、binLog
摘要:参考: 小林Coding:https://xiaolincoding.com/mysql/log/how_update.html ApsaraDB : https://www.alibabacloud.com/blog/an-in-depth-analysis-of-undo-logs-in-inn
阅读全文
LeetCode —— 双指针
摘要:15. 三数之和 (为0) 下标不能是重复的,必定右 i<l<r 1、先对数组排序(从小到大) 2、外层 i 遍历 如果 nums[i] > 0 ,整个 nums[] 后面的必定无法有三元组为0(排过序了,后面的 nums[l] nums[r] 都会大于0)。break。 如果 nums[i] =
阅读全文
MySQL
摘要:1、回表查询与索引覆盖 聚簇索引:主键索引一般是聚簇索引。聚簇索引的非叶子结点记录的是索引,叶子结点记录了对应的数据行(所有的字段)。 非聚簇索引:叶子结点记录的是普通索引列与主键的对应关系(不记录别的字段)。 如果走了普通索引,但想要 select 走的索引之外的字段,那么在根据非聚簇查完之后,就
阅读全文
LeetCode —— 杂
摘要:1. 两数之和 public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> num2IndexMap = new HashMap<Integer,Integer>(); for(int i=0;i<nums.length;i
阅读全文
Redis IO 模型
摘要:参考 小林:Redis 线程模型 @panjf2000 Redis 多线程网络模型全面揭秘 pgnozxzkp4mgq: Redis 6 的多线程 盼盼编程: redis源码客户端和服务端通信过程 公众号:堆栈future:Redis6.0 多线程无锁I/O设计精髓 Redis 有多快? 根据官方的
阅读全文
深入理解 JVM --- Class 类文件结构
摘要:C/C++也作为很多初学初学的语言,它们都是直接编译为机器码,所以执行效率会更高,并且都不需要执行环境,用户的使用成本会更低,不像很多语言还需要安装所需的环境。 也因为这些原因,它们的一次编码或编译只适用于一种平台,对于不同操作系统而言,有时需要修改编码再编译,有时直接重新编译即可。 Java是直接
阅读全文
深入理解 JVM ------ 调优案例分析与实战
摘要:1、大内存硬件上的程序部署策略 网站失去响应是由垃圾收集停顿所导致的,在该系统软硬件条件下, HotSpot虚拟机是以服务端模式运行,默认使用的是吞吐量优先收集器,回收12GB的Java堆,一次Full GC的停顿时间就高达14秒(太大会导致回收停顿时间过长。再加上直接进入老年代,Full GC 次
阅读全文
堆与堆排序
摘要:大顶堆:每个父节点都大于子节点 小顶堆:每个父节点都小于子节点 在堆中,每次加入元素或者移除元素,都要调整堆的位置,使其满足堆的定义。 常用于 topK 问题,k 个最大/最小元素,每次弹出大顶堆/小顶堆 堆顶元素即可。 以及堆排序问题,堆排序可以看成是将待排序的数组元素依次加入堆(每次加入都调整堆
阅读全文
深入理解 JVM---JVM 和 GC 日志 以及 内存分配回收日志
摘要:虚拟机及垃圾收集器日志 1、JDK9 日志 在JDK 9以前,HotSpot并没有提供统一的日志处理框架,虚拟机各个功能模块的日志开关分布在不同的参数上,日志级别、循环 日志大小、输出格式、重定向等设置在不同功能上都要单独解决。 直到JDK 9,这种混乱不堪的局面 才终于消失,HotSpot所有功能
阅读全文