自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Daniel的博客

拥抱技术与生活 欢迎关注公众号获取学习资料(后台留言):后端开发技术

  • 博客(321)
  • 收藏
  • 关注

原创 精通MyBatis原理,看这两篇就够了!(二)

本文是关于MyBatis源码的第二篇,解读了MyBatis的核心执行SQL流程,对源码做了详细注释。内容较长,推荐电脑阅读。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达执行阶段流程第一篇文章讲解了Mybatis启动阶段的流程,大家自行阅读。这里将讲解剩余的执行阶段流程,涉及的主要内容如下:根据方法签名,获得mapper对应的代理对象。通过JDK动态代理找到对应的执行逻辑,获得数据...

2022-12-25 23:48:35 710

原创 大厂程序员常用的几款「高效工具」,已整理资源!

分享一些程序员常用的高效工作工具,文中已附带资源链接和获取方式。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达古语有云,欲先攻其事必先利器,这句话用在编程中也是同一个道理,好的工具会在学习和工作中帮助我们极大地提升效率。优秀的程序员之所以优秀的原因并不一定是他写代码的速度比所有人都快,但是他解决事情的效率一定是比很多人都要高的。下面来给大家分享一些程序员的高效实用工具,强烈建议收藏...

2022-12-20 23:55:37 486

原创 MySQL主从复制太慢,怎么办?

本文分析了MySQL主从延迟的原因以及介绍了MTS方案。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达mysql主从同步延迟原因导致备库延迟的原因主要有如下几种:通常备库所在机器的性能要比主库所在的机器性能差,执行备份自然会更慢。备库的读压力大。在备库过多的执行繁重的查询任务。大事务。因为主库上必须等事务执行完成才会写入 binlog,再传给备库。一次性地用 delete 语句删除...

2022-12-15 23:54:48 333

原创 引入新模块都在用这个注解,它是如何生效的?|原创

本文讲解了@Enable 类注解是如何生效的以及其核心注解 @Import 的原理,并且用 @EnableAsync 注解来举例。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达在项目开发的过程中,我们会遇到很多名字为 @Enablexxx 的注解,比如@EnableApollo-Config、 @EnableFeignClients、 @EnableAsync 等。他们的功能都是通...

2022-12-11 23:20:51 410

原创 Dubbo SPI机制核心原理,你掌握了吗?|原创

这篇文章内容很干,做好心理准备!本文详细讲解了 Dubbo SPI 诞生原因以及它的用法,并且详细解读了核心类 ExtensionLoader 的关键属性,再根据demo 对 SPI 的加载原理进行详细解读。文章较长,建议收藏!文末有原理图。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达为什么不使用 JDK SPI我们接着上次的文章讲,既然已经有了 JDKSPI 为什么还需要 D...

2022-12-08 22:48:20 283

原创 一张图让你牢记MySQL主从复制原理|原创

本文深入浅出的讲解了MySQL面试中的必考内容——主从同步原理,牢记文中的主从同步流程图即可!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达为什么需要主从复制?1、读写分离,增强MySQL数据库的可用性。2、做数据的热备。3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。什么是mysql的主从复制...

2022-12-06 23:53:45 623

原创 重点问题!CPU利用率过高排查思路|原创

本文讲解了重点面试问题CPU利用率高如何排查和解决。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达CPU利用率高怎么办?如何排查和解决这是一个常见的面试问题,也是线上常遇到的问题之一。遇到线上服务器异常告警,我们的首要目标不是定位问题,而是尽快恢复服务可用,消除影响。往往这种时候不能一次性定位并解决问题,如果服务不可用我们要优先让服务可用,如果有数据异常我们要优先修复数据,也可能对...

2022-12-02 18:17:01 2827 1

原创 被问到可重入锁条件队列,看这一篇就够了!|原创

本文深入解读了高频面试点——ReentrantLock的条件队列使用方法及其原理。源码有详细注释,建议收藏阅读。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达Jdk中独占锁的实现除了使用关键字synchronized外,还可以使用ReentrantLock。虽然在性能上两者没有什么区别,但ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更...

2022-11-26 20:30:28 589

原创 ReentrantLock如何实现公平和非公平锁?

本文讲解了ReentrantLock是如何实现公平和非公平两种锁的原理。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达上一篇文章,我详细讲解了ReentrantLock的加锁和解锁的原理,请自行阅读。重点,一文掌握ReentrantLock加解锁原理!|原创看完之后,大家可能有一个疑问。为什么继承AQS实现的ReentrantLock,获取锁不成功都需要进入同步队列,那后续解锁并且...

2022-11-25 23:08:43 607

原创 重点,一文掌握ReentrantLock加解锁原理!|原创

本文详细讲解了 ReentrantLock 加锁和释放锁的原理,以及和 Synchronized 的对比。本文较长,建议收藏!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达简要总结 ReentrantLock实现原理:volatile 变量 + CAS设置值 + AQS + 两个队列实现阻塞:同步队列 + CAS抢占标记为 valatile 的 state实现等待唤醒:await ...

2022-11-24 23:58:47 667

原创 除了MVCC,Undo Log 还有哪些作用?|原创

本文详细讲解了Undo Log的三大核心作用和原理。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达之前已经讲过了 Redo log,Binlog,并且很详细,请自行阅读,这次我们把最后一个重要日志 Undo Log 补上。「原创」不会没事!带你深入理解binlog写入机制2022-06-04 「原创」竟然redolog写入机制都不懂…怎么破?2022-06-03Undo Log 就...

2022-11-23 23:49:04 197

原创 update在MySQL中是怎样执行的,一张图牢记|原创

本文讲述了一条SQL语句在MySQL中的执行流程。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达面试问题:假设现在执行SQL :update table_test set a=a+1 where id=2; ,它在 MySQL 中,底层是怎样执行的呢,请你描述这个过程?这考验的是我们对 MySQL 结构的理解,一般人也就回答一下连接器,优化器这几个点。但是如果想脱引而出,可以回答的...

2022-11-19 23:59:09 868

原创 讲真,这篇最全HashMap你不能错过!|原创

HashMap作为Java中最常用的集合类之一,已经几乎成为面试中必问的知识点,但是从这个常见的问题中也可以问的很有区分度,可以初步打探到一个面试者的源码功底。笔者结合面试经验并不断总结并分享出这份私人资料,这可能是你见过最全面的HashMap源码及面试题解读。如果帮助到你,欢迎点赞转发。简答HashMapHashMap的内部存储结构其实是数组+链表的组合,JDK8之后新增了红黑树。HashMap...

2022-11-17 23:11:42 339

原创 MySQL主从数据不一致,怎么办?

先给大家说个身边的故事。小伙伴二狗最近面宇宙厂,前面被问MySQL索引、锁、主从复制原理时答的都很开心。当面试官问到:“你们遇到主从不一致的问题怎么解决呢?你有什么更好的方案吗?”二狗懵了。不就是读写时候走主,纯读走从吗。。难道还有什么别的办法?面试官:emmm……有。那我们换个问题,主从复制的方式有几种,你能讲讲吗?二狗:…… 问到盲点了面试官:答不上来没关系,您的情况我基本了解了。感谢您参加...

2022-11-15 22:53:19 5379

原创 从二叉查找树到B*树,一文搞懂搜索树的演进!|原创

本文从二分查找讲起,讲解了BST、AVL、红黑树、B树、B+树最后到B*树的演进过程,知其所以然!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达在计算机中有一些数据结构总是与数据的查找分不开,比如二叉查找树(Binary Search Tree)、红黑树、B树、B+树等等数据结构。你可曾想过为什么会有这么多种用于搜索的数据结构?为什么红黑树结构在计算机中内存中被广泛应用?为什么My...

2022-11-14 12:11:50 130

原创 线程状态有几种,简单问题资料却都错了!|原创

常见面试题:Java线程状态以及对应的流转方法解答。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达问:Java 中的线程有几种状态?看到这个问题很多人都会轻蔑一笑,这么简单的问题还需要问吗?确实要问,而且这个问题在面试中出现的比例很高。这个简单的问题在百度上搜一搜,答案众说纷纭,有说五种,有说六种,有说七种,到底哪个才是正确的呢?要回答这个问题就要明白面试官是想问你什么。他关心的是...

2022-11-02 22:14:15 165

原创 关于Redis事务那些必会的问题

Redis事务知道的人并不多,这里总结了一些常见的重点问题。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达什么是事务?事务是一组逻辑操作。事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务是一个原子操作,事务中的命令要么全部被执行,要么全部都不执行。事务通常具有以下四大特性,原子性(Atomicity...

2022-10-30 14:58:49 247

原创 5分钟搞定,Redis的哈希表何时扩容?|原创

今天讲一道面试中区分度比较高的题:请你详细讲讲 Redis 中 hash 结构何时扩容(何时rehash)?点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达这道题已经超出了一般面试中只问到数据类型的层次,要求面试者阅读过 Redis 源码,并且深入探究过 Hash 编码的扩容过程。哈希表在 Redis 中,哈希数据类型的底层实现是hash表、压缩列表,在未来 6.2以后 listpa...

2022-10-24 22:12:45 1004

原创 问到ThreadLocal,看这一篇就够了|原创

ThreadLocal 原理和常见问题详解。已同步更新到博客中,点击阅读原文查看。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达ThreadLocal 是什么?ThreadLocal 是线程本地变量。当使用 ThreadLocal 维护变量时,ThreadLocal 为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程。Thread...

2022-10-13 21:12:29 292

原创 从HotSpot源码,深度解读 park 和 unpark |原创

我最近建立了一个在线自习室(App:番茄ToDO)用于相互监督学习,感兴趣的小伙伴可以加入。自习室加入码:D5A7A644点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达Java 并发包下的类基本都是基于AQS(AbstractQueuedSynchronizer)框架实现的,而 AQS 线程安全的实现又是基于两个很关键的类 Unsafe 和 LockSupport。其中 Unsaf...

2022-10-07 23:36:47 732

原创 博客竟然没有评论系统?Gittalk插件踩坑指南|原创

本文详细讲解了如何利用 Gittalk 为你的博客或者 GitHub Pages 快速增加评论插件,并且详细讲解了其中可能遇到的问题,非常易于上手!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达使用GitHub Page 或者 Gitee Page搭建好静态网页博客之后,只有文章没有互动会显得很枯燥,但是需要评论功能就需要去撸业务代码,这样的成本未免太高。(如何搭建Pages请查看...

2022-09-23 21:09:01 852

原创 你是否想过,GitHub Pages也可以自动构建?|原创

本文讲述了如何利用 GitHub Actions 来自动构建 GitHub Pages 项目,免去繁琐的手动构建再提交过程,让你专注于写作。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达GitHub Actions 自动构建之前的文章我们已经讲过了如何利用 GitHub Pages 快速搭建一个自己的博客,并且我对现有比较热门的几个静态网站生成框架进行了对比,结论是选择 Hugo ...

2022-09-18 15:34:31 418

原创 CentOS常见问题应对,升级make和gcc版本

本文讲解了编译源码过程中的常见问题,以及如何升级make和gcc版本。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达今天讲一个 CentOS 中编译时的常见问题:在编译源码过程中 make 或者 gcc 版本过低导致的异常 configure: error。具体报错如下:configure:error:***Thesecriticalprogramsaremissi...

2022-09-15 22:45:29 13404 6

原创 简单!这可能是最快速的个人博客搭建姿势!|原创

本文讲解了如何创建自己的 GitHub Pages,并且详细讲解了如何快速使用 Hugo 配合 Markdown 生成属于自己的静态博客。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达GitHub Pages,一般多用于托管个人的静态网站,所以现在很多人也用来它来搭建私人博客,省去了购买服务器、域名等等一系列复杂的操作。如果你想方便、简约并且体现极客精神,那么我强烈推荐你拥有一个自...

2022-09-13 21:07:06 230

原创 Java后端面试该复习什么?只需一张图|原创

面试要点知识网络总结,收藏就对了!后续会针对专题做更新点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达马上就是金九银十求职季了,在今年这个恶劣的大环境下,换个更好的工作甚至只是换个工作都并不容易。这不前两天任正非在网上传出“寒气”,未来的企业要准备好过苦日子,岗位只会更少,那我们未来的求职压力只会更大。所以,在准备面试的时候对于面试要点做到心中有数,有完善的知识网络,可以让我们有的放...

2022-08-25 23:44:32 481

原创 如果你不甘心CRUD,那需要看这篇设计模式!|原创

本文首先聊到很多程序员最大的痛点难以摆脱CRUD,以及为什么要学习设计模式,然后介绍了三种容易混淆的设计模式:策略、装饰器、代理。最后给出了如何运用在实际生产中的例子。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达为什么要学习设计模式为什么要说设计模式?大家第一个想到的就是在求职时,岗位要求基本都有熟悉设计模式。有些人觉得,这不就是面试造火箭,工作拧螺丝吗?如果你这么想,那就真的错...

2022-08-17 23:48:55 439

原创 5分钟学会Redis原理,ZipList和IntSet|原创

上一篇我们讲解了 Redis 中 String 数据类型的底层编码方式,今天我们继续探究 Redis 源码,主题是 ZipList 和 IntSet。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达当学习完今天的内容将建立起如下关于 Redis 数据结构的知识框架:后续我们还会继续补充,往期文章请看:大多人都不会这个问题,深入理解Redis字符串|原创2022-08-09 ZIP L...

2022-08-13 09:29:26 176

原创 大多人都不会这个问题,深入理解Redis字符串|原创

我们继续讲解Redis系列重点知识讲解—字符串的底层原理,今天的所要讲的属于进阶内容,能回答出来可以秒杀90%的面试者。‍上篇文章讲解了怎么学习Redis、常见的面试问题以及答案,请自行阅读。只会Redis?面试也可以脱颖而出|原创大家都知道Redis有5种基本数据类型,但是你知道每种数据类型对应的底层编码或者数据结构是什么样的吗?这在面试中是一个有区分度的问题,如果你不会,那么非常有必要继续阅读...

2022-08-09 22:00:24 145

原创 只会Redis?面试也可以脱颖而出|原创

本文介绍了如何学习Redis,并且列举了常见重点面试题以及答案。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达Redis 作为一种非常广泛被应用的内存数据库,基本是面试中的一个必考点,并且通过对于Redis知识点的考察,同样的问题可以有着完全不同的区分度。我们即将开启一个系列的文章,讲讲如何靠Redis在面试中脱颖而出。Redis中知识点众多,想要做的比别人优秀就需要有明确的学习R...

2022-08-08 23:52:18 194

原创 Linux常用命令总结(建议收藏)

无论你是编程小白还是职场老手,都建议你收藏这份常用 Linux 命令手册。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达无论是后端程序员还是前端程序员,一定避免不了和Linux系统打交道。可能是自己在学习的时候搭建虚拟机环境,也可能是在公司测试环境进行服务的维护,甚至可能去线上服务器进行生产问题的排查。这就要求我们要熟练使用Linux命令行,相关的常用命令很可能不经常使用就忘了,这...

2022-07-14 21:09:23 263

原创 Dubbo 原理,服务是如何注册的?

本文讲解了服务发布过程中最后一个阶段的详细原理——服务是如何注册在注册中心的。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达之前的文章我们讲解了服务在发布时有三个阶段:准备、发布服务、注册服务。之前两个阶段已经详细讲解过,这篇文章将讲解最后一个阶段服务的注册。前置知识不懂的请移步这篇文章。Dubbo原理,服务暴露的前置工作|原创「后台回复"dubbo源码"获得源码笔记仓库地址」服务...

2022-07-12 23:56:11 1383

原创 Dubbo 原理,服务暴露的过程|原创

上一篇文章讲了 Dubbo 服务发布过程中的准备阶段,这篇文章将讲解Dubbo中重要的概念 Invoker 对象的生成,以及 provider 服务的发布过程。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达导出Dubbo服务前置工作做完,接下来就可以进行服务导出了。服务导出分为导出到本地 (JVM),和导出到远程。在深入分析服务导出的源码前,我们先来从宏观层面上看一下服务导出逻辑。...

2022-07-11 11:42:52 208

原创 Dubbo原理,服务暴露的前置工作|原创

本文详细解读了Dubbo服务暴露的入口,以及服务暴露过程的第一阶段——前置工作的原理。‍注意,本文参考了部分官网对于源码的解读,但是本文使用的是Dubbo 2.0的最新版2.7.15,与官方解读的示例代码出入较大。在本系列结束之后,会放出注释版本的源码,请继续关注!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达Dubbo 如何通过 Spring 启动阅读源码就需要找到入口,Dubb...

2022-07-09 22:53:04 246

原创 dubbo重点,SPI的自适应扩展原理|原创

本文从为什么需要自适应扩展的提问引出自己如何实现以及推理 Dubbo 如何实现,这些铺垫可以帮助读者更好的理解后文对 Dubbo自适应扩展源码的解读。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达很多人在学习SPI的时候将@SPI和@Adaptive注解混在一起学习,最后学得晕晕乎乎看完之后似懂非懂,如果你也有这种困扰,请继续阅读。并不是说不该将这两个内容一起学习,而是要有个先后...

2022-07-02 22:34:00 274

原创 Redis底层编码解读 — ZipList和IntSet

点击上方“后端开发技术”,选择“设为星标” ,优质文章和资源,及时送达上一篇我们讲解了 Redis 中 String 数据类型的底层编码方式,今天我们继续探究 Redis 源码,主题是 Z...

2021-12-06 19:44:20 460 2

原创 提升篇|Redis底层编码解读—字符串

我们继续讲解Redis系列重点知识讲解,今天的所要讲的属于进阶内容,能回答出来可以秒杀90%的面试者。往期文章请看:如何靠Redis在面试中脱颖而出大家都知道Redis有5种基本数据类型,...

2021-12-05 20:39:03 516

原创 如何靠Redis在面试中脱颖而出

点击上方“后端开发技术”,选择“设为星标” ,优质文章和资源,及时送达Redis 作为一种非常广泛被应用的内存数据库,基本是面试中的一个必考点,并且通过对于Redis知识点的考察,同样的问...

2021-12-04 18:27:28 329

原创 手把手搭建 MySQL5.7 环境

点击“后端开发技术”,选择“设为星标”优质文章,及时送达看到这里你可能会觉得很好笑,MySQL 我都用这么久了,怎么搭建还需要你教吗?其实不然,我们在实操练习的时候经常会用到MySQL...

2021-11-24 16:58:10 1580

原创 必会Redis单节点、Sentinel和Cluster操作实战

点击“后端开发技术”,选择“设为星标”优质文章,及时送达本篇文章讲述了 Redis 单机环境、主备、哨兵 Sentinel 模式以及 Redis Cluster 集群模式下的操作步骤,...

2021-09-28 17:24:00 450

原创 开发攻城狮必备的Linux虚拟机搭建指南

点击上方“后端开发技术”,选择“设为星标” ,优质文章和资源,及时送达这篇文章主要面对的是不常搭建Linux操作系统环境的开发同学,文中介绍了基本操作步骤并且提供了相关云盘资源,都是为了...

2021-01-31 13:27:53 286

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除