自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 Date、BigDecimal类型值转换

本文展示了前后端数据交互中日期和数值类型的转换处理。前端输入JSON数据包含日期字符串(yyyy-MM-dd和yyyy/MM/dd格式)和数值,后端通过@JsonFormat注解自动转换为Date类型,BigDecimal类型则用于精确计算。数据库中存储datetime和decimal类型数据。后端处理时,使用工具类对价格和利率进行格式化:价格保留两位小数(四舍五入),利率转换为百分比格式。最终响应数据将日期转为时间戳或格式化字符串,数值转为格式化字符串,并转换支付方式编码为描述文本。完整流程涵盖数据接收、

2025-09-06 22:56:13 482

原创 Java线程池运行机制+案例测试

线程池运行机制及应用案例研究 摘要:本文分析了线程池作为生产者-消费者模型的实现机制。线程池解耦任务与线程,通过核心线程(corePoolSize)、任务队列(queueCapacity)和最大线程(maxPoolSize)三层结构处理任务提交。测试案例配置了5个核心线程、10个最大线程和20容量的队列,验证了100个任务的执行情况。结果显示,核心线程先执行前5个任务,随后任务6-25进入队列,超过队列容量的任务触发创建新线程。实验数据与理论预测相符,证实了线程池的任务缓冲和线程复用特性。代码实现展示了Co

2025-06-16 11:41:46 399

原创 双Token实现用户登录身份认证-Java版

Java 移动端用户登录身份认证与令牌刷新

2025-04-13 18:40:07 844

原创 SpringAOP 切面类添加@RefreshScope导致逻辑执行两遍原因

在最近的开发中,发现问题:若在切面(Aspect)类上使用 @RefreshScope 注解,会观察到接口请求被切面进行了两次处理,不符合正常预期。

2025-03-20 17:49:12 499

原创 浏览器向客户端提供文件下载(Java实现)

某一系统需上传黑白名单时,需向用户提供导入模板,这时候需要为客户端提供文件模板下载,用户按照该模板格式填写内容。

2024-07-04 21:25:21 280

原创 自定义Springboot Starter

创建一个Springboot Starter,借助该Starter我们可以自定义欢迎消息。

2024-06-06 22:20:17 526

原创 MySQL的联合索引及案例分析

最左匹配联合索引失效的情况不遵循最左匹配原则范围查询右边失效原理`like`索引失效原理

2024-06-05 19:45:58 781

原创 MySQL旧表做分区流程

MySQL数据库为什么要做分区,分区步骤,相关SQL如何写?

2024-05-14 20:20:53 1528 1

原创 JSON六种值类型的写法

JSON(JavaScript Object Notation)是一种人类可读的文本数据格式。它源于JavaScript,标准开放,格式要求更为严格,独立于具体编程语言,常用于数据交换。JSON数据可以直接以文本的形式进行网络传输,位于不同端点上的编程语言环境可以通过序列号将语言独有的数据结构转换为相应的JSON数据文本,或者通过反序列化进行相应的逆向转换。

2024-04-26 20:06:52 375

原创 @NameBinding注解名称绑定过滤器/拦截器

NameBinding注解名称绑定过滤器/拦截器,只针对某一些资源方法执行处理逻辑。

2024-04-22 21:25:47 669

原创 Spring的过滤器、拦截器、切面区别及案例分析

Spring的过滤器、拦截器、切面 三者的区别,以及对应案例分析。

2024-04-22 20:59:44 1761

转载 软件开发 基于Docker的交付流程

为啥本地代码提到Git代码仓库,然后去管理台打镜像生成镜像版本号,将此版本号镜像配置到容器云平台就能让项目在服务器上跑起来?

2024-04-17 20:49:12 166

原创 EasyPoi实现简单的Excel导出、导入

EasyPoi实现Excel导出、导入。下面这种方式不需要模板,更加方便但是不能进行复杂的导出。

2024-04-17 20:39:45 2256 1

原创 详解Bean的生命周期+自编码验证

Bean的生命周期包括 4 个阶段:实例化Instantiation 、属性赋值Populate 、初始化Initalization 、销毁Destruction。

2024-03-29 22:09:12 615

原创 Feign远程调用的基本流程通俗易懂

关于OpenFeign的源码解析,本文对其内容做了概括整理,较于源码解析通俗易懂。

2024-03-29 13:56:28 2933 1

原创 简版SpringIOC实现(自定义SpringIOC)

简版SpringIOC实现(自定义SpringIOC);手写一个Spring框架;Spring的源码;

2024-03-24 15:14:52 1202 1

原创 HttpServletRequest的getSession()方法逻辑分析

HttpServletRequest的getSession方法逻辑分析,为什么请求中添加Cookie信息就能获取到Session存储的信息。

2024-03-02 21:42:41 2646 1

原创 Http请求中的Cookie与Session

HTPP Cookie 是服务器发送到用户浏览器并保存到本地的一小块数据,在浏览器下一次向同一个服务器发起请求的时候带上。会话状态管理(登陆状态,购物车等)个性化管理(用户自定义设置,主题)浏览器行为跟踪。

2024-03-02 11:41:13 1121

原创 【笔记】为什么要使用jdbcType?

在执行SQL时MyBatis会自动通过对象中的属性给SQL中参数赋值,它会自动将Java类型转换成数据库的类型。而在插入时,你如果插入的值是。的字段,指定它们转换时的类型,即指定响应的jdbcType类型。

2024-02-22 14:00:57 578 1

原创 Spring的@Retryable和@Recover注解详解

两个注解一般配合使用,通常用于解决由于网络、数据库、文件系统等原因导致的临时性错误,以提高应用的健壮性和可用性。@Retryable和@Recover是Spring Framework中的注解,用于支持在方法执行期间发生异常时的重试和恢复操作。@Retryable注解用于标记方法,在方法执行期间发生异常时进行重试。重试行为可以使用Spring Retry框架提供的默认策略或自定义策略来定义。我们可以指定要重试的异常类型以及最大重试次数和重试间隔等参数。@Recover。

2024-01-30 21:14:00 4255 1

原创 Redisson源码解读—可重入、锁续命详解

Redisson源码解读。

2024-01-10 22:16:43 2442

原创 加密解密、加签验签、数字证书流程分析

使用的密钥只有一个,使用相同密钥对消息进行加密和解密。常用于加密交互内容。常见算法有:DES、3DES、AES等。需要两个密钥,一个称为 公开密钥 (public key),即 公钥,另一个称为 私有密钥 (private key),即私钥。加密和解密使用的是两个不同的密钥。常用于加密对称秘钥。常见算法有:RSA、SM2、DSA等。优点:安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人;缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

2024-01-10 20:20:49 1997

原创 令牌桶算法的实现

限流,令牌桶算法的实现

2023-12-30 18:23:01 690 1

原创 CDN通俗易懂

CDN 的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络边缘的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度、减少带宽预算分配、改善内容可用性、增强网站安全性。

2023-12-30 15:11:25 1092 1

转载 超详细的Guava RateLimiter限流原理解析

限流是保护高并发系统的三把利器之一,另外两个是缓存和降级。限流在很多场景中用来限制并发和请求量,比如说秒杀抢购,保护自身系统和下游系统不被巨型流量冲垮等。限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务或进行流量整形。

2023-12-25 21:49:27 497

原创 数据库不同环境数据的迁移

例如:当在项目中将验证环境的数据导入测试环境时,具体步骤可能取决于使用的技术栈和数据库。以下假设 MySQL数据库和 Java 语言。确保测试环境的数据库连接配置与验证环境一致。这可能涉及更新测试环境的配置文件。运行一些基本的功能测试或查询数据库来验证导入的数据在测试环境中的一致性。如果有数据库结构的变化,运行相应的数据库迁移脚本。在验证环境,使用数据库备份工具,如。文件传输到测试环境。、FTP 或其他文件传输工具。,对数据库进行备份。

2023-12-25 09:54:55 723

原创 SpEL表达式基本概念和用法

SpEL表达式基本概念和用法SpEL(Spring Expression Language)是Spring框架中的一种表达式语言,用于在运行时处理字符串表达式,通常用于配置文件和注解中。SpEL提供了一种强大而灵活的方式来引用和操作对象,支持在运行时进行动态计算值。

2023-12-21 10:55:34 793 1

原创 【面试】数据库—优化—覆盖索引、超大分页优化

数据库—优化—覆盖索引、超大分页优化。

2023-12-20 21:28:18 552 1

原创 【面试】数据库—优化—聚簇索引和非聚簇索引、回表查询

如果存在主键,主键索引就是聚集索引;如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚集索引;如果表没有主键,或没有合适的唯一索引,则InnoDB会自动生成一个rowid作为隐藏的聚集索引;

2023-12-20 21:11:42 556 1

原创 【面试】数据库—优化—索引概念及索引底层数据结构

数据库—优化—索引概念及索引底层数据结构

2023-12-20 20:57:55 396 1

原创 【面试】数据库—优化—SQL语句执行很慢,如何分析

数据库—优化—SQL语句执行很慢,如何分析 EXPLAIN DESC

2023-12-20 20:44:11 379 1

原创 【面试】数据库—优化—如何定位慢查询

数据库—优化—如何定位慢查询

2023-12-20 20:33:43 449 1

原创 【笔记】黑马程序员 Springboot2

多文件:主文件中设置公共属性,环境分类文件中设置冲突属性。多文件(properties)多层级配置文件间的属性采用。

2023-12-14 21:40:02 104

原创 【笔记】NGINX location 匹配优先级

nginx location 匹配规则

2023-12-14 20:23:16 91

空空如也

空空如也

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

TA关注的人

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