自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 异步CompletableFuture最常用的用法

CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> "返回结果");// 1. 阻塞拿(简单,推荐用这个)// 出错抛运行时异常,不用try-catch// 2. 超时拿(防止卡死,更安全)// 1秒拿不到就抛超时异常,需try-catch// 3. 非阻塞拿(拿不到就给默认值)String res3 = future.getNow("默认值");// 任务没做完就返回"默认值"join()

2025-12-12 16:27:04 260

原创 Java中常用的异步方法

在 Java 中,异步编程的核心目标是避免主线程阻塞,提升程序并发性能。

2025-12-12 15:42:53 329

原创 Java常用的JSON

/ 配置 ObjectMapper 自定义规则// 日期格式// 忽略空对象报错// 忽略null字段// 转换后 JSON 示例:{"name":"张三","age":20,"createTime":"2025-06-01 10:00:00"}快速转换为 JSON 字符串;;。转换为 JSON 树形对象(动态操作):(JsonNode);;。

2025-12-10 17:16:42 823

原创 AOP(面向切面编程)

注解作用使用位置核心说明@Aspect标记类为 “切面类”类上需配合 Spring 组件注解(@Component)使类被扫描@Component将切面类纳入 Spring 容器类上无此注解,@Aspect无法生效注解作用使用位置核心说明@Pointcut定义切点表达式,复用切点方法上(空方法)切点表达式支持:execution(匹配方法)、@annotation(匹配注解)、within(匹配包 / 类)等注解作用执行时机核心参数 / 特性@Before前置通知。

2025-12-10 11:20:00 893

原创 Spring MVC 接收请求参数的核心

场景推荐注解核心注意事项URL 查询参数 / 表单参数注意必填性、默认值,List 需显式注解RESTful 路径参数路径模板与 URL 匹配,非必选需 Spring 5.3+JSON 请求体仅能使用一次,Content-Type 需为 application/json请求头 / Cookie注意参数名与头 / Cookie 名一致文件上传 /multipart 请求替代 @RequestParam,支持文件和 JSON 混合多参数封装到实体类支持级联属性,可省略注解。

2025-12-09 17:50:16 758

原创 MyBatis-Plus(简称 MP)的分页查询

当基础 CRUD 满足不了复杂条件(如多表联查、聚合函数)时,可自定义 SQL,只需在 Mapper 中接收Page<T>@Mapper/*** 自定义分页SQL(多表联查示例:用户表+订单表)* 注意:* 1. 方法参数必须包含Page<T>,且放在第一个位置;* 2. @Param("ew") 用于接收查询条件(可选);* 3. SQL中无需写LIMIT,MP会自动拼接分页语法。*/// 构造查询条件(如查询name含"张"的用户)

2025-12-09 14:20:37 714

原创 Java常用获取日期时间方法-笔记

获取当前日历实例,需手动获取具体字段值(无固定字符串格式)。:创建传统日期格式化器,用于后续格式化或解析。:创建自定义格式器,用于后续格式化或解析。:获取带时区的当前日期时间,返回格式为。:获取当前日期和时间,返回格式为。:时:分:秒(24 小时制,例如。:获取当前日期,返回格式为。:获取当前时间,返回格式为。对象,格式由输入字符串和。对象,格式由输入字符串和。:完整日期时间格式(例如。为日期和时间分隔符)。格式化为字符串,例如。格式化为字符串,例如。:创建表示当前时间的。

2025-12-05 16:42:03 374

原创 MySQL 常用连接池

MySQL 常用连接池概览:主流连接池DruidHikariCPC3P0DBCP特性对比

2025-11-28 10:59:48 252

原创 搞Java不懂?一文读懂:用户空间与内核空间,用户态与内核态

内存是 “存储容器”,分用户 / 内核空间。应用代码存储在用户空间内存,运行时 CPU 处于用户态,只能访问用户空间;只有需要内核帮忙(如分配内存、操作硬件)时,才切换到内核态。Java 代码场景,能直接对应到内存空间和 CPU 状态以下是Java 代码场景快速判断表代码操作场景内存空间(数据存储)CPU 运行模式(执行状态)核心原因1. 局部变量运算(i++a+b用户空间(线程栈)用户态仅操作应用自身的栈内存,无需内核介入2. 创建对象(用户空间(JVM 堆)用户态。

2025-11-15 23:26:24 485

原创 设置gitte管理代码

【代码】设置gitte管理代码。

2025-11-12 21:03:02 207

原创 DOS 攻击是什么

DOS 攻击(Denial of Service,拒绝服务攻击)是一种网络攻击技术,目的是让目标系统(服务器、网站或网络设备)无法正常提供服务。

2025-11-01 14:17:17 176

原创 bean的生命周期中,有参构造是不是属于属性注入

有参构造:是 Bean “从无到有” 的创建过程,属于实例化阶段,目的是生成 Bean 对象。属性注入:是 Bean “从有到优” 的完善过程,属于依赖注入阶段,目的是给已有的 Bean 注入依赖。二者是 Bean 生命周期中前后衔接的两个独立步骤,有参构造不属于属性注入。

2025-10-26 15:05:25 263

原创 MySQL索引下推

索引下推:将部分过滤条件从服务器层下推到存储引擎层的索引扫描阶段执行,利用索引中包含的字段提前过滤无效记录,减少回表次数。核心价值:减少 IO 操作,提升查询效率(尤其对联合索引中包含多个过滤条件的场景)。适用条件:联合索引 + 包含索引中非前缀字段的过滤条件。这是 MySQL 对索引利用的重要优化,默认开启(可通过参数控制的开关)。

2025-10-22 10:31:53 265

原创 MySQL 中 EXPLAIN 字段说明

EXPLAIN字段中,typekeyrows和Extra是优化的核心关注点。通过分析这些字段,可以判断查询是否使用了合适的索引、是否存在全表扫描、排序或临时表等性能问题,从而针对性地优化 SQL 或索引设计。编辑分享。

2025-10-22 10:12:05 619

原创 Spring 的工具类BeanUtils

是 Spring 框架提供的一个实用工具类,主要用于 JavaBean 的属性操作(如属性复制、对象实例化等),简化了反射操作的复杂度。

2025-10-21 17:51:28 319

原创 用在实体类上的注解

实体类注解的核心作用是消除硬编码映射、简化校验逻辑、控制数据转换数据库映射:优先用 MyBatis-Plus 的@TableName@TableId(或 JPA 的@Entity@Column数据校验:必用 Spring Validation 注解(如@NotBlank@Min),配合@Valid实现接口参数校验。JSON 处理:根据项目使用的 JSON 工具(Jackson/FastJSON)选择对应注解。简化代码:推荐用 Lombok 的@Data减少模板代码。

2025-10-11 17:29:06 759

原创 在mapper和service里怎么写lambd表达式

在 Mapper 层,通过构建条件后调用BaseMapper方法;在 Service 层,推荐使用链式方法,更简洁高效。核心是利用「类::字段 getter」的 Lambda 表达式实现类型安全的条件构造,这是 MyBatis-Plus 相比传统 MyBatis 的重要优势。

2025-10-11 17:20:47 294

原创 sql中的in、notIn、between 方法的参数类型

innotInbetween方法对参数类型没有限制(数字、字符串、日期等均可),关键是要与数据库字段的类型一致。实际开发中,建议根据字段类型传入对应类型的参数,避免因类型不匹配导致的 SQL 错误。

2025-10-11 17:09:22 276

原创 MyBatis-Plus的使用

MyBatis-Plus(简称 MP)是 MyBatis 的增强工具,在 MyBatis 基础上简化了 CRUD 操作,提供了丰富的 API,无需编写大量 XML 或 SQL 即可完成数据库操作。以下是其核心方法的使用详解,涵盖常用 CRUD、条件构造、分页等场景。提供开箱即用的方法,配合条件构造器可灵活拼接 SQL。实际开发中,推荐使用。MyBatis-Plus 的核心优势是。以获得批量操作和分页等增强功能。避免硬编码,服务层优先使用。

2025-10-11 17:03:20 391

原创 Java 反射

反射是 Java 中非常强大的特性,是很多框架的底层基石。但日常开发中应谨慎使用,优先考虑直接调用,仅在需要动态性(如框架开发、动态配置)时使用,并注意性能优化(如缓存Class对象、Method对象)。

2025-10-11 16:37:14 410

原创 Vue2中,在一个组件中调用另一个无关联关系的组件的方法

根据具体需求和项目结构,选择合适的方法来在 Vue 组件之间调用方法。对于复杂的应用,Vuex 是推荐的方式,而对于简单的场景,事件总线或全局方法可能更为合适。

2025-09-17 10:59:16 398

原创 当一个接口要两个表的数据时,使用连接查询更快还是两次查询合并更快?

当一个接口需要从两个表中获取数据时,选择使用连接查询(JOIN)还是一次查询每个表然后在应用层合并数据,取决于多种因素,包括数据库的设计、数据量、查询的复杂性以及应用的具体需求。

2025-09-11 10:40:41 332

原创 【实现WebMvcConfigurer接口与继承WebMvcConfigurationSupport类区别】

实现接口:推荐在Spring Boot项目中使用这种方式来进行Web MVC的自定义配置。它允许您在保留Spring Boot自动配置的同时,进行必要的自定义。继承类:这种方式适用于需要完全控制Spring MVC配置的场景,但在Spring Boot项目中不常用,因为它会禁用Spring Boot的许多自动配置。因此,对于大多数Spring Boot应用程序,实现接口是更好的选择,除非您有特殊需求需要完全自定义Spring MVC的配置。

2025-09-10 16:29:42 183

原创 【Java中实现两步排序法】

若retention_period包含闰年逻辑,*365可能存在误差(实际应用中可优化为按年份计算,如使用DATE_ADD(archive_time, INTERVAL retention_period YEAR),但需数据库支持)。retention_period:档案保管年限(年),乘以365转换为天数。:优先展示需要处理的档案(即将到期需关注,已到期需处理)。:最近到期的排在前面(如未来30天 > 未来50天)。:最早到期的排在前面(如过期10天 > 过期5天)。,确保重要档案不被遗漏。

2025-09-08 11:11:44 426

原创 MyBatis-Plus 3.x Maven依赖导入方案

可通过 Maven中央仓库 查看最新稳定版,推荐使用3.5.x系列(如3.5.6、3.5.12)。通过以上方案,可根据项目类型快速导入MyBatis-Plus 3.x依赖,实现高效开发。

2025-09-07 23:04:55 688

原创 【Java依赖注入使用】

依赖注入(DI)注解是现代编程语言(如Java、Spring、Dart等)中实现依赖注入的核心机制,通过注解标记依赖关系,简化对象创建和管理。💡 注意:依赖注入的前提是被注入的类必须是Spring管理的Bean(即通过@Component、@Bean等注解注册)。💡 衍生注解:@Service(服务层)、@Controller(控制层)、@Repository(数据访问层)。@Autowired:自动按类型(byType)注入依赖,可用于构造器、字段、setter方法。三、其他框架中的DI注解。

2025-09-07 22:43:52 345

空空如也

空空如也

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

TA关注的人

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