- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 深入了解Mockito:Java单元测试的利器
单元测试在 Java 开发中的重要性不言而喻,但有些时候,面对高高的屎山,复杂的依赖,在本地根本无法执行单元测试,这个时候,就需要 Mockito 来救急了。Mockito是一个流行的Java库,用于创建测试中的模拟对象(mock objects)。它是在单元测试中用于隔离被测试的代码,以便对其进行独立测试。Mockito的主要功能是简化和增强测试的可读性和可维护性。
2025-02-13 22:11:15
1107
原创 JUnit 4与JUnit 5的差异详解
在进行`SpringBoot`项目单元测试时,发现有时候给类打上`@SpringBootTest`注解就能运行项目,但有时候需要`@RunWith(SpringRunner.class)`和`@SpringBootTest`注解才能运行,你有研究过这是为什么吗?本文就来讲一下这个问题。
2025-02-13 22:10:18
1028
原创 位运算在权限系统中的实战应用:如何用1个字段解决32种权限组合查询?
本文从权限系统设计的困境引入,到最后给出通用的枚举管理方案,看吧,绝不会吃亏。
2025-02-07 21:15:52
1037
原创 【MyBatis】如何在数据插入后获取对应的主键 ID
在数据库操作中,我们经常需要在插入数据后立即获取生成的主键 ID。这种需求在需要维护关联表数据或进行后续业务处理时尤为常见。本文将深入探讨 MyBatis 中获取插入主键的多种实现方式,并解析其底层原理及性能影响。
2025-02-07 19:57:41
750
原创 【docker 系列教程】如何导出镜像、加载本地镜像
在某些场景下,我们需要自定义保存及加载一些 docker 镜像,如你开发完成包之后还不想推送到 docker 镜像仓库,需发给测试同学进行测试;又或者,你担心你使用的`mysql`的`5.7`版本的镜像仓库之后无法访问或者被删除,导致你现在基于`5.7`版本开发的功能受到影响,你需要本地保存一份镜像以防止镜像无法访问或者丢失的风险。本文将详细介绍如何导出 Docker 镜像以及如何加载本地镜像。
2025-01-10 20:52:44
605
原创 【docker 系列教程之Portainer】10 分钟带你构建自定义镜像并进行容器部署
在【docker 系列教程之Portainer】中,我们将会完成`nginx`容器的搭建、完成`nginx`与宿主机的目录映射、自己构建`SpringBoot`项目镜像并在`Docker`运行等功能。
2025-01-10 19:46:07
2111
原创 【Java 注解】从入门到精通:上篇
注解一般在底层框架里使用居多,但你有了解过注解是如何工作的吗?注解对于我们的日常开发有什么特别之处呢?本文将带领你一探究竟,使你能够轻松使用注解进行实战开发。
2025-01-09 22:02:38
385
原创 【Spring Aop】使用全攻略,开启面向切面编程世界的大门
使用 AOP(面向切面编程)可以帮助你实现横切关注点(如日志记录、事务管理、权限控制等)的分离,通过学习本文,你将能够熟练掌握`Spring Aop`的使用,快去项目中试一试吧!
2025-01-09 18:34:48
1139
原创 Mysql 性能优化:索引条件下推(ICP)
MySQL 索引下推(Index Condition Pushdown,ICP)是一种查询优化技术,旨在提高使用索引的查询效率。它是在 MySQL 5.6 中引入的,通过将部分 WHERE 子句的过滤条件下推到索引扫描阶段来减少不必要的回表操作,从而提高查询性能。
2025-01-08 22:39:04
665
原创 Mysql 性能优化:覆盖索引
覆盖索引(Covering Index)是一个 MySQL 查询优化技术,它指的是一个索引包含了查询所需的所有字段的数据,因此不需要回表(访问数据表的行)就可以完成查询。使用覆盖索引可以显著提高查询性能,因为它减少了磁盘 I/O 操作。
2025-01-08 14:44:55
628
原创 Redis 性能优化:利用 MGET 和 Pipeline 提升效率
在现代应用程序中,Redis 被广泛用作缓存和数据存储解决方案。为了充分发挥 Redis 的高性能特性,了解并有效利用其命令和技术是至关重要的。在这篇博客中,我们将探讨如何通过 MGET 和 Pipeline 技术来优化 Redis 的性能,并讨论这些技术在实际场景中的应用。
2025-01-07 20:43:54
633
原创 一文学会基于 Redis 的分布式锁实现
分布式锁是一种机制,用于在分布式系统中控制对共享资源的访问。它确保在同一时间只有一个进程可以访问特定资源,从而避免数据不一致和竞争条件。通过本文,可以实现基于 Jedis 的分布式锁,该锁适用于大多数场景。
2025-01-07 20:14:20
2204
原创 快速搞懂CSS3弹性布局:基础篇
弹性布局,也称为Flex布局,是CSS3新增的一种布局模式。其核心思想是通过指定容器(flex container)和其内部的子元素(flex item)来实现灵活的元素排列和分布。容器是添加弹性布局的父元素,而子元素则是弹性布局容器中的每一个子元素。通过本篇文章,能够理解弹性布局的基础知识,在后续文章中,将会对弹性布局的伸缩、弹性布局的实践进行介绍,尽情期待!以上,祝你今天愉快。
2025-01-06 23:39:07
928
原创 微信小程序高质量极速入门:事件篇
微信小程序的事件机制类似于Web开发中的事件处理,是用户在界面上的操作(如点击、滑动等)所触发的。通过此篇文章,你将掌握常见的时间类型、事件绑定与处理、核心事件对象、事件的冒泡机制。
2025-01-03 14:28:09
621
原创 微信小程序高质量极速入门:组件篇【基础】
本文将通过微信小程序组件概述、内置组件、自定义组件、第三方组件的使用四个方面,来帮助读者快速入门微信小程序的组件开发,一文搞懂所有关于组件的知识。
2025-01-03 11:06:55
1336
原创 Java多线程最佳实践:如何精准控制接口耗时
通过使用`CountDownLatch`和超时等待机制,我们可以在多线程环境中精准控制接口的耗时。即使某些任务没有在规定时间内完成,我们也能有效地处理已完成的任务结果,并中断未完成的任务,以确保系统资源的高效利用。
2025-01-02 18:20:48
412
原创 Java多线程最佳实践之如何等待所有任务执行完成
在Java多线程编程中,经常会遇到需要等待所有提交的线程执行完任务后再执行某个操作的场景。这种需求可以分为两种情况:一种是任务数量已知,另一种是任务数量未知。本文将详细探讨这两种场景下的最佳实践。
2025-01-01 23:28:44
766
原创 给你的小秘密加点隐私——Java实现AES加密全攻略之如何自动还原加密前的文件名
使用Java的`DataOutputStream`和`DataInputStream`来实现在解密时自动恢复加密前的文件名
2024-12-31 23:34:28
646
原创 给你的小秘密加点隐私——Java实现AES加密全攻略
现代对称加密算法,如高级加密标准(AES),是目前最常用的加密方法之一。本篇文章基于Java 加密架构(Java Cryptography Architecture, JCA)循序渐进的带你实现加密算法,通过系列文章最终实现一个完成的文件加密系统。
2024-12-31 22:35:48
1303
原创 一文了解MVCC——解锁数据库并发控制的“魔法钥匙”
`MVCC`全称叫做`Multiversion Concurrency Control`,多版本并发控制。`MVCC`的出现主要是为了提升数据库并发性能,用较好的方式处理事务并发的`读写冲突`,避免了加锁操作,降低性能开销,在有`读写冲突`时,能够做到非阻塞并发读。
2024-12-30 21:42:29
1984
原创 业务解耦神器 Spring Event
Spring Event作为Spring框架的一部分,为开发者提供了一种轻量级的事件驱动机制,能够有效地实现应用内的业务解耦。本文将深入探讨Spring Event的优势、实现方法及其在实际项目中的应用。
2024-12-30 21:27:22
1051
原创 Redis中的GEO类型是什么?如何基于Redis进行地理位置存储与查询
Redis中的Geo类型是用于存储地理位置数据的特殊数据结构。它允许你存储地理坐标(经纬度)并对这些坐标执行各种操作,如计算距离、查找附近的位置等。
2024-12-29 20:57:46
1014
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人