自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Stream流中的Map与flatMap的区别

用于将流中的每个元素通过指定函数转换为另一个元素,生成一个一对一映射的新流。Map的Function返回普通对象,flatMap的Function必须返回Stream对象。数据类型转换(String→Integer)、属性提取(对象→ID)、简单计算(数值→平方值)用于将每个元素转换为流后合并所有流,形成一对多映射的扁平化结果。Map保持原始流元素数量不变,flatMap可能改变元素数量(如拆分为多个子流后合并)Map适合单一元素转换,flatMap适合处理嵌套集合(如List<List>)

2025-08-26 19:38:02 571

原创 Hutool ImgUtil

提供了丰富的图像处理功能,通过简洁的 API 即可实现裁剪、水印、去背景等操作。通过封装 JDK 原生图像处理 API,大幅简化了常见的图像处理操作。方法支持在图片上添加文字水印,可自定义颜色、字体和位置。对象进行处理,而非必须使用文件路径。方法可以快速裁剪图片,支持指定裁剪区域坐标和大小。方法可以在图片上叠加另一张图片作为水印。Hutool 5.8.0+ 版本支持通过。方法支持按比例或指定尺寸缩放图片。方法可以旋转图片指定角度。方法可将图片转为灰度图。

2025-08-25 16:11:25 185

原创 Java 泛型 T、E、K、V、?、S、U、V等

Java 泛型中的类型参数通常使用单个大写字母表示,每种字母在不同场景下有约定俗成的含义。最常用的泛型类型参数,表示一个具体的 Java 类型。适用于大多数泛型场景,特别是当类型不确定但需要明确指定时。Java 泛型在编译时会进行类型擦除,运行时无法获取泛型的具体类型信息。通常用于集合框架中,表示集合中的元素类型。当需要多个类型参数时,按字母顺序扩展使用。常见于需要多个泛型参数的场景。专门用于映射关系的键值对场景,K 表示键的类型,V 表示值的类型。表示未知类型,常用于泛型方法的参数或变量声明。

2025-08-21 16:35:24 171

原创 MyBatis Plus 解决大数据量查询慢问题

MyBatis Plus 在处理大数据量查询时,性能瓶颈通常出现在数据库连接、网络传输、内存消耗和结果集处理等方面。常见问题包括全表扫描、未合理使用分页、ORM 映射开销过大等。MyBatis Plus 内置分页插件(),避免一次性加载全部数据。在内存充足的情况下,先通过。结合 MyBatis 的。分页查询 ID,再通过。添加必要的索引,避免。

2025-08-21 16:25:28 390

原创 JAVA IO和NIO的主要区别

IO:简单易用,适合同步阻塞操作。NIO:高性能、非阻塞,适合高并发网络编程。选择依据:根据项目需求权衡开发效率和性能要求。

2025-08-21 16:02:54 278

原创 SQL 优化之 explain 超详细讲解

EXPLAIN 是 SQL 优化中用于分析查询执行计划的工具,能够展示 MySQL 如何执行查询语句。通过 EXPLAIN 输出结果,可以识别查询性能瓶颈,如表扫描、索引使用情况、连接类型等。EXPLAIN 适用于 SELECT、DELETE、INSERT、UPDATE 和 REPLACE 语句。

2025-08-20 13:53:57 1138

原创 java集合常用操作技巧

【代码】java集合常用操作技巧。

2025-08-19 20:42:16 165

原创 mysql中查询没有主键的表

数据库来获取没有主键的表信息。数据库来获取没有主键的表信息。表,筛选出没有主键约束的基表。排除系统数据库中的表,只关注用户创建的表。表,筛选出没有主键约束的基表。排除系统数据库中的表,只关注用户创建的表。在MySQL中,可以通过查询。在MySQL中,可以通过查询。

2025-08-19 16:06:59 145

原创 如何用SQL轻松拆分地址中的省市区?

实际应用中建议先对地址数据进行标准化预处理,建立行政区划字典表辅助解析。不同数据库系统的字符串函数可能略有差异,需根据具体DBMS调整语法。

2025-08-18 14:17:30 255

原创 MyBatis <choose> 动态SQL

是 MyBatis 动态 SQL 中的一个标签,用于实现类似 Java 中的。配合使用,根据条件选择不同的 SQL 片段执行。标签会检查所有满足条件的片段并拼接,而。只会选择第一个满足条件的片段执行。

2025-08-15 16:34:58 432

原创 Linux安装Nginx并配置转发

如果看到"configuration file /etc/nginx/nginx.conf test is successful"提示,说明配置无误。如果看到"configuration file /etc/nginx/nginx.conf test is successful"提示,说明配置无误。在大多数Linux发行版中,可以通过包管理器直接安装Nginx。安装完成后,默认配置文件通常位于。

2025-08-14 21:56:32 336

原创 SQL子查询全面解析

子查询是嵌套在另一个SQL查询(主查询)中的查询,通常出现在SELECT、FROM、WHERE或HAVING子句中。子查询可以返回单个值、多行或多列数据,用于为主查询提供中间结果或过滤条件。:返回单列多行数据,常用IN、ANY/SOME、ALL等运算符。通过灵活选择子查询或JOIN,可以平衡代码可读性与执行效率。:返回单个值的子查询,常用于WHERE或SELECT子句。:返回多行多列数据,通常作为临时表在FROM子句中使用。:子查询依赖主查询的当前行,需多次执行。:子查询独立于主查询,仅执行一次。

2025-08-14 21:20:31 231

原创 SQL 窗口函数简介

SQL 窗口函数(Window Functions)是一种在结果集的某个窗口(即行的子集)上执行计算的函数。与聚合函数不同,窗口函数不会将多行合并为一行,而是保留原始行的同时计算每行的结果。:将数据分为多个分区,窗口函数在每个分区内独立计算。SELECTsubject,score,FROMORDER BY:在窗口内对行进行排序,通常用于排名或累积计算。SELECTamount,FROMROWS/RANGE:定义窗口的物理或逻辑范围,如。

2025-08-14 21:16:26 350

原创 查询Java程序日志的方法

在Linux系统中查询Java程序日志,通常需要根据日志文件的存储位置和Java应用的配置进行操作。如果Java应用作为系统服务运行,可以使用。修改后需要重启应用使配置生效。参数可以实时跟踪日志更新。

2025-08-14 21:13:02 248

原创 mysql 更换主键,添加新主键字段及主键初始化赋值 sql

需要先删除现有主键约束,再添加新主键。添加一个自增主键字段。

2025-08-14 21:00:32 338

原创 JAVA代码递归实现斐波那契数列

递归实现的关键在于将问题分解为更小的子问题,直到达到基本情况(n=0或n=1)。

2025-08-14 20:59:07 185

原创 C盘清理技巧

修改默认保存路径(如微信、QQ等软件的缓存目录),通过软件设置调整存储位置。使用磁盘清理工具(搜索“磁盘清理”),勾选“临时文件”“回收站”“下载内容”等选项进行清理。设置存储感知功能(Windows 10/11),自动清理临时文件。使用工具如WizTree或TreeSize,扫描C盘大文件分布,针对性删除或转移日志、备份等非必要文件。进入“设置”>“应用”>“应用和功能”,按大小排序,卸载长期未使用的软件。对于内存充足的设备,可在“系统属性”>“高级”>“性能设置”中,将虚拟内存转移到其他分区或关闭。

2025-08-14 20:55:41 179

原创 JDK下载安装配置

选择适合操作系统的版本(Windows、macOS 或 Linux)。推荐下载 LTS(长期支持)版本,如 JDK 11 或 JDK 17。右键“此电脑” → 属性 → 高级系统设置 → 环境变量。在“系统变量”中新建变量。安装文件,按照向导完成安装。文件,拖拽 JDK 到应用程序文件夹。若显示版本信息,则安装配置成功。,值为 JDK 安装路径(如。

2025-08-14 20:49:30 251

原创 mysql安装

运行下载的MySQL Installer,选择“Full”或“Custom”安装类型。勾选MySQL Server及相关工具(如MySQL Workbench)。按向导提示完成安装,过程中会提示设置root用户密码。访问MySQL官方网站(https://dev.mysql.com/downloads/),选择适合操作系统的版本。Windows用户可选择MySQL Installer,Linux用户可选择对应发行版的包或源码。输入密码后,若显示MySQL命令行界面即表示安装成功。

2025-08-14 20:48:00 313

原创 java 读取excel文件为 base64

Apache POI 是一个流行的 Java 库,用于操作 Microsoft Office 格式文件(如 Excel)。以下方法将 Excel 文件读取为字节数组,再转换为 Base64 字符串。若需处理大型 Excel 文件,可以使用阿里开源的 EasyExcel,其内存占用更低。对于超大文件,建议分块读取或使用流式 API(如 EasyExcel 的。确保文件路径正确,且 Excel 未被其他进程占用。,检查文件是否损坏。

2025-08-13 17:25:06 413

原创 git使用

频繁提交小的变更,保持提交信息的清晰和描述性。使用分支进行功能开发和 bug 修复。定期从远程仓库拉取更新以避免冲突。Git 是一个分布式版本控制系统,用于跟踪文件的变更历史。每个开发者都可以拥有完整的代码仓库副本,支持离线工作。Linux 用户可以通过包管理器安装,例如 Ubuntu 使用。设置全局用户名和邮箱,这些信息会出现在提交记录中。Mac 用户可以通过 Homebrew 安装。文件,列出需要忽略的文件和目录。Windows 用户可以从。

2025-08-13 16:55:14 269

原创 冒泡排序的Java实现

冒泡排序是一种简单的排序算法,通过重复遍历待排序的列表,比较相邻元素并交换位置,将较大的元素逐步“冒泡”到列表末尾。冒泡排序适合小规模数据或部分有序的数据集,对于大规模数据效率较低。实际应用中更推荐使用快速排序或归并排序等高效算法。

2025-08-13 16:49:20 159

原创 Java Stream 数据处理方法

Java Stream 是 Java 8 引入的一种高效处理集合数据的 API,支持函数式编程风格。LongStream 和 DoubleStream 也有类似方法。

2025-08-13 16:39:50 237

原创 解决 ‘Invalid use of NULL value‘ 问题

修改表结构,将不允许NULL的列设置为NOT NULL。检查应用程序代码,确保在向数据库插入或更新数据前,所有不允许NULL的字段都被正确赋值。为不允许NULL的列设置默认值,避免插入操作时未提供值导致错误。例如,设置整数列的默认值为0,字符串列的默认值为空字符串。在查询或更新数据时,使用COALESCE或IFNULL函数处理可能的NULL值,将其替换为默认值。更新数据时,避免将不允许NULL的列设置为NULL。在某些情况下,可以使用触发器在插入或更新前自动处理NULL值,将其替换为默认值或其他有效值。

2025-08-13 15:37:10 335

原创 Debug马拉松

调试能力的非线性成长特性强调调试过程对技术深度理解的价值幽默收尾:列举程序员公认的“解压玩具”(机械键盘/捏泡泡纸)

2025-08-13 15:24:08 214

空空如也

空空如也

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

TA关注的人

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