自定义博客皮肤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)
  • 收藏
  • 关注

原创 详解Kafka分区机制原理|Kafka 系列 二

Kafka 系列第二篇,详解分区机制原理。为了不错过更新,请大家将本号“设为星标”。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达上一篇文章介绍了 Kafka 的基本概念和术语,里面有个概念是 分区(Partition)。kafka 将 一个Topic 中的消息分成多份,分别存储在不同的 Broker 里,这每一段消息被 kafka 称为分区,其中每条消息只会保存在一个分区中。如果...

2023-08-06 18:02:44 1946

原创 开始学习 Kafka,一文掌握基本概念|Kafka 系列 一

如果你还不了解 Kafka,或者也打算深入探索、系统学习,那么欢迎有同样目标的小伙伴可以加群交流,让学习之路不再孤独。一个人可能走的很快,但是一群人会走的更远。(后台回复:加群)点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达为什么学习 KafkaKafka 在当下求职市场中可以说是应聘的必备条件之一,想要应聘高薪岗位,就需要熟练掌握这款优秀的消息引擎。对于当下环境来说,各个公司尤其...

2023-08-01 17:57:31 859

原创 如果你还不知道SAGA,那这篇不容错过!|分布式事务系列(五)

这是分布式事务系列的第五篇,如果之前文章没读请自行前往。精华专题,强烈建议收藏。‍本文详细讲解了分布式事务解决方案——SAGA。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达SAGA事务什么是SAGA事务SAGA 的意思是“长篇故事、长篇记叙、一长串事件”。SAGA 事务模式的提出非常早,甚至早于分布式事务概念的提出。SAGA 于 1987 年由普林斯顿大学的 Hector Gar...

2023-05-10 19:14:29 1098 1

原创 这可能是你读过最透彻的TCC方案讲解|分布式事务系列(三)

本文从两个场景说起,详细描述了TCC的详细过程,以及对比2PC有什么区别,适用什么样的场景。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达在面试前复习 TCC 的时候你是不是这样做的:百度TCC关键词,随便找了篇文章,查询到他有try、confirm、Cancel 三个阶段,业务侵入度高,和两阶段差不多。复习完毕。如果你是这样去理解和复习的,只能说对 TCC 的理解太不到位了,真的...

2023-05-08 22:50:02 397

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

hi,我是阿笠!这篇文章主要面对的是不常搭建Linux操作系统环境的开发同学,文中介绍了基本操作步骤并且提供了相关云盘资源,都是为了节约时间!因为从我自身来讲,作为一名后端开发,经常需要练习一些实操技术,比如Redis集群、LVS、Zookeeper等集群环境的搭建,虽然搭建过许多次的环境,但是相隔一段时间还是会忘记一些操作细节,从头开始踩坑或者寻找相关资源非常浪费时间。(所有文中相关以及常用软件...

2023-05-01 23:41:23 798

原创 只需5分钟,深刻理解本地事务状态表方案|分布式事务系列(四)

之前我们已经讲过了最基础的CAP、BASE理论,然后介绍了强一致性方案XA、2PC和3PC,然后详细讲述了TCC在生产中的应用场景和原理。本文继续讲解最终一致性方案——本地事务状态表方案。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达本地事务状态表本地事务状态表的方案中主要有三种角色:调用方、被调用方、定时任务。我们都知道,分布式事务之所以很难保证一致性,但是本地事务却可以,就是因...

2023-04-28 23:07:36 1284

原创 从“白嫖”思维谈起,聊到我的成长

你是否有过这样的想法。只是做过传统或者外包项目,如何去更好的公司?没有高并发经验,项目不够有B格,如何去大厂?只会空谈,这些技术框架在真正的生产中是如何应用的?这些问题看似和标题没有关系,且听我继续“胡掰”。从送书活动引起的思考昨天我发起了一个送书活动,按照一定规则抽取一名支持我的幸运读者送出一本百元以内的书籍,虽然还没到截止时间,但是结果并不如意。按照我的想象,这种单纯因为自己开心而白送别人东西...

2023-04-27 22:07:41 251

原创 不是广告!!迎来1w粉丝,本号送书啦!|原创

hi,我是阿笠。经过从去年6月到现在的佛系运营,终于迎来第 10000 个粉丝!同时也为了庆祝????我入职新公司和迎来五一节日,准备搞个送书活动!凡在本文文末留言或者赞赏的读者,将被抽取一位送出一本书。长期坚持原创不易,请支持我的读者踊跃参与!中奖规则如下,按优先级排序:优先选择赞赏金额最多的用户。优先选择赞赏次数最多的用户。无人赞赏,评论区随机选择。书籍某宝自选,本号小本经营,价格限制100元以内。...

2023-04-26 20:08:37 84

原创 程序员,停止焦虑吧!|原创

hi,我是阿笠。今天聊聊程序员的焦虑问题。不知道是我看到的消息被定向推送,还是因为现实环境就这样,似乎越来越多的人都被焦虑所困扰。我也是其中一员。失眠、焦虑前段时间因为睡眠困扰,我去看了医生,医生给出的诊断结论是有轻度焦虑。焦虑是因为对自己或者亲人的命运、前途、或者生命安全等因为过度担心而产生了一种烦躁情绪。有很多成分,比如忧愁、紧张、对未知的恐惧、不安等等。信息技术的特点就是信息加技术,所以作为...

2023-04-24 19:32:04 243

原创 2023年,逆势拿到大厂Offer,我怎么做?|原创

关于面试,做一些经验分享。过年时候默默给自己定下了3个目标。第一个就是2023要换一份喜欢的工作。没想到在4月就提前实现了这个目标。是一个我很看好的大厂,期待的岗位、看好的方向,薪资涨幅也比较给力。最近这段时间没空发文章,如果是已经在粉丝群的小伙伴可能已经知道,我最近一直在忙离职、搬家、入职新公司的事情。文章目的如果你最近也在关注市场的机会,那你可能会发现这个“金三银四”并没有想象中的热闹,岗位依...

2023-04-22 00:00:16 680

原创 面试如何脱引而出?Redis字符串底层原理你掌握了吗

今天我们讲解字符串的底层原理,属于进阶内容,能回答出来可以秒杀80%的面试者。‍大家都知道Redis有5种基本数据类型,但是你知道每种数据类型对应的底层编码或者数据结构是什么样的吗?这在面试中是一个有区分度的问题,如果你不会,那么非常有必要继续阅读这里只列举出不同数据类型的主要编码实现,并非全部。主要的底层编码有这几种:•简单动态字符串•双向链表 •整数•哈希表...

2023-04-17 00:34:34 397

原创 一文读懂MySQL的RedoLog写入机制和配置|原创

本文简要讲解了MySQL中 redolog 的写入机制,这有助于深入理解MySQL数据一致性和持久性的实现,也可以学习到如何利用 redolog 调优 MySQL 的 IOPS。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达redo log 写入机制在MySQL更新数据的时候,是先更新数据,然后生成redolog,此时redolog是prepare 状态,然后保存binlog,紧接...

2023-04-05 23:58:38 916 1

原创 一文读懂MySQL的BinLog写入机制|原创

本文深入讲解了MySQL中的重要日志 binlog 的写入机制以及影响IO性能的关键配置,并且介绍了如何利用binlog去恢复数据,保证MySQL的可靠性。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达binlog 写入机制binlog 的写入逻辑并不复杂:事务执行过程中,先把日志写到 binlog cache,事务提交的时候,再把 binlog cache 写到 binlog 文...

2023-04-04 00:26:26 955

原创 TCC真没这么简单,一文讲透|分布式事务系列(三)

本文从两个场景说起,详细描述了TCC的详细过程,以及对比2PC有什么区别,适用什么样的场景。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达在面试前复习 TCC 的时候你是不是这样做的:百度TCC关键词,随便找了篇文章,查询到他有try、confirm、Cancel 三个阶段,业务侵入度高,和两阶段差不多。复习完毕。如果你是这样去理解和复习的,只能说对 TCC 的理解太不到位了,真的...

2023-03-29 22:33:58 800

原创 分布式事务,强一致性方案有哪些?|分布式事务系列(二)

继续分布式事务专题:本文讲解的是强一致性解决方案XA、2PC、3PC。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达接着上一篇文章,由于我们非常关注数据的一致性,所以总体来说按照一致性强弱的维度分类,解决分布式事务问题可以有以下方案:强一致性方案:XA协议,2PC(两阶段提交)、3PC(三阶段提交)最终一致性方案:TCC,本地事务状态表、本地消息表、可靠消息最终一致性、Rocket...

2023-03-28 00:08:23 910

原创 从二叉查找树到B*树,一文搞懂搜索树的演进!|金三银四系列

对于准备面试这篇再适合不过了!详细讲解了从BST、AVL、红黑树、B树、B+树最后到B*树的演进过程,以及各种结构的优劣。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达在面试中,面试官很容易抛出这样的问题:为什么MySQL多种数据引擎要用B+树不用别的数据结构呢?为什么红黑树结构在计算机中内存中被广泛应用?如果你没有这样体系性的思考过这些问题,那非常应该看这篇文章。本文将从二分查找...

2023-03-25 23:55:10 508

原创 面试官:会SQL调优,那你知道索引合并吗?|金三银四系列

本文详细介绍了 merge index 优化的原理和三种对应的算法。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达什么是索引合优化在使用 explain 命令分析 SQL 执行情况的时候,type列会描述了表如何被连接,这个列的内容直接反映了SQL执行的效率。当里面的内容展示为 index_merge时表示使用了索引合并优化,在这种情况下输出行中的key列包含具体使用的索引。MyS...

2023-03-21 22:51:18 210

原创 CAP、BASE理论真的很重要!|分布式事务系列(一)

这是分布式事务系列的第一篇,带你解密分布式事务的各种解决方案,搞定面试。为了避免错过更新,请将本公众号设为星标点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达在微服务越来越流行的当下,我们应该如何保证不同服务器上数据的一致性?本系列将先从CAP理论和BASE理论说起,之后从一致性强弱的角度梳理当前主流的强一致性方案、最终一致性方案和弱一致性方案,最后总结一下各个方案的特点和适用场景,...

2023-03-17 23:40:04 394

原创 面试官:你是如何预防多线程死锁的?|金三银四系列

高频面试题:如何预防死锁的产生?死锁需要有哪些条件?点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达死锁的条件要知道如何预防死锁,就要首先知道死锁是怎么产生的,有什么必须要条件。具体来讲有四个,如下:互斥条件:同⼀时间只能有⼀个线程获取资源。不可剥夺条件:⼀个线程已经占有的资源,在释放之前不会被其它线程抢占。请求和保持条件:线程等待过程中不会释放已占有的资源。循环等待条件:多个线程互...

2023-03-16 00:09:14 277

原创 分库分表时,如何选择合适的分片算法|金三银四系列

分库分表系列第二篇。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达选择什么分片算法接着上一篇,在我们确定好分片Key之后就要选择使用什么分片算法,还没有阅读请移步这篇。面试没有分库分表经验,那这篇不能错过!|金三银四系列算法方案的选择决定了我们实现的难易程度,最重要的是他会直接影响数据的均匀分布情况,从而影响到我们的分库分表效果。我们还需要考虑以后的扩展性,如果现有分片不够用了怎么...

2023-03-14 22:43:53 269

原创 面试没有分库分表经验,那这篇不能错过!|金三银四系列

分库分表系列第一篇。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达背景分库分表的产生背景主要源于大规模互联网应用的需求。随着互联网应用的不断发展,数据量和访问量不断增加,单一的数据库往往无法满足应用的需求。传统的垂直扩展方式(增加更多的硬件资源)存在成本高、扩展能力受限等问题,因此水平扩展方式逐渐成为了主流。同时,互联网应用的访问模式也日益复杂。传统的主从复制架构难以满足高并发、...

2023-03-12 23:53:28 101

原创 如何自定义Spring Starter?三分钟掌握

关于 Spring Boot 面试中有一个常问的问题:如何自定义一个 starter?点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达场景假设现在场景如下:我写了一个加密组件 daniel-encrypt,需要写一个starter,别人引用我的starter就直接可以开始使用我的组件了,配置文件中添加 config.Daniel.enable=true 即可生效。加密项目 danie...

2023-03-09 23:47:44 331

原创 问到ThreadLocal,看这一篇就够了|金三银四系列

ThreadLocal 原理和常见问题详解,用来复习准没错!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达ThreadLocal 是什么?ThreadLocal 是线程本地变量。当使用 ThreadLocal 维护变量时,ThreadLocal 为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程。ThreadLocal 使用场景主...

2023-03-08 23:18:25 132

原创 Redis和数据库之间的一致性如何保证?|金三银四系列

最近为了帮助大家更有效的准备面试,交流职位信息,我建立了一个面试交流群。有不懂的问题或者最新的面试经历,大家都可以在这里踊跃发言和分享。无法加入请加我微信。(仅限近期有求职的小伙伴)点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达在 Redis 的使用中,有四个非常常见并且重要的异常问题:缓存穿透、缓存击穿、缓存雪崩、缓存和数据库(MySQL)双写一致性问题。如果说前三个是否能遇到可...

2023-03-06 23:02:27 874

原创 今年Java行情崩盘?说好的金三银四呢…

传闻今天看到朋友圈一个小伙伴发了一句:今年Java行情崩盘了?看到这句话之后,我心中是有0.1秒的震惊的。但是又多了0.9秒的合理,想想最近一两年的所见所闻,似乎这在情理之中,于是我去问他看到了什么。于是我简单去搜了一下相关消息。其实从去年就开始有这个说法了,某培训机构综合就业率下跌严重,3个人里有一个人培训结束就等于失业。我的所见所闻以上说的数据都是无法证实的,对于第一条5、6k人挤一个小公司岗...

2023-03-05 23:11:12 3860 2

原创 CountDownLatch的原理是什么?|金三银四系列

近期微信改版,为了避免错过最新文章,请记得在公众号页面点击“设为星标”点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达现在的面试中一定会遇到 JUC 中的问题,而 CountDownLatch就是一个被高频问到的类。我们使用CountDownLatch可以实现等待多个线程执行完毕的功能,实现线程之间的协调,让它们按照我们期望的顺序执行,从而避免了可能出现的并发问题。问:CountDo...

2023-03-04 23:59:15 92

原创 密码传输和存储,如何保证数据安全?

本文从一个输入密码登录场景说起,详细介绍了密码传输过程的改进和思路,最后展现出一个相对安全的传输和存储方案。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达场景在互联网项目中,我们经常会遇到以下场景:用户注册,输入验证码传输到后端保存用户登录,前端输入密码传输到后端验证用户支付,需要输入支付密码传输到后端验证在上述场景中都涉及到了密码涉的传输和存储。这就产生了一个问题,密码作为用户的...

2023-03-01 23:01:18 1525

原创 搭建评论系统,Gittalk插件踩坑指南|玩转GitHub Pages三部曲(三)

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

2023-02-23 23:57:47 981

原创 免去打包烦恼,自动构建你的GitHub Pages|玩转GitHub Pages三部曲(二)

本文讲述了如何利用 GitHub Actions 来自动构建 GitHub Pages 项目,免去繁琐的手动构建再提交过程,让你专注于写作。大家的点赞和互动是我更文的动力/(ㄒoㄒ)/所以我决定发起一项活动,到三月三十一日统计,留言次数和赞赏次数最多的人各将获得赠书一本。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达GitHub Actions 自动构建之前的文章我们已经讲过...

2023-02-23 23:57:47 198

原创 MySQL盲点知识,索引命中分析和长度的计算

我发现啊,大家都喜欢默默收藏文章,每天六七十次收藏,但是就不点赞大家的点赞和互动是我更文的动力/(ㄒoㄒ)/所以我决定发起一项活动,到三月三十一日统计,留言次数和赞赏次数最多的人各将获得赠书一本。点击上方“后端开发技术”,选择“设为星标” ,优质文章和资源,及时送达今天程序猿码不停问了个问题:在MySQL的InnoDB引擎下,有表 test,表中有索引 idx_a_b_c('a', 'b', ...

2023-02-21 23:33:18 551

原创 对垃圾收集器一脸懵B,看这篇就对了|金三银四系列

本文详解了7种垃圾收集器,文章很干,适合用来面试前复习。建议收藏再看!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达上一篇文章讲了垃圾回收算法,它是内存回收的方法论,垃圾收集器则是内存回收的具体实现。我们面试中问到的应该都是 HotSpot 垃圾收集器。如下图一共有七种垃圾收集器,Serial、ParNew、Parallel Scavenge、Serial Old、Parallel...

2023-02-19 23:39:38 118

原创 详解垃圾回收算法,优缺点是什么?|金三银四系列

本文详细介绍了在 JVM 中如何判断哪些对象是需要回收的,以及不同的垃圾回收算法以及优缺点。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达上篇文章详细介绍了 JVM 的结构以及其内存结构,需要阅读请移步。本文主要讲解 JVM 体系中的垃圾收集子系统用到的内存回收算法。八股文总是忘?一张图牢记JVM内存结构|金三银四系列2023-02-13哪些对象需要回收在进行垃圾回收之前,第一件事...

2023-02-18 00:00:01 536

原创 八股文总是忘?一张图牢记JVM内存结构|金三银四系列

金三银四又来啦!八股文还是得复习起来,最近准备把一些常见的八股文知识点聊聊。本文详解了JVM内存结构和各个部分详细内容,应付面试绰绰有余!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达JVM体系基本结构学习JVM内存结构之前,首先要明白它在整个JVM体系中所处的位置。JVM 体系主要是两个部分,JVM的内部体系结构分为三个子系统和两大组件,分别是:类装载器(ClassLoader)...

2023-02-13 23:20:19 470

原创 一文掌握,单机Redis、哨兵和Redis Cluster的搭建,建议收藏

本篇文章讲述了 Redis 单机环境、主备、哨兵 Sentinel 模式以及 Redis Cluster 集群模式下的操作步骤,关于这些操作我们没必要死记硬背,只需要总结下来,下次使用直接拿出来就好。建议当作操作手册收藏。安装单实例 Redis编译Redis1.下载Redis源码包wget https://download.redis.io/releases/redis-5.0.13.tar.gz...

2023-02-11 23:59:48 1212

原创 MySQL事务ACID都知道,原理是什么?附面试题

MySQL作为每个层次程序员面试的必问知识点,对其常用知识精通是必须的。本文内容:本文先列出2022年近期互联网的面试真题,然后介绍了ACID及其原理,并且简要介绍了MySQL中的三大log。2022 MySQL 面试题事务的特性?ACID实现原理是什么MySQL索引的结构?为什么选用B+数?每种数据结构区别优缺点。一个SQL插入在MySQL中执行过程是怎样的?数据库性能瓶颈?如何排查慢SQL?如...

2023-02-07 00:11:29 154

原创 快来后台调戏这个AI,竟然还能调试代码!

周五就要有周五的态度!突发奇想,整了个自动聊天机器人供小伙伴们调戏,通过公众号后台直接发起对话即可。他,文言文信手拈来。他,调试代码检查 Bug 不在话下。到底是什么机器人如此聪明,这不经让我想到了《银翼杀手2049》中的机器人女主。人工智能已经做到了这种程度?他究竟是谁?有些小伙伴可能已经猜到了。对,就是前段时间爆火的 ChatGPT。12月初,互联网刮起了一阵 ChatGPT 风。chatGP...

2022-12-30 17:11:41 649

原创 你阳了吗?可以接种最新加强针疫苗了!

今天不聊技术,唠唠嗑。刚才得知室友全部阳了,不知道我还能撑到多会????‍♂️当前时间,距离全国抗疫政策转向已有一个月时间,大家都不可避免的直面新冠病毒。奥密克戎的传播能力果然很强,短短半个月时间从周围没有人感染到我认识的人几乎都变阳性。所以,你还好吗?依旧在坚守还是已经阳康?对于周围的感染数据我很好奇,这里简单做个读者感染情况小调查。开始的时候,大家纷纷朋友圈打卡自己的“双杠”抗原检测记录,到后来,没...

2022-12-29 21:17:29 537

原创 SpringBoot 这两个配置文件有什么区别?

本文讲解了关于 SpringBoot 自动装配的两个配置文件spring.factories和spring-autoconfigure-metadata.properties有什么区别?点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达读过上一片文章你可能会发现,在自动装配相关源码阅读的过程中涉及到了两个配置文件 spring.factories 和 spring-autoconf...

2022-12-28 23:39:03 714

原创 SpringBoot 自动装配原理,一文掌握!|原创

本文详细讲解了 SpringBoot 自动装配原理,可以直接拉到最后看总结。由于 Spring 源码比较复杂,是需要一些基础的。如果有不懂的地方,欢迎提问!点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达Spring Boot 一个很大的特点就是极大的简化了原来在 Spring 中复杂的 XML 文件配置过程,让我们对 Spring 应用对搭建和开发变得极其简单。既然可以简化配置,那...

2022-12-27 19:17:31 638

原创 精通MyBatis原理,看这两篇就够了!|原创

本文详细介绍了阅读MyBatis源码的学习思路,并且对源码做了详细注释,讲解了整个Mybatis的启动过程。本文篇幅较长,建议收藏阅读,非常适合用于面试前的重点复习。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达为什么学?如何学?为什么要阅读MyBatis源码?因为作为当前最热门的经典ORM框架,在所有框架里Mybatis源码可以说是最简单易懂的,非常适合上手阅读,而且Mybati...

2022-12-25 23:48:35 690 1

空空如也

空空如也

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

TA关注的人

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