- 博客(19)
- 收藏
- 关注
原创 @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
原创 #{}和${}对比
特性#{}${}安全✅ 防 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
原创 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关注的人
RSS订阅