- 博客(117)
- 收藏
- 关注

原创 个人就能搞定的短信登录,实用!
个人项目:社交支付项目(小老板)作者:三哥,我们花了 44 块钱实现了一个发送短信的工具类,那么这篇就要让其派上用场了,来编写一个通过短信验证码方式实现的用户注册与登录。开始之前呢,你们需要先搭建一个基本的 SpringBoot 项目,方便后续的代码编写(不过多赘述)。
2023-08-23 09:36:44
436

原创 归置归置,我的 2022
记得 2021 年我没有进行年终总结,也就没有发出过相关的内容出来。总结原因就是一个,躺平了,自毕业换工作之后,就一直在适应工作环境与生活环境中默默的度过了 2021 年。但是,今年我不能再鸽了,而且我觉得 2022 年我没有躺平过,做过一些能够改变我足迹的一些事情,而且在技术与生活中也一直维持着不错的平衡,所以今年能和你们好好唠唠我的 2022 了。一年的时间说长不长,说短也不短,我仔细的回顾了整个一年我到底干了些啥。最后发现脑子真是个好东西,我想不起来了,啊哈哈!🤣🤣🤣。
2023-01-03 08:45:00
2063
15

原创 Spring refresh 方法之invokeBeanFactoryPostProcessors 方法解析
上面的 parse 解析逻辑只是将我们的主配置类进行了解析,并且除了包扫描出来的 class 封装成了 Bean 定义注册进了 BeanFacotry 中外,其它像 Import 、@Bean 形式的注入 Bean 还没有对其进行封装 Bean 定义,其还只是一个元数据的状态,所以 loadBeanDefinitions 方法,就是加载这些,将其变为 Bean 定义并且注入到 BeanFactory 中的一个逻辑。进入方法。
2022-10-22 15:48:32
1102
5

原创 阿里面试,HashMap与Redis哈希结构扩容的区别
前段时间在星球里,有星友对我B站上分享的HashMap源码视频提出了一个问题,我觉得他提出的问题非常好,`既有广度又有深度`,要不是我久经沙场(脸皮厚)这么多年,这次可能真要栽在这里了。但还好,凭借我这三寸不烂之舌,即给他完美的解答了疑问,又让我再一次的稳住了声望。...
2022-08-10 08:36:38
1631
4

原创 JUC并发编程基础AQS
获取当前线程获取当前锁的状态state,默认为0判断是否被加锁,就是state不为0的时候第一种没有加锁,调用这个方法compareAndSetState,修改state的值将0变为1,接着讲属性exclusiveOwnerThread的值赋为当前线程,至此当前线程加锁成功!第二种加锁,判断加锁的线程是否为当前线程,如果是则表示重入,将state的值累加就行,否则就是加锁失败1、封装当前获取锁的线程,封装成一个Node节点第一种。条件队列。...
2022-07-25 08:44:55
582
1

原创 刨析 SpringBoot 自动装配原理,其实很简单
J3SpringBoot # 源码 # 自动装配一日我在愉快得遨游时,看到有鱼友在问:SpringBoot 中引入了 Nacos 依赖为啥就可以直接使用 Nacos 中的相关功能呀!认真思考了一番,我立马就想说,自动装配,但这种回答怎么能体现我的牛逼呢!(牛逼症犯了)思索万千,我给出了下面的回答:因为 SpringBoot 的宗旨是,约定大于配置,一切都由约定所决定。当你引入 Nacos 的依赖时,就和 SpringBoot 达成了一个约定环境中需要有 Nacos 相关功能,所以 Sprin..
2022-04-22 12:07:33
1372
1

原创 源码再现,SpringBoot 居然只有一个 IOC 容器
J3SpringBoot # 源码 # 父子容器1、前奏接上一篇《线上出 BUG 原因竟是 Spring 父子容器,反手我就去扒了它的底裤》文章发布后,我就在想平时开发用的基础框架更多的是 SpringBoot 而不是 Spring ,那为什么在 SpringBoot 项目中却从来都没有遇到过有类似的问题(被容器管理的 Bean ,会有获取不到这一问题)。那能不能猜想一下,在 SpringBoot 项目中,只要符合 Bean 的定义且被 IOC 容器管理,那就一定能从容器中获取对应的 Bea..
2022-04-09 09:00:00
1434

原创 线上出 BUG 原因竟是 Spring 父子容器,反手我就去扒了它的底裤
J3Spring(父子容器 # BUG)1、事情的缘由一天,J3接到个小需求,对进入数据库的数据线索做拦截处理。进入数据库的数据具体要做三个渠道校验A、B、C而这三个渠道的校验规则都各不相同,只要这其中一个渠道不满足那就不符合入库要求,则不可入库。看到这个,J3内心是无比的窃喜,因为太简单了。说着J3就对着需求写出了下面的代码:@RestController@RequestMapping("/insert")public class InsertController { @A..
2022-04-06 08:15:00
1748
6

原创 个人开发的小破站,居然把掘金的文本编辑组件给搬上来了
J3小夹子 # 文章这是我用小夹子的文本编辑器编写的一篇内容。在这里主要说明的就是,小夹子上线了一个文章内容编写的功能。该功能上线后用户就可以不用复制站外链接就能生成小夹子网唯一的资源文章链接哦!对于平时喜欢做笔记、写日志、写计划的,都可以用小夹子网的文章编写功能,方便又实用。文章编写功能的具体实现呢,主要依赖于前端,毕竟是在网页上写东西,而编写的体验就是关键了,后端倒是只存储一个文章内容字段就 ok 完事了(当然,后端也不简单)。在参照了市面上的很多 Markdown 语法的编辑器,最..
2022-04-01 09:34:38
2650
4

原创 两天开发个网站,不为别的就为存点小资源
两天开发个网站,不为别的就为存点小资源J3 - 西行杂文(小夹子 # 开发)以下“资源”一词如特别说明,一律指学习资源或技术文章从事技术类软件开发也有快两年了(强行增加工作经验),深知持续学习对于这个行业的重要性,所以我时常会从技术广度和深度两个方面不停的搜索资源来给自己充电。就从我刚开始接触这个行业开始,提升自己的唯一途径那就是 B 站看各大“两小时包会,一个月精通”的视频教程,终于不负众望的精通了各类开发语言的 Hello World 写法。那个时候我还啥都不知道,只知道视频教啥我学啥
2022-03-21 12:17:30
1034
8

原创 呕心沥血一周,我交出了这篇 List 面试文章,细不细你们定
J3集合(源码 # CopyOnWriteArrayList )Java 面试中集合框架相关的面试题也可以说是一个高频题了,而 List 更是一个重点考察的对象。它相比于 Map 而言较为简单,而对于数组则颇为复杂,但不管怎么说对于 List 我们应该做到会用、知源码、懂扩容机制、会如何安全的使用 List 等。那看看本人 1 年经验如何聊 List(所有源码都基于 JDK11)。1、List 介绍List 体系结构图:Java 集合类主要由两个接口派生而出:Collection 和 ..
2022-02-21 08:52:03
1185
6

原创 Java 开发 Linux 服务器常用软件安装,保姆教程
Java 开发常用 Linux 服务器软件安装集合,包括 JDK、Redis、Nacos、Docker、MySQL、Nginx...等相关软件保姆级教程安装,安装不好,你来捶我!!!
2021-12-12 16:47:12
2703
3

原创 解析 MyBatis 中 Mapper 生效的前因后果
J3 - 白起技术(MyBatis # Mapper分析)最近闲了快有半个多月了,一直提不起兴致再去看一些书籍(没有以前疯狂吸食知识的欲望了????)。不过这一两天不知道是什么筋搭错了非常想写点什么,但又不知道写点啥(苦恼)。所以我就结合了一下本人工作中经常用到但没有深入的技术下手了,最后思来想去就选择了 MyBatis 中 Mapper 文件这一块的知识内容入手了。以前只是知道写一个 Mapper 接口,对应着再去写一个 Mapper.xml 文件然后将 Mapper 接口位置和 Mapper
2021-08-09 09:26:40
620
1
原创 2W+字文档,实现图书管理系统毕设
本系统是一个前后端分离模式开发的项目,前端使用主流的 Vue2 + ElementUI 实现,后端则是采用 SpringBoot 框架进行开发。项目整体难度不大,但是里面也有很多的开发技巧和功能创新,相信用这个系统来进行二次开发、课设...
2024-03-21 14:30:29
1110
1
原创 小白 | 零基础 | 转行 | 六个月 Java 学习路线
作者:三哥首先我给本套学习路线制定一些人群范围,为什么要这样做?因为很多人在问我的时候都会交代自己目前的一些情况,有学生、有在职、有跨行等,而每种情况,所需要的路线不同,所以无法一条路线满足大家所有需求。索性我就给本套路线制定一些范围,如果你符合,那么这套路线就适合你。
2024-02-28 15:28:20
1426
原创 别只会ThreadLocal,FastThreadLocal也学起来
合理情况下使用,确有空间浪费,但拿这点空间浪费换来的是几倍的效率提高,可取。
2024-02-26 14:39:45
1160
1
原创 一文扫遍NIO,内容很长,忍受一下
什么是 NIO,百度解释:大致意思就是,NIO 相比普通的 I/O 提供了功能更加强大、处理数据更快的解决方案,它可以大大提高 I/O 吞吐量,常用在高性能服务器上。NIO 是非阻塞面向缓冲区的。NIO 的相关代码都放在 java.nio 包及其子包下,并且对原 java.io 包中的很多类进行了改写。Buffer(缓冲区):缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成 NIO Buffer 对象,并提供了一组方法,用来方便的访问该块内存。
2024-02-26 14:16:40
937
原创 请给系统加个【消息中心】功能,因为真的很简单
个人项目:社交支付项目(小老板)作者:三哥,我相信,打开一个带有社交类型的网站,你或多或少都可以看到如下的界面:1)消息提示2)消息列表这样这样那,这就是我们今天要聊的【消息中心】。
2023-09-05 11:31:20
429
2
原创 评论功能有多简单,两张表就行
个人项目:社交支付项目(小老板)作者:三哥,评论功能相信是很多论坛、视频的基础功能了,而本次我写的个人项目也会涉及到该功能,所以是时候出个文章好好聊聊评论功能了。
2023-08-28 08:30:00
1062
原创 复制粘贴实现,RocketMQ 同步双主双从集群搭建
搭建本集群的:下面开始正文本次我们搭建的集群架构为 2m-2s-sync(同步双写)方式,如图:集群工作流程:服务器环境(端口记得放开)MQ相关端口定制:配置 Host 信息配置如下:配置完成,重启网卡MQ下载地址:https://rocketmq.apache.org/download/本人下载的是 RocketMQ 4.9.4分别上传至对应主机并解压NameServer 启动进入下面文件,修改 NameServer 启动大小JAVA_OPT 修改为下面配置大小修改 NameServer 端
2022-12-05 08:30:00
901
1
原创 MyBatis 源码分析一二级缓存
内容来自【自学星球】欢迎大家来了解我的星球,和星主(也就是我)一起学习 Java ,深入 Java 体系中的所有技术。我给自己定的时间是一年,无论结果如何,必定能给星球中的各位带来点东西。
2022-11-23 08:30:00
415
原创 MyBatis 源码分析之 Select 语句执行(下)
内容来自【自学星球】欢迎大家来了解我的星球,和星主(也就是我)一起学习 Java ,深入 Java 体系中的所有技术。我给自己定的时间是一年,无论结果如何,必定能给星球中的各位带来点东西。
2022-11-22 08:30:00
419
原创 MyBatis 源码分析之 Select 语句执行(上)
内容来自【自学星球】欢迎大家来了解我的星球,和星主(也就是我)一起学习 Java ,深入 Java 体系中的所有技术。我给自己定的时间是一年,无论结果如何,必定能给星球中的各位带来点东西。
2022-11-21 08:30:00
1217
1
原创 MyBatis 源码分析之 Mapper 接口代理对象生成及方法执行
内容来自【自学星球】欢迎大家来了解我的星球,和星主(也就是我)一起学习 Java ,深入 Java 体系中的所有技术。我给自己定的时间是一年,无论结果如何,必定能给星球中的各位带来点东西。
2022-11-19 08:30:00
1197
原创 MyBatis 源码分析之 SqlSession 创建
内容来自【自学星球】欢迎大家来了解我的星球,和星主(也就是我)一起学习 Java ,深入 Java 体系中的所有技术。我给自己定的时间是一年,无论结果如何,必定能给星球中的各位带来点东西。
2022-11-18 08:30:00
878
原创 MyBatis 源码分析之 SqlSessionFactory 创建
该文章的内容有视频讲解,地址👉:点我直达源码分析之前,我们还是老套路的来搭建一个 MyBatis 的小案例,方便后续的源码分析。1、引入依赖2、添加配置文件:myBatisConfig.xml3、编写jdbc连接配置:jdbc.properties4、编写实体类:User5、编写mapper文件6、编写 UserMapper.java 对应的 UserMapper.xml ,记住两者的包路径名称记得保持一致。7、测试(记得测试前把 SQL 创建好)很显然,MyBatis 的重要功能逻辑都体现
2022-11-17 08:30:00
1159
原创 SpringMVC 请求流程源码分析
内容来自【自学星球】欢迎大家来了解我的星球,和星主(也就是我)一起学习 Java ,深入 Java 体系中的所有技术。我给自己定的时间是一年,无论结果如何,必定能给星球中的各位带来点东西。
2022-11-16 08:30:00
659
原创 SpringMVC 启动流程源码分析
内容来自【自学星球】欢迎大家来了解我的星球,和星主(也就是我)一起学习 Java ,深入 Java 体系中的所有技术。我给自己定的时间是一年,无论结果如何,必定能给星球中的各位带来点东西。
2022-11-15 08:30:00
588
原创 Spring 事务源码分析
内容来自【自学星球】欢迎大家来了解我的星球,和星主(也就是我)一起学习 Java ,深入 Java 体系中的所有技术。我给自己定的时间是一年,无论结果如何,必定能给星球中的各位带来点东西。
2022-11-14 08:30:00
818
1
原创 Spring AOP源码分析二
该文章的内容有视频讲解,地址👉:点我直达这里的注解及标签指的是:@EnableAspectJAutoProxy 和 。先来看看该注解对程序做了啥!进入注解源码该注解的最大作用就是向容器中注册了 AspectJAutoProxyRegistrar 类org.springframework.context.annotation.AspectJAutoProxyRegistrarAspectJAutoProxyRegistrar 是一个ImportBean
2022-10-26 08:30:00
390
原创 Spring AOP源码分析一
1、如果程序中不存在 AOP 功能,那么 resolveBeforeInstantiation 就相当于空方法。2、如果存在 AOP 功能,那么如果程序中如果没有 TargetSource 类型的相关 Bean ,该方法则只会做一件事情就是 shouldSkip 方法的提前解析切面类。3、如果程序中存在 TargetSource 类型 Bean ,那么程序会对该类型进行相关代理,返回代理对象提前结束 Bean 的创建流程,也即短路。
2022-10-25 08:30:00
404
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人