摘要:
在实际开发,Redis使用会频繁,那么在使用过程中我们该如何正确抉择数据类型呢?哪些场景下适用哪些数据类型。而且在面试中也很常会被面试官问到Redis数据结构方面的问题: Redis为什么快呢? 为什么查询操作会变慢了? Redis Hash rehash过程 为什么使用哈希表作为Redis的索引? 阅读全文
摘要:
专栏引言 MySQL,一个熟悉又陌生的名词,早在学习Javaweb的时候,我们就用到了MySQL数据库,在那个阶段,MySQL对我们来说似乎只是一个存储数据的好东西,存储时一股脑往里边塞,查询时也是盲目的全表查询(不带一点点优化)。 我们总是自欺欺人的觉得,我们通过其他方面来优化就好了阿,迟迟不愿面 阅读全文
摘要:
大家好,我是小林。 昨天发了一篇关于索引失效的文章:谁还没碰过索引失效呢 我在文末留了一个有点意思的思考题: 图片 这个思考题其实是出自于,我之前这篇文章「一条 SQL 语句引发的思考」中留言区一位读者朋友出的问题。 很多读者都在留言区说了自己的想法,也有不少读者私聊我答案到底是什么? 所以,我今晚 阅读全文
摘要:
简介 ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组 + 链表 + 红黑树)的结构来存储元素。相比于同样线程安全的HashTable来说,效率等各方面都有极大地提高。 在阅读这篇文章之前,如果对HashMap不是很了解,可以阅读这篇文章:深入理解HashMap源 阅读全文
摘要:
最近出去面试,在简历中写了些关于Mybatis的技术点,于是面试官就开始对我不断询问,本文特意记录下面试中遇到的一些问题。 说说什么是Mybatis Mybatis是一款对于Sql进行了一定封装的持久化sql框架,将常用的crud接口进行了一定的封装,减轻了开发人员对于SQL操作的繁琐性。 在工作中 阅读全文
摘要:
1、为什么使用消息队列 以用户下单购买商品的行为举例,在使用微服务架构时,我们需要调用多个服务。传统的调用方式是同步调用,这会存在一定的性能问题 使用消息队列可以实现异步的通信方式,相比于同步的通信式,异步的式可以让上游快速成功,极大提高系统的吞吐量。在分布式系统中,通过下游多个服务的分布式事务的保 阅读全文
摘要:
Redis 中数据的持久化 前言 我们知道 Redis 是内存数据库,所有操作都在内存上完成。内存的话,服务器断电,内存上面的数据就会丢失了。这个问题显然是需要解决的。 Redis 中引入了持久化来避免数据的丢失,主要有两种持久化的方式 RDB 持久化和 AOF 持久化。 AOF 持久化 什么是 A 阅读全文
摘要:
Redis 3.x单线程时代但性能依旧很快的主要原因 基于内存操作:所有数据都存于内存中,读写速度非常快,内存的响应时长约为100纳秒,运算都是内存级别的,因此性能比较高; 数据结构简单:常用的数据结构中有些是专门设计的,如采用自己设计的简单动态字符串(Simple Dynamic String)作 阅读全文
摘要:
本文内容 bean的完整的生命周期 生命周期回调接口 Aware接口详解 Spring Bean的生命周期 面试热题:请描述下Spring的生命周期? 4大生命周期 从源码角度来说,简单分为4大阶段: 实例化 -> 属性赋值 -> 初始化 -> 销毁 实例化 Instantiation 属性赋值 P 阅读全文
摘要:
pageHelper的分页是怎么实现运行的? 下载pageHelper源码,使用pageHelper的官方demo进行Debug试验。 PageHelper.startPage(2, 10, "id desc"); 点进第一个断点 PageHelper.startPage <E> :Element, 阅读全文