2021年11月16日
摘要: 再接再厉吧 既然开通的个人公众号,那以后就要更加严谨,认真的去写每一篇文章。公众号名字随便取的,叫了个 后端元宇宙,哈哈。希望大家多多关注支持呀。 以后文章优先推送公众号哈 阅读全文
posted @ 2021-11-16 13:53 雨点的名字 阅读(279) 评论(6) 推荐(2) 编辑
  2022年5月9日
摘要: 一、一个示例回顾Future 一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。 JDK5新增了Future接口,用于描述一个异步计算的结果。虽然 Future 以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便, 我们必须使用 **Future.get() **的 阅读全文
posted @ 2022-05-09 22:07 雨点的名字 阅读(212) 评论(0) 推荐(3) 编辑
  2022年5月6日
摘要: 对于开发的API文档,我们可以通过Swagger等工具来自动生成了。但是对于数据库表结构的文档呢,在实际开发中在开发前我们一般会先设计好表结构,大家讨论一下, 这个时候就很需要有个数据库表结构的文档,如果常规操作就是一通无脑的 CV 大法,产出一份小几十页的 Word 文档,这样不仅容易出错,而且如 阅读全文
posted @ 2022-05-06 08:26 雨点的名字 阅读(1202) 评论(0) 推荐(7) 编辑
  2022年3月22日
摘要: 一、聊聊什么是硬编码使用缓存? 在学习Spring Cache之前,笔者经常会硬编码的方式使用缓存。 我们来举个实际中的例子,为了提升用户信息的查询效率,我们对用户信息使用了缓存,示例代码如下: @Autowire private UserMapper userMapper; @Autowire p 阅读全文
posted @ 2022-03-22 20:58 雨点的名字 阅读(534) 评论(0) 推荐(0) 编辑
  2022年3月7日
摘要: 有关Assert断言大家并不陌生,我们在做单元测试的时候,看业务事务复合预期,我们可以通过断言来校验,断言常用的方法如下: public class Assert { /** * 结果 = 预期 则正确 */ static public void assertEquals(Object expect 阅读全文
posted @ 2022-03-07 22:40 雨点的名字 阅读(626) 评论(1) 推荐(2) 编辑
  2022年2月9日
摘要: MVCC实现原理也是一道非常高频的面试题,自己在整理这篇文章的时候,感觉到网上的资料在讲这块知识点上写的五花八门,好像大家的理解并没有一致。 这里将自己所理解的做一个总结,个人会觉得这是一篇含金量挺高的一篇文章(哈哈),所以请你坚持认真的看下去,一定会对你有收获。 如果文章中哪里没有理解,或者认为我 阅读全文
posted @ 2022-02-09 21:01 雨点的名字 阅读(870) 评论(1) 推荐(3) 编辑
  2022年1月16日
摘要: 在生产环境中如果出现MySQL死锁问题该如何排查和解决呢,本文将模拟真实死锁场景进行排查,最后总结下实际开发中如何尽量避免死锁发生。 一、准备好相关数据和环境 当前自己的数据版本是8.0.22 mysql> select @@version; + + | @@version | + + | 8.0. 阅读全文
posted @ 2022-01-16 21:50 雨点的名字 阅读(2215) 评论(0) 推荐(3) 编辑
  2022年1月10日
摘要: 高可用有两个含义:一是数据尽量不丢失,二是保证服务尽可能可用。 AOF 和 RDB 数据持久化保证了数据尽量不丢失,那么多节点来保证服务尽可能提供服务。 一般在实际生产中,服务不会部署成单节点,主要是有三个原因. 容易出现单点故障,导致服务不可用 单节点处理所有的请求,吞吐量有限 单节点容量有限 为 阅读全文
posted @ 2022-01-10 21:04 雨点的名字 阅读(249) 评论(0) 推荐(0) 编辑
  2022年1月5日
摘要: 为什么要持久化 Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘中,那么一旦服务器进程退出,服务器的数据库状态就会消失(即断电即失)。为了保证数据不丢失,我们需要将 内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。 Red 阅读全文
posted @ 2022-01-05 21:07 雨点的名字 阅读(649) 评论(1) 推荐(5) 编辑
  2021年12月30日
摘要: 前言 如果问你redis有哪些数据结构,你肯定可以一口气说出五种基本数据结构: String(字符串)、Hash(哈希)、List(列表)、Set(集合)、zset(有序集合) 你或许还知道它还有三种特殊的数据结构类型:Geospatial、Hyperloglog、Bitmap。 但如果问你在实际项 阅读全文
posted @ 2021-12-30 21:14 雨点的名字 阅读(881) 评论(0) 推荐(0) 编辑
  2021年12月22日
摘要: Redis作为高性能非关系型(NoSQL)的键值对数据库,受到了广大用户的喜爱和使用,大家在项目中都用到了Redis来做数据缓存,但有些问题我们在使用中不得不考虑,其中典型的问题就是:缓存穿透、缓存雪崩、缓存击穿和与关系型数据库的一致性。 一、缓存穿透 1、概念 缓存穿透是指查询一个缓存和数据库不存 阅读全文
posted @ 2021-12-22 22:47 雨点的名字 阅读(952) 评论(0) 推荐(4) 编辑
  2021年12月13日
摘要: 生成间隙(gap)锁、临键(next-key)锁的前提条件 是在 RR 隔离级别下。 有关Mysql记录锁、间隙(gap)锁、临键锁(next-key)锁的一些理论知识之前有写过,详细内容可以看这篇文章 一文详解MySQL的锁机制 这篇主要通过小案例来对记录锁、间隙(gap)锁、临键(next-ke 阅读全文
posted @ 2021-12-13 09:18 雨点的名字 阅读(1079) 评论(0) 推荐(2) 编辑
  2021年12月10日
摘要: 本文会详细介绍Spring Validation各种场景下的最佳实践及其实现原理,死磕到底! 项目源码:spring-validation 一、简单使用 Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation 阅读全文
posted @ 2021-12-10 09:42 雨点的名字 阅读(432) 评论(0) 推荐(1) 编辑
  2021年12月3日
摘要: 一、删除远程仓库上被忽略的文件 由于种种原因,一些本应该被忽略的文件被我们误操作提交到了远程仓库了。那么我们该怎么删除这些文件呢? 以误提交了.idea目录为例,我们可以通过下面的步骤处理: 1)我们首先应该清除暂存区的.idea文件,执行命令 # -r代表删除的是文件或者文件夹 --cached 阅读全文
posted @ 2021-12-03 13:46 雨点的名字 阅读(628) 评论(1) 推荐(2) 编辑
  2021年12月1日
摘要: 在SpringBoot的大环境下,基本上很少使用之前的xml配置Bean,主要是因为这种方式不好维护而且也不够方便。 因此本篇博文也不再介绍Spring中通过xml来声明bean的使用方式。 一、注解装配Bean 1、使用@Component等派生注解 只要在类上加类上加 @Component 注解 阅读全文
posted @ 2021-12-01 09:31 雨点的名字 阅读(2400) 评论(0) 推荐(3) 编辑
  2021年11月25日
摘要: 一、前言 单例模式无论在我们面试,还是日常工作中,都会面对的问题。但很多单例模式的细节,值得我们深入探索一下。 这篇文章透过单例模式,串联了多方面基础知识,非常值得一读。 1、什么是单例模式? 单例模式是一种非常常用的软件设计模式,它定义是 单例对象的类只能允许一个实例存在。 该类负责创建自己的对象 阅读全文
posted @ 2021-11-25 11:15 雨点的名字 阅读(920) 评论(4) 推荐(4) 编辑