自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring三种注入方式对比

本文将简单介绍Spring三种注入方式:字段注入、setter注入、构造器注入,对比和使用场景。

2025-12-22 23:17:10 1137

原创 @NoArgsConstructor @RequiredArgsConstructor @AllArgsConstrutor 用法介绍

NoArgsConstructor @RequiredArgsConstructor @AllArgsConstrutor 是 Lombok 提供的构造器生成注解,可以自动生成构造方法,减少样板代码。本文将介绍三种注解的用法和使用场景。

2025-12-14 15:56:10 438

原创 SpringBoot项目启动流程-1

下面是一个springboot项目的启动时的日志输出示例,可以看到输出了一长串的内容。本文将结合日志输出,简单介绍SpringBoot项目启动流程,及每个阶段都做了什么。

2025-12-07 22:30:21 1009

原创 Redis部署模式

在系统架构设计开发过程中,Redis常作为高性能的内存数据存储,常需要根据系统性能和业务场景约束选择合适的部署模式,从而保证系统的性能、可用性和可扩展性。本文简要介绍并分析Redis的五种部署模式。

2025-12-01 22:52:29 970

原创 跨域问题及解决方案

跨域问题是前端开发和前后端交互过程中常见的问题,本质上是由于浏览器的同源策略的安全限制,这个机制会阻止不同源的AJAX请求,限制从一个源加载的文档(脚本)与另一个源的资源。本文将主要介绍详细跨域问题及对应的解决方案。

2025-11-26 22:34:13 550

原创 Oracle分页查询

从大型结果集中高效地返回一小段连续的数据(例如,每页显示 20 条记录中的第 3 页数据),可以提高系统资源管理和用户体验,是较为常见的应用场景。本文主要介绍了Oracle数据库的分页查询,包括:实现方式、性能影响及关键参数。

2025-08-12 22:24:53 867

原创 JAVA泛型

Java泛型是Java 5中引入的一个重要特性,可以提供更强的类型安全和代码重用能力,同时减少显示类型转换。

2025-08-03 15:59:39 795

原创 #{}和${}对比

特性#{}${}安全✅ 防 SQL 注入❌ 有注入风险预编译✅ 生成?占位符❌ 直接文本替换特殊字符处理✅ 自动转义❌ 原样输出适用场景参数值(WHERE 条件值等)动态标识符(表名、列名等)性能✅ 预编译 SQL 可复用⚠️ 每次重新编译 SQL推荐度优先使用谨慎使用。

2025-06-29 11:08:53 436

原创 预编译性能优化分析

每次执行 SQL 时,数据库都需要完整解析 SQL 语法、检查语义、生成执行计划,相当于。数据库(如 MySQL/Oracle)有。:每个线程独立编译相同 SQL → 竞争数据库优化器资源。每次传输完整 SQL 字符串(含重复部分)首次传输完整SQL语句,后续仅传输参数值,:缓存命中时可以跳过优化器阶段,直接复用。:SQL 模板只需解析一次,:所有线程共享同一编译结果。(尤其在高并发场景)

2025-06-29 11:04:36 414

原创 ThreadPoolExecutor 和 Executors的区别

在Java并发编程中,ThreadPoolExecutor和Executors都是用于管理线程池的核心工具。本文将对这两种方式进行介绍和对比。

2025-06-23 22:54:33 845

原创 synchronized和Lock的用法对比

在 Java 并发编程中,synchronized关键字和java.util.concurrent.locks.Lock 接口(及其实现类,如ReentrantLock)都是用来实现线程同步、解决共享资源并发访问问题的机制。主要区别在于实现方式、灵活性、功能性和控制粒度上。本文将从下几个方面对synchronized和Lock的用法和原理进行对比介绍.

2025-06-10 23:06:28 903

原创 git revert和reset对比

操作git revertgit reset`作用目标创建一个新提交,撤销指定提交的变更直接移动分支指针,丢弃后续提交是否修改历史记录不修改历史,追加新提交(安全)修改历史(可能导致远程仓库冲突)适用场景已推送的提交、公共分支未推送的本地提交、私有分支工作区/暂存区影响不影响(仅生成新提交)--soft--mixed--hard。

2025-05-05 16:58:29 715

原创 MySQL锁机制

在数据库中,当多个用户并发存取数据时,会产生多个事务同时操作同一数据的情况,有可能产生数据不一致的情况,破坏数据库的一致性。通过加锁可以保证数据库的完整性和一致性。常见的使用场景有:电商库存扣减(防止商品超卖)、金融交易(防止转账失败)、订单状态更新等。本文将简单介绍MySQL锁机制的实现原理、分类及使用场景(部分内容来源网络)。

2025-03-30 14:44:40 781

原创 MySQL索引

本文将以MySQL数据库为例,介绍数据库索引的相关概念和用法。

2025-03-13 22:47:17 1049

原创 JAVA流式处理

Java流式处理(Streaming Processing)是一种处理大量数据的技术,允许以声明式的方式处理集合(如列表、集合等),可以实现映射、排序、过滤等操作,而无需显式地编写循环和条件语句。Java 8引入了流(Streams)API(由源、中间操作和终端操作组成)后,极大地简化了集合的处理工作。本文将介绍一些常见的Java流式处理的应用。

2025-03-04 22:42:01 944

原创 JAVA多线程-1基本概念

Java多线程是Java编程中的一个重要概念,允许程序同时执行多个任务。多线程编程可以提高应用程序的响应性和性能,特别是在处理耗时任务或需要同时执行多个任务时。本文及后续将介绍关于Java多线程的基本概念、创建方式、线程的生命周期和状态转换等内容(部分内容来源网上)。

2025-02-18 21:13:28 737

原创 JAVA多线程-2线程池

线程池是一种用于管理和复用线程的机制,可以提高应用程序的性能和资源利用率。通过线程池,可以避免频繁地创建和销毁线程所带来的开销(如:创建和销毁线程需要内存来存储线程的上下文信息,包括线程的堆栈、程序计数器、栈帧、本地方法栈等;消耗CPU资源,主要是系统调用会导致从用户态切换到内核态,占用CPU时间等),优化并发任务的处理。本文将介绍线程池的一些基础概念,包括:核心参数、线程池类型、线程池执行逻辑等。Java 提供了多种工具和类来创建和管理线程池,其中最核心是包。常用有:1、

2025-02-18 21:10:37 719

原创 正则表达式

正则表达式(Regular Expression,简称 regex 或 regexp)是一种文本模式描述的方法,通常用于字符串搜索、匹配、替换等操作。正则表达式基于一种专门构建的语法,使得复杂的文本处理变得简单和高效,广泛应用于编程语言、文本编辑器、搜索引擎等工具中。

2025-02-06 21:45:24 505

原创 23种设计模式

设计模式(Design Patterns),是软件开发过程中,针对反复出现的问题所总结归纳出的通用解决方案,提升软件的质量和可维护性。设计模式可以分为三类:创建型(5种)、结构型(7种)、行为型(11种),共计(23种),本文将结合代码介绍这些设计模式的特点和实际运用。

2025-01-23 21:29:57 1043

空空如也

空空如也

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

TA关注的人

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