自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nacosRule负载均衡策略

2026-04-20 17:29:39 12

原创 话不多说 直接上glm-ocr的工具类

log.info("通过getData().getMd_results获取到OCR结果,长度: {}", text.length());response.getMsg() : "响应为空";log.info("getData返回: {}", data.getClass().getName());log.info("响应对象类型: {}", response.getClass().getName());log.info("响应类型: {}", response.getClass().getName());

2026-04-18 18:56:46 184

原创 乘法口诀数列 一个简单且有意思的题目

本题要求你从任意给定的两个 1 位数字 a1​ 和 a2​ 开始,用乘法口诀生成一个数列 {an​},规则为从 a1​ 开始顺次进行,每次将当前数字与后面一个数字相乘,将结果贴在数列末尾。如果结果不是 1 位数,则其每一位都应成为数列的一项。

2026-04-01 21:44:29 32

原创 @Deprecated

首先,我的原student表中存在isDelete projectID等字段,但在重构的时候根据业务需求不在需要这个字段,那么我直接删掉这个字段后。三层架构中所有有关这两个字段的getset方法全部报错,导致我程序都无法编译。通过@Deprecated让jvm编译时直接警告而不抛error。在我做毕设的时候对项目需要进行重构遇见了很大的问题。解决办法: @Deprecated。

2026-03-31 20:48:43 31

原创 Jit工作原理图

2026-03-19 17:16:21 20

原创 判断是不是素数题目

行,每行给出一个小于231的需要判断的正整数。对每个需要判断的正整数,如果它是素数,则在一行中输出。输入在第一行给出一个正整数。

2026-03-16 21:03:45 244

原创 git提交信息规范

2026-02-07 21:14:09 259

原创 Mybatis-plus中Save()方法的注意点

当然即使引用的是同一个对象每次都会执行save方法,那么对数据库的插入操作中就会依次插入同一个对象的不同值。不会存在只插入最新一条数据的情况。不过如果加上事务就会出现严重的问题。事务中save方法不会立即执行 如果通过事务来进行管理的话,在执行完整段代码后会统一插入三条数据到数据库中,此时此刻插入的数据都将是最新的数据。如果你的代码这么写:看似调用了 3 次。建议创建多个实例来进行数据插入操作。首先我们先看一段代码。

2026-01-19 19:29:58 184

原创 谈谈session、application存储对象

(在 Java 中对应。

2025-12-03 20:53:00 787

原创 关于sqlite

选择 SQLite 的场景选择 MySQL 的场景桌面应用、移动端 App(Android/iOS)、嵌入式设备Web 服务、后台系统、企业级应用个人项目、内部工具、产品原型(快速落地)高并发读写(如电商、社交、支付系统)离线应用、本地缓存(如 App 离线数据、日志存储)大数据量(GB/TB 级)、复杂查询 / 统计低访问量、低写入频率(如本地笔记、小型工具)多用户共享数据、需要精细化权限控制需简单备份 / 迁移(拷贝文件即可)需高可用、可扩展(主从复制、分布式部署)

2025-11-21 20:08:46 1290

原创 MD5加密算法

(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,用于生成一个128位(16字节)的散列值。通常,这个散列值用32位的16进制数表示。MD5的主要特点包括长度固定、易计算、细微性和不可逆性。二、md5本质上是散列函数MD5(Message-Digest Algorithm 5)的本质是一种,核心作用是将任意长度的输入数据(明文)映射为固定长度(128 位,通常以 32 位十六进制字符串表示)的输出(哈希值 / 摘要),且满足散列函数的核心特性。散列函数的本质是「

2025-11-19 08:30:44 887

原创 欧几里得算法(Euclidean Algorithm):求最大公约数的经典方法

欧几里得算法是的高效算法,核心思想是 “”,其历史可追溯至古希腊数学家欧几里得的《几何原本》(第 7 卷),是算法设计中 “迭代 / 递归思想” 的经典范例。

2025-10-20 20:15:18 578

原创 简单的质数判断方法

【代码】简单的质数判断方法。

2025-10-15 21:57:59 103

原创 Java中解决方法中存在多个参数方案

编译器会根据参数的不同自动区分同名方法。当需要处理多个参数(如 3、4、5、6、7 个参数)而导致大量重载方法时,可以通过以下几种方式优化,避免代码冗余。:参数多且有可选参数(如实体类创建、配置对象等),尤其适合参数类型不同的情况。如果参数类型多样、可选参数多,且需要灵活组合,推荐使用。:参数类型相同,且逻辑可统一处理(如求和、拼接等)。如果参数类型相同,且参数数量不固定,可使用。,通过链式调用设置参数,避免大量重载。表示),用一个方法替代多个重载。在 Java 中对于。

2025-10-15 08:39:47 161

原创 第一次实习经历

这也是我第一次接触到私服下的开发环境,在我代码写好之后一些接口必须要私服下访问,因此需要我打成jar包丢到服务器上,在这个时候没有了idea中debug功能,这个时候之前写的日志就发挥重要作用了,我们可以配置一个文件存放log文件中 程序启动后靠打印出来的日志分析程序是否存在bug。有意思的是,在获取token1的时候,需要根据接口文档要求设置获取方式。通常情况下,接口文档的内容中都包含了关于接口ip地址,一定要仔细分析地址是否匹配对应的接口,此外会有一个系统统一的获取token的接口。

2025-07-23 15:08:10 249

原创 sql语句指定字段为什么不能解析

求各位大佬告知 该如何解决。

2025-07-22 09:37:39 254

原创 @Scheduled的作用分析

Scheduled的核心价值在于让开发者专注于业务逻辑,将时间调度的复杂性交给框架处理。通过简单的注解配置,即可实现各种定时任务,大幅提升开发效率。适用于大多数中小型项目的定时需求,而对于更复杂的场景(如分布式调度、任务持久化),可考虑结合 Quartz 等专业框架。

2025-07-18 09:16:19 890

原创 Redis Key 设计原则

前缀和命名规范:使用清晰、可读的前缀来标识数据类型,并确保 key 的唯一性。过期时间:合理设置过期时间,以便缓存和临时数据不在 Redis 中占用过多空间。多层次结构:使用冒号()分隔符,组织复杂的 Redis key,以便更好地理解和维护。数据类型区分:使用不同的 Redis 数据结构(如 Set、List、Hash)来存储不同类型的数据。避免过长的 key:合理控制 key 的长度,避免过长的 key 导致性能问题。

2025-07-16 14:24:34 920

原创 关于git的使用流程

💬是的,git pull把远程更新的代码直接同步到你本地的克隆项目文件夹中(即你正在开发的那个目录),并且会同步更新你的.git本地仓库记录。如果你想查看“我到底拉了哪些代码”,可以在git pull之后运行:bash​​复制编辑它可以帮你可视化地看到各个分支的变动。如果你想,我也可以画一个 Git 的工作原理图给你,更直观地表示 pull 是怎么作用在工作目录和本地仓库的。是否需要?类型命名格式示例功能开发feature/名字-功能Bug 修复bugfix/名字-问题点UI开发。

2025-05-28 21:13:59 2293

原创 IPage<T> 与 Page<T> 有什么区别?

✔ 在调用分页查询时,直接用Page<T>创建分页对象就好;✔ 如果你想让方法返回更灵活、统一、规范分页结果的行为,推荐返回IPage<T>类型。

2025-05-15 18:46:29 442

原创 MyBatis-Plus 常用用法总结

MyBatis-Plus = 自动化 + 高效 + 函数式链式调用 + 兼容原生 MyBatis,适合中小型项目快速开发。

2025-05-15 18:16:24 800

原创 ConcurrentHashMap

是 Java 中的一个并发集合类,属于包。它是线程安全的HashMap实现,允许多个线程高效地并发访问和修改映射数据。

2025-05-14 21:08:34 403

原创 关于在使用getOutputStream()方法后续没有用到write()

对于初学者来说 对于response.getOutputStream()方法时没有用到write()方法写入到浏览器经常存在疑惑。根据下面例子分析。在这段代码中似乎没有用到 response.wirte(),那么它是如何将输出流写入浏览器的呢?关键在于。

2025-05-11 15:12:28 583

原创 细说getOutputStream()方法

是 Java Servlet API 中接口提供的方法。你可以通过这个输出流,直接将数据写入 HTTP 响应体中,比如:文件(二进制)图片、音频、视频Excel、PDF、Word 等。

2025-05-11 15:03:02 784

原创 HttpServletResponse的理解

是 Java Servlet API 提供的一个接口。

2025-05-11 14:41:29 387

原创 用于文件上传的MultipartFile接口

这个类通常由 Spring 自动创建,当我们配置好上传解析器后(如。),Spring 会把上传的文件封装成。对象传给 Controller。在前端上传文件时(如通过。将上传的文件保存到指定路径。

2025-05-11 14:22:29 382

原创 TCP三次握手

第几次谁发发什么第一次客户端SYN(seq=x)第二次服务器第三次客户端客户端:「你好,我想连你!(SYN)」服务器:「收到!我也准备好了!(SYN+ACK)」客户端:「好,我知道你准备好了!(ACK)」→ 双方握手成功,开始聊天!

2025-04-29 10:17:33 448

原创 发送http请求到返回响应结果的流程

1. 代码组装HTTP请求↓2. TCP三次握手,建立连接↓3. 发送HTTP请求数据↓4. 服务器接收请求,处理并生成响应↓5. 服务器通过TCP返回响应数据↓6. 客户端读取响应流,拿到响应body(即AI回答).execute()实际上做了TCP建连 + 发送HTTP请求 + 读取服务器响应,最终拿到服务器返回的body!所以你可以理解:组装请求(prepare)execute 发送(send)response 接收(receive)整个 HTTP 过程就是这样的顺序!

2025-04-29 10:10:12 529

原创 什么是函数式接口(Functional Interface)?

这个接口可以被 Lambda 表达式、方法引用 或 构造器引用所实现。📌 举个最常见的例子这就是一个典型的函数式接口。可以这样用 Lambda 实现:MyFunction func = () -> System.out.println("执行了");// 输出:执行了。

2025-04-19 14:32:11 1039 1

原创 Lambda 表达式的语法结构

(即接口中只允许一个抽象方法)。Lambda 表达式。

2025-04-19 14:19:40 326

原创 什么是 Stream

Stream 是对集合对象功能的增强,它不是集合,也不存储数据,而是从集合中抽象出一条数据通道,让你可以用链式方式一步步处理数据。

2025-04-19 14:08:42 506 1

原创 什么是ThreadLocal

是 Java 提供的一个工具类,它为每一个都提供了一个。换句话说:每个线程都有自己的本地变量副本、互不干扰。它不是用来共享数据的,而是用来隔离数据的。

2025-04-06 16:24:24 380

原创 Vector的线程安全机制

对集合的增删改查操作被封装为原子操作,避免多线程并发修改导致数据不一致(例如:一个线程遍历时,另一线程删除元素)。:在连接池最大连接数10、并发请求适中的条件下,Vector的线程安全性完全满足需求,且代码实现简洁高效。:简单易用,适合中小规模多线程场景(如本项目的连接池)。关键字**修饰,确保同一时刻仅有一个线程访问这些方法。:同步粒度较粗,高并发下性能较差,需根据场景权衡选择。简化了代码实现,无需额外加锁。:Vector的核心方法(如。

2025-04-06 15:13:45 462

原创 线程池的工作原理

线程池中的线程数是固定的,线程池创建时就已经设定了固定的线程数量。在任务提交时,线程池会将任务分配给空闲的线程执行。如果所有线程都在执行任务,新的任务会被放到任务队列中,直到有线程空闲出来。:线程池中的线程会被复用,也就是说,线程池中的线程在任务执行完后并不会销毁,而是会被复用来执行其他任务。这能够提高任务的处理效率,避免了频繁创建和销毁线程的开销。:如果提交的任务超过了线程池中线程的数量,任务会被放入任务队列中。队列有大小限制,超出限制时会根据拒绝策略来处理(例如抛出异常、丢弃任务等)。代码示例。

2025-04-05 17:36:43 718

原创 最少刷题数

小蓝老师教的编程课有 NN 名学生, 编号依次是 1…N1…N。第 ii 号学生这学期 刷题的数量是 AiAi​。对于每一名学生, 请你计算他至少还要再刷多少道题, 才能使得全班刷题 比他多的学生数不超过刷题比他少的学生数。

2025-03-28 19:22:17 379

原创 过滤器的执行顺序

Servlet 3.0+ 的环境下,可以使用 @Order。可以按照一定的顺序执行,通常由 @WebFilter。给下一个过滤器或最终的 Servlet 处理。里,filter-mapping。当 Servlet 处理完毕后,在 Java Web 开发中,(如权限验证、日志记录等)。在 Spring Boot。假设有 FilterA。

2025-03-22 14:30:58 1582

原创 @WebFilter 注解

是 Java Servlet 3.0 之后引入的注解(Annotation),用于定义。过滤器可以在请求到达 Servlet 之前或返回客户端之前进行处理,如。,拦截特定 URL 或 Servlet 请求。指定拦截特定的 Servlet,而不是路径。指定多个过滤器的执行顺序。6. 进阶:登录拦截器示例。指定要拦截的请求路径。指定要拦截的请求路径。(默认):普通请求。,否则会中断请求链。

2025-03-22 14:14:57 1004

原创 段错误解析

是一种常见的程序运行时错误,通常出现在程序访问无效或禁止访问的内存区域时。它是计算机操作系统通过内存管理机制保护内存安全的一种机制,通常会导致程序崩溃。(Segmentation Fault,简称。

2025-03-13 21:41:47 277

原创 JWT详解以及在spirngboot中的应用

✅。

2025-03-12 18:10:42 624

原创 关于利用hashmap设置sql语句

,就要写多个 SQL 语句,导致代码重复,维护成本高。如果不使用hashmap,那么需要修改多个sql语句。判断来拼接 SQL,代码会变得复杂且难以维护。方式,你可以动态添加查询条件。如果以后业务需求变化,比如需要根据。,如果需要查询其他状态(例如。xml文件中sql语句。

2025-03-08 19:48:04 630

空空如也

空空如也

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

TA关注的人

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