从b+ tree底层分析索引以及优化
什么是索引 数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 大家看下上面的图就很清晰明了了,索引就是查字典嘛,比如说我要去字典里面找个帅字,你肯定不会从头找到尾,一页一页翻吧,你肯定是先去...
什么是索引 数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 大家看下上面的图就很清晰明了了,索引就是查字典嘛,比如说我要去字典里面找个帅字,你肯定不会从头找到尾,一页一页翻吧,你肯定是先去...
小伙们大家好,本篇是并发编程的第三篇,上一节跟大家讲了synchronized,这一节我们来聊聊他的好兄弟volatile,volatile的功能稍微差一点,他只有可见性和有序性,那么他的底层是如何保障可见性和有序性,以及什么是Java内存...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
大家好,我是jack xu,不知道从什么时候开始,本来默默无闻的布隆过滤器一下子名声大燥,在面试中面试官问到怎么避免缓存穿透,你的第一反应可能就是布隆过滤器,缓存穿透=布隆过滤器成了标配,但具体什么是布隆过滤器,怎么使用布隆过滤器不是很清楚...
前言 大家好,我是jack xu,本篇是并发编程的第二篇,今天跟大家聊一聊线程池的那点事。本篇文章有点长,小伙们静下心、耐下心来把他看完。。 为什么要使用线程池 1)降低创建线程和销毁线程的性能开销 2)提高响应速度,当有新任务需要执行是不...
前言 小伙伴大家好,我是jack xu,今天跟大家来聊一聊synchronized。本篇是并发编程中的第一篇,为什么说是第一篇呢,因为并发编程涉及的东西太多太多,晦涩难懂,随便一个知识点拉出来都可以写一篇文章,如此算来写完并发编程一个系列最...
前言 大家好,我是jack xu,本篇是我在掘金的首秀,我的英文名来源于jack ma,马云,所以大家也可以叫我徐云,即我希望像马云一样富有、成功,另外我名字中的杰与jack也是谐音关系。 今天给大家带来的是一篇docker的科普入门篇,本...
在部分存在字数限制的场景下(例如微博的140字限制和长短信拆分),如果填入很长的链接将占用可用的文本长度,需要将长链接转换为短链接。 一、功能分析 一个短链接服务对外仅需要暴露两个功能 1、 短链生成:提交网址,返回生成的短链接 2、 访问...
本文重点并不在于提供一个可运行的Redis分布式锁示例,而是结合图文理解redis的分布式锁实现上的细节,以及为什么要这样做。 实现方式 用伪代码的形式简单介绍实现方式 获取锁 SET resource_name my_random_val...
在业务开发中,定时任务是个很常见的需求,但是当服务器进行水平扩展,部署多个节点之后,分散在多个节点的任务将被重复执行。 如果是定时压缩日志之类的幂等操作的话还好,并不会产生额外的后果。但如果执行的是非幂等操作,例如发送消息通知,导致重复通知...
egg-socket.io 功能 egg-socket.io是对socket.io的一个封装,加上了对router、controller、namespace和middleware的规约。 其中,router与controller主要用于分发...