自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

用朴素的话说技术。

故事很长,但不难讲,脸红相遇,眼红收场。

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

原创 ✨Java网络IO模型✨分析与实现

本篇文章会对Java中的网络IO模型的概念进行解释,并给出具体的Java代码实现,最后会对同步和异步,阻塞和非阻塞进行概念总结

2025-02-13 09:51:45 686

原创 ✨五分钟速览✨MySQL的锁

MySQL的锁是一个老生常谈的东西了,最近由于不让使用Redis,但是又必须要使用分布式锁,所以就基于MySQL实现了一个分布式锁,正好就回顾了一下MySQL里面的锁知识,做一个总结,与君共勉

2025-02-12 09:44:01 977

原创 ✨JDK21✨虚拟线程彻底杀死响应式编程

在2023年9月19日正式发布的JDK21引入了虚拟线程,其是一种轻量化的用户线程,让JAVA中的线程实现了从内核线程向用户线程的切换

2025-02-10 09:48:02 864

原创 ✨五分钟速览✨MySQL的索引失效

使用MySQL时,明明数据没有很多,明明条件列添加了索引,但是为啥查询就越来越慢了呢。通常这就是出现了索引失效,为了让大家更能理解索引失效的场景,本文将基于一个简单的例子,对可能出现索引失效的场景进行分析,并给出相应解决方案,也许这才是面试官期望听到的索引失效

2025-02-07 16:07:33 793

原创 ✨快速搭建✨DeepSeek本地RAG应用

由深度求索开源的DeepSeek-R1推理模型在性能上已经能够对标OpenAI-o1正式版,正巧马上大年初四轮到我值班处理告警,突发奇想能不能让DeepSeek-R1来帮我识别告警并结合之前同事们处理告警时的记录信息来合理给出处置建议

2025-02-06 09:24:05 1166

原创 ✨唯一索引✨实现幂等却引发生产事故

最近公司发生了一起生产事故,在退款时产生了重复退款,事件报告中指出是因为针对重复MQ消息做幂等控制时,幂等控制方案失效,导致重复处理了两条退款消息,最终造成重复退款

2025-02-05 09:55:30 979

原创 ✨糟糕的✨响应式编程

响应式编程绝对是最糟糕的编程范式,没有之一,特别是在JDK21虚拟线程出现后,响应式编程框架以及WebFlux则彻底沦为小丑

2025-01-29 11:03:34 1056 1

原创 ✨探究Spring之✨@Conditional注解

已知@Conditional注解用于指定能够注册为容器中的bean的条件,那么本篇文章将结合示例工程,从源码入手,分析@Conditional注解

2025-01-29 11:03:06 1016 1

原创 ✨探究✨GO的切片原理

GO语言中的切片使用起来极其丝滑,号称Java中的List怎么用,切片就怎么用,作为一名Java选手,这切片简直就是我的舒适区呀,结果就是出意外了,因为切片使用不当,喜提缺陷

2025-01-22 09:57:09 913

原创 ✨MyBatis✨整合Springboot多数据源实现

数据源,实际就是数据库连接池,负责管理数据库连接,在Springboot中,数据源通常以一个bean的形式存在于IOC容器中,也就是我们可以通过依赖注入的方式拿到数据源,然后再从数据源中获取数据库连接

2025-01-21 09:50:24 827

原创 ✨图解✨Redis的主从同步原理

Redis为了保证服务高可用,其中一种实现就是主从模式,即一个Redis服务端作为主节点,若干个Redis服务端作为主节点的从节点,从而实现即使某个服务端不可用时,也不会影响Redis服务的正常使用

2025-01-20 09:46:04 698

原创 ✨探究✨进程最大可以打开多少个文件

原本是想搞清楚一台服务器最多能建立多少个连接,在学习的过程中,发现能建立多少个连接受多个因素影响,其中一个因素就是进程最大可打开文件数,我在自行查阅资料加请教专门搞容器的同事后,感觉这个知识点有点意思,故撰写此文以做记录

2025-01-17 09:57:34 852

原创 ✨快速理解✨MySQL索引下推

本文以一个短小精美的例子,五分钟帮助你完成对索引下推的理解

2025-01-16 09:28:45 1007

原创 ✨字节二面✨MySQL深分页如何优化

前同事刚参加完字节的二面,向我反馈了一道MySQL深分页的优化题目,起初我以为这只是一道很常规的深分页的题目,但是听完字节面试官的追问,才发现水很深

2025-01-14 09:52:11 869

原创 ✨Try-Catch✨竟然会影响性能

一朋友问我Try-Catch写多了会不会让程序变慢,我不加思索的回答肯定不会,毕竟曾经研究过Java异常相关的字节码指令,只要被Try-Catch的代码不抛出异常,那么代码执行链路是不会加深的

2025-01-13 09:51:59 614

原创 一文搞懂MyBatis测试工程搭建及与Springboot整合

本篇文章将对如何搭建一个MyBatis测试工程进行介绍,并在此基础上介绍Springboot整合MyBatis。

2023-02-04 10:25:15 683

原创 一文搞懂MyBatis中的基础概念

先对JDBC编程进行介绍,再引出对MyBatis框架的介绍。涵盖对MyBatis框架的优势分析,以及基础概念的讲解。

2023-02-03 21:56:47 392

原创 一文搞懂MyBatis中的TypeHandler

结合示例工程,对Mybatis中的类型处理器TypeHandler的定义,实现方式,生效条件进行了深入分析。

2023-02-01 20:59:29 3241

原创 PowerMock使用-Answer-Spy

针对同一方法多次被调用且不同入参需要Spy不同出参的情况,可以使用Answer。本篇文章将对Answer的使用进行说明。

2023-01-28 21:49:09 223

原创 PowerMock使用-Spy静态方法

本篇文章将说明如何使用PowerMock对静态方法进行Spy。

2023-01-28 21:41:13 1091

原创 PowerMock使用-Spy私有方法

本篇文章将说明如何使用PowerMock对私有方法进行Spy。

2023-01-28 21:27:37 915

原创 跳表原理分析及实现

跳表可以达到和红黑树一样的时间复杂度O(logN),且实现简单,Redis中的有序集合对象的底层数据结构就使用了跳表。本篇文章将对跳表的实现进行学习。

2023-01-28 21:18:20 652 1

原创 PowerMock使用-Spy公共方法

本篇文章将说明如何使用PowerMock对公共方法进行Spy。

2023-01-28 00:06:15 3648 1

原创 PowerMock使用-Answer-Mock

针对同一方法多次被调用且不同入参需要Mock不同出参的情况,可以使用Answer。本篇文章将对Answer的使用进行说明。

2023-01-27 23:43:31 719

原创 PowerMock使用-Whitebox

Whitebox可以用于方便的访问类内部的各种字段和方法,是一个简单实用的基于反射的单元测试工具类。本篇文章将对Whitebox的常用方法进行介绍。

2023-01-27 23:28:03 2695

原创 PowerMock使用-Mock静态私有方法

本篇文章将说明如何使用PowerMock对静态私有方法进行Mock。

2023-01-27 23:05:18 2813

原创 PowerMock使用-Mock静态公共方法

本篇文章将说明如何使用PowerMock对静态公共方法进行Mock。

2023-01-27 22:56:39 1806

原创 PowerMock使用-Mock私有方法

本篇文章将说明如何使用PowerMock对私有方法进行Mock。

2023-01-27 22:46:51 10956

原创 PowerMock使用-Mock Final公共方法

本篇文章将说明如何使用PowerMock对final公共方法进行Mock。

2023-01-27 22:33:10 1930

原创 PowerMock使用-Mock公共方法

本篇文章将说明如何使用PowerMock对公共方法进行Mock。

2023-01-27 22:24:07 1454

原创 PowerMock使用-依赖准备

PowerMock是一个单元测试框架,可以模拟静态方法,私有方法和final方法等来简化单元测试的编写。本篇文章将对使用PowerMock需要的依赖进行介绍。

2023-01-27 21:44:03 3531

原创 堆原理分析及优先级队列实现

堆是一颗具有特定性质的二叉树,基于堆可以实现优先级队列,在搜索,插入和删除操作上的时间复杂度均为O(logn),在找到最大或最小元素操作上的时间复杂度均为O(1)。本篇文章将对堆的原理和性质进行分析,并提供基于JAVA语言的堆的实现,最后会再基于堆,实现一个简单优先级队列。

2023-01-27 20:49:32 499

原创 JAVA线程调度机制与应用

说到并发,离不开线程这个概念,在操作系统层面有线程,在JAVA进程层面也有线程。同时还知道线程既可以共享进程资源,又可以被独立调度,那么JAVA进程的线程,也肯定存在一种调度机制。本篇文章将对操作系统的线程的三种实现方式进行说明,然后再对JAVA线程的实现方式进行阐述,最后针对JAVA线程的调度机制进行解释并结合例子说明JAVA线程调度机制的应用。

2023-01-27 12:10:33 1103

原创 线程的中断详解

JAVA中的线程,有一个状态叫做中断状态,用于标记线程是否被中断过。通过对线程中断状态的判断,可以实现一些例如优雅终止线程,唤醒线程等功能。在Thread类中有interrupt(),interrupted()和isInterrupted()方法与线程的中断有关,本篇文章将对这些方法的具体作用进行详细解释。在文章的最后,还会通过一个典型例子,演示如何通过线程的中断状态来优雅的终止线程。

2023-01-23 23:48:26 761

原创 Semaphore的使用详解

Semaphore在初始化时需要指定许可证数,Semaphore#acquire方法会尝试获取一定数量的许可证,若许可证数量不足,则当前线程进入阻塞状态。相应地,获取到了许可证的线程,在执行完毕后,需要调用Semaphore#release方法来归还许可证。

2023-01-22 20:39:09 1747

原创 并发实战-CountDownLatch的使用

本篇文章,将对CountDownLatch的创建和使用进行说明。

2023-01-21 11:59:15 270

原创 并发实战-读写锁的使用

本篇文章将对读写锁ReentrantReadWriteLock的创建,使用场景,不同加锁方式进行说明和总结。

2023-01-21 11:31:10 320

原创 并发实战-构造死锁

本篇文章将对死锁的产生和死锁的构造进行说明。

2023-01-19 21:36:32 253

原创 并发实战-ReentrantLock使用

本篇文章将对JUC并发包里提供的ReentrantLock的使用进行说明。

2023-01-19 21:09:40 273

原创 并发实战-ScheduledThreadPoolExecutor使用

本篇文章将对计划线程池ScheduledThreadPoolExecutor的使用进行说明。

2023-01-18 22:09:48 872

空空如也

空空如也

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

TA关注的人

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