自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试高频 XXL-Job 面试题

先讲 2 个核心组件(调度中心 + 执行器),再补充通信方式,结合自己的使用场景说明。

2025-11-23 20:28:53 317

原创 Hutool 常用工具类方法速查表(覆盖最全)

【代码】Hutool 常用工具类方法速查表(覆盖最全)

2025-11-23 19:30:45 520

原创 Java 事务失效 10 大场景 + 新手避坑!从 public 修饰符到内部调用全解析

事务未被正确代理(非 public、自调用、非 Bean 等)、执行逻辑跳出事务控制(异常被吞、多线程、传播机制错误等)。

2025-11-23 19:15:06 572

原创 Stream 流核心速查表

Stream是Java中对数据处理的函数式封装,不存储数据,具有惰性求值、不可复用、内部迭代和无副作用等特性。创建方式包括集合、数组、文件等数据源转换,以及直接生成元素流或无限流。中间操作(如filter、map、distinct等)链式调用但不触发计算,终端操作(如collect、count、reduce等)才执行计算并关闭流。特殊流(IntStream等)优化基本类型处理。实战技巧包括分组统计、分区、字符串拼接和并行流应用。

2025-11-16 14:51:40 686

原创 BigDecimal 学习笔记

【代码】BigDecimal 学习笔记。

2025-11-09 15:56:41 155

原创 Java中Fastjson 的超详细学习指南

本文介绍了Fastjson在Java中的核心用法,重点讲解了序列化与反序列化操作。

2025-11-09 15:06:27 560

原创 Java中的声明式校验(解释)

声明式” 就是 “我只说要什么规则,不用写具体校验代码”。比如在礼品卡编号属性上贴@NotBlank,就表示 “这个字段不能是空字符串、null 或全空格”,框架会自动帮你检查,不符合就报错。实体类属性上加@NotBlank@NotNull等注解,写好message提示;Controller 方法的参数前加@Valid;写全局异常处理器捕获,返回友好错误信息。

2025-11-09 14:28:15 309

原创 Hutool 工具类超详细学习指南(含实战)

Hutool是一款高效的Java工具类库,可大幅简化开发工作。本文针对Java新手,详细介绍如何通过Maven引入Hutool(5.8.20版本),并重点讲解了5个核心工具类的使用:StrUtil处理字符串(判空、拼接等)、Assert进行参数校验、DateUtil操作日期、CollUtil处理集合、BeanUtil复制对象属性

2025-11-09 14:22:36 855

原创 Apache 工具包(commons-io commons-lang3 )保姆介绍

本文介绍Java后端开发中常用的Apache Commons工具包(commons-lang3和commons-io),详细解析其核心功能与使用场景。commons-lang3专注于字符串处理、日期操作、对象判空等业务逻辑,commons-io则简化文件读写和流操作。文章提供了依赖引入方法、常用API速查表(包含字符串判空、日期计算、文件复制等20+实用方法)、5大避坑指南以及完整实战示例。这些工具能显著减少重复代码,提高开发效率,同时避免空指针、线程安全等常见问题,适合Java开发者收藏作为日常参考。

2025-11-09 11:06:26 1037

原创 IDEA弹框 Server‘s certificate is not trusted /服务器的证书不可信如何解决

2025-10-15 08:15:51 275 1

原创 synchronized和lock的区别

场景:你看到打卡机空着,想快速打卡,你看到机器空着,立刻冲过去按“开始” → 成功就打卡,失败就重试。:它们都是用来解决多线程并发安全问题的工具,保证同一时刻只有一个线程能执行临界区代码。更灵活,适合复杂并发控制需求。简单够用,适合大多数场景;

2025-10-14 09:43:00 208

原创 windows下将redis注册为windows服务

将Redis注册为Windows服务实现开机自启的方法:首先切换到Redis安装目录,执行命令redis-server --service-install redis.windows.conf将Redis注册为系统服务,然后通过服务管理界面或命令redis-server --service-start启动服务。这样Redis就能随系统自动启动,无需手动开启cmd窗口运行,且不受终端关闭影响。该方法简化了Redis的使用流程,提高了开发效率。

2025-10-07 11:10:32 394

原创 ide进去git突然报Cannot identify version of git executable: no response的错误

早上开开心心上班,打开idea准备先拉取以下代码突然git就报错了?Сannot Run GitCannot identify version of git executable: no response不能识别git运行版本是什么鬼呀我心里一阵颤抖,难道我又做了什么骚操作,不对呀,明明什么都没干呀?我打开配置信息settings->Version Control -> Git然后点击测试,然后确认即可

2025-10-07 09:22:46 377

原创 报错:Expression #2 of SELECT list is not in GROUP BY(only_full_group_by 模式冲突)

让所有非聚合字段都出现在 GROUP BY 中,但考虑到项目历史代码太多,且团队希望保持兼容性,在旧版本 MySQL 中这能正常运行,但在 MySQL 8.0+ 中会直接报错,因为。,我不仅解决了当前问题,还为后续调优(如字符集、连接数、日志等)打下了基础。此时再运行你的 Java 项目,SQL 查询恢复正常,不再报错。,它使用的是编译时的默认配置。在这些路径中,就会被加载。中,也不是聚合函数。

2025-09-25 16:08:49 723

原创 解决idea2021maven依赖导入后还是找不到包,爆红无法导入

本文记录了解决Maven依赖导入问题的经验。作者遇到pom.xml文件持续报错问题,经技术同事指点发现根源在于使用了IDEA自带的Maven仓库而非本地仓库。解决方案是配置本地Maven仓库并刷新依赖,问题得以解决。技术同事建议避免使用IDEA内置Maven仓库,因其容易引发问题。文中还提供了参考的技术博客链接,并邀请读者留言交流经验。通过这次经历,作者深刻认识到正确配置Maven本地仓库的重要性。

2025-09-11 17:32:38 424

原创 从两分钟到毫秒级:一次真实看板接口性能优化实战(已上线)

从熟悉区入手,建立信心先优化自己熟悉的模块,快速见效,增强继续优化的动力。以终为始:前端需要什么,就查什么不要“为了查而查”,避免传输和计算无用数据。终结 N+1 查询任何循环内查数据库的代码都是性能杀手,必须重构为批量查询。善用索引,尤其是覆盖索引让查询尽可能走索引,减少磁盘IO和回表操作。

2025-09-11 09:14:52 1204

原创 idea git提交项目,忽略不需要提交的文件或文件夹

我们有时候在本地调试代码时,某些配置文件需要修改成本地环境中。当改完后,需要提交代码时,这些文件又不能推到git上。当出现这种情况,我们每次都需要手动去将不需要提交的文件的对号去掉。文件多了后,就很麻烦。4.现在在提交git时,我们就可以看见,我们移入新组的文件,已经不再默认的组中了。3,将不需要提交到git上的修改添加到新组中去。1.点击idea左下角的git图标。2.添加一个新的git分组。

2025-09-08 17:03:56 418

原创 电脑外接显示屏字体和图标过大

当外接显示屏的分辨率过高时,可以调整显示器设置来解决字体和图标过大的问题。具体操作包括在桌面右击选择显示设置,切换到外接显示器,将分辨率调至推荐的1920x1080,或根据个人偏好进行适当调节,然后保存更改。显示器分辨率 ---- 调节 (最好调节为1920 × 1080)原因:大概是因为我们的外接显示屏的分辨率过大。解决电脑外接显示屏字体和图标过大问题啦。桌面右击 -- > 显示设置。切换到外接显示屏的显示器。或者根据自己的喜好来调节。

2025-09-06 11:58:13 726

原创 新手也能懂的 MySQL 大表优化:40 字段表的规划思路 + 头表行表应用详解

先拆表:看字段是否属同一业务,不属于就按 “核心信息 / 统计信息 / 关联信息” 拆成多张表;再优化:不拆的话,加索引、定义 DTO、用枚举,保证查询快、开发方便;建表避坑:加主键、软删除、时间字段,减少后续维护成本。如果你的 40 个字段,没有 “整体 + 明细” 的关系(比如就是单纯的 “员工基础信息表”,包含姓名、年龄、电话、邮箱、家庭地址、紧急联系人、学历、入职时间...),那可能不需要 “头表 + 行表”,而是考虑另一种拆分:按 “业务模块” 拆成两个平级表(比如存基础信息,

2025-09-02 17:44:37 1458

原创 MySQL 面试题总结(含优化解答 + 记忆思路 + 面试表达)

索引是 InnoDB 中 “加速数据查询的数据结构”,核心价值是降低 I/O 成本 + 减少排序成本核心作用查数据:比如瞬览购书查 “book_id=1001” 的图书,没索引要扫全表(10 万行),加主键索引后直接定位到 1 行,I/O 成本骤降;排序:查 “用户 100 的订单按 time 排序”,加索引后,数据已按 time 排序,不用再做文件排序,CPU 成本减少;双刃剑。

2025-09-01 16:23:26 1315

原创 Redis最新面试高频问题分享(保姆解析)

缓存穿透是查‘缓存和 DB 都不存在的数据’,比如恶意查不存在的商品 ID,每次都打 DB。我们项目用了三层解决:① 先做参数校验(过滤非法 ID);② 用布隆过滤器(提前加载有效 ID,拦截不存在的 key);③ 空值缓存(DB 查不到时,存 null 到缓存,设 10 秒过期),三层下来基本挡住了所有穿透请求。本质:数据不存在→透 DB;方案:参数校验 + 布隆过滤器 + 空值缓存;绑定项目:食味鲜布隆过滤器“缓存击穿是‘热点 key 过期瞬间,大量并发请求冲 DB’,比如热门图书缓存过期。

2025-08-27 16:00:36 917

原创 Idea 拉取云效代码(保姆级教程)

云效代码管理 Codeup,是基于 Git 的代码管理平台,数十万企业正在使用,提供代码托管、代码评审、代码扫描、质量检测、持续集成等功能,全方位保护企业代码资产,帮助企业实现安全、稳定、高效的代码托管和研发管理。4、点击进入IDEA -> File -> New ->Project From Version Controller…2、点击进入云效 -> 个人设置 -> https密码,创建克隆账号和克隆密码。5、克隆完成后注意分支即可,分支不对的话,切换。3、在云效代码仓库找到克隆链接,复制。

2025-08-23 15:01:27 986

原创 VSCode设置自动保存

当我们开始下载完VSCode后会修改完代码运行后会发现运行的还是上回修改前的代码,当然我们也可以手动保存后再运行。这个是窗口失去焦点的时候,才会保存。也就是鼠标在整个VScode软件之外的地方点下左键才会保存。这个是编辑器失去焦点的时候,才会保存。也就是鼠标在编辑器之外的区域按下左键才会保存。这个不用多说,就是没有自动保存。按crtl+s来进行保存。左下方找到齿轮,点击设置。在上方搜索Auto save。这个是在多少毫秒后自动保存。

2025-08-14 15:55:36 462

原创 Vscode——调整左侧菜单字体大小

3、在settings.json文件中加入 “window.zoomLevel”: 1.2。左侧目录字体特别小,看着真的太难受了。,修改格式化的配置,默认是none。1、按ctrl+shift+p。调整左侧菜单字体大小。

2025-08-14 10:07:23 836

原创 IDEA中修改git的作者名字和邮箱名字

在git控制台 或者 Terminal 输入。打开idea在git控制台 或者 Terminal 输入。PS: xxx是你要修改的名称。

2025-08-13 17:43:20 428

原创 报错信息如下:Module not found: Error: Can‘t resolve ‘less-loader‘

报错信息如下:Module not found: Error: Can't resolve 'less-loader'(用于 webpack 转换 Less 为 CSS 的加载器 ),并将它们添加到项目。)中,用于开发阶段处理 Less 代码。(CSS 预处理器)和。

2025-08-06 16:47:48 286

原创 手把手教你用命令行创建 Vue 项目

通过安装 Vue CLI 工具,用验证安装,借助创建项目,最后通过启动项目,这样一套流程下来,你就成功搭建并运行起一个 Vue 项目啦,后续就可以在这个基础上进行开发,添加组件、实现功能,打造属于自己的 Vue 应用啦。快去试试吧。

2025-08-06 14:51:34 481

原创 VS Code编辑时光标变成小黑块解决办法

解决键盘输入异常的两个方法:1)按Insert键(笔记本需按Fn+Insert)解除覆盖模式;2)若安装了VsVim插件导致问题,可卸载或禁用该插件后重启VS即可恢复正常。两种方法针对不同原因导致的输入异常问题,操作简单快捷。

2025-08-03 13:49:11 752

原创 前端最新Vue2+Vue3基础入门到实战,前端vue Day01 <个人笔记>

概念:Vue (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架Vue.js基于数据渲染出用户可以看到的界面所谓渐进式就是循序渐进,不一定非得把Vue中的所有API都学完才能开发Vue,可以学一点开发一点所谓框架:就是一套完整的解决方案举个栗子如果把一个完整的项目比喻为一个装修好的房子,那么框架就是一个毛坯房。我们只需要在“毛坯房”的基础上,增加功能代码即可。提到框架,不得不提一下库。库,类似工具箱,是一堆方法的集合,比如 axios、lodash、echarts等。

2025-08-02 10:48:19 1368

原创 IDEA提示“Unmapped Spring configuration files found.Please configure Spring facet.”解决方法

最近从gitlab导入项目过程中,发现提醒Unmapped Spring configuration files found.Please configure Spring facet.,知道是spring配置问题最后重启IDEA即可。

2025-07-28 15:44:59 393

原创 全网最新真实Java实习面试题面经+详细讲解

本文涵盖了Java技术面试的常见问题,主要分为技术面和面试官面两个部分。技术面部分包括Java集合、Spring框架、MySQL、Redis、Linux等知识点,重点分析了集合类型区别、Spring核心机制、数据库优化、缓存使用等问题。面试官面部分则关注个人介绍、项目经验、薪资期望等内容。文章详细解答了30个技术问题,如IOC/AOP原理、事务隔离级别、索引优化等,并提供了实际应用场景的解决方案,如订单超卖处理、缓存三兄弟问题等,适合Java开发者面试准备参考。

2025-07-15 22:52:56 1736 2

原创 COUNT(*)、COUNT(1)、COUNT(字段)区别

请牢记面试会问!!!

2025-07-15 21:43:11 297

原创 难度高的SQL笔试题:聚合-存储过程-DATE_SUB-JSON匹配-GROUP_CONCAT

WHERE JSON_CONTAINS(attributes, '"English"', '$.languages'):筛选条件,使用 JSON_CONTAINS 函数判断 attributes 字段的 JSON 数据中,在 languages 数组里是否包含字符串 "English"。例如,在 employee_skills 表中,每个员工可能有多行 skill(如 Java、Python),GROUP_CONCAT 会把这些值合并成一个字符串。SELECT name:指定要返回的字段,即员工姓名。

2025-07-14 15:22:52 826

原创 Java中hashmap的原理

hashmap底层是由哈希表组成,用于存储键值对的,其核心就是将哈希值映射到数组索引位置上,通过数组+链条的方式来解决哈希冲突,java8之后优化成数组+链条+红黑树。

2025-07-12 10:32:10 442

原创 Java IO 中的同步异步 阻塞非阻塞 BIO-NIO-AIO

bio:同步阻塞io,一个单线程接收到请求之后,如果该请求的数据没有返回,后面的请求将会等待,直到请求结束,也可实现多条单线程来进行执行多条请求,但是会发生性能资源浪费,所以bio适合请求量少,响应时间快的;:NIO(Non-blocking IO)是一种非阻塞式 IO 模型,将请求放到缓冲区中等待处理,当数据就绪时通知程序进行处理,可以使用单线程处理多个请求。简单来说,BIO 适合于连接数较小、请求较短的场景,NIO 适合于连接数多、请求处理时间短的场景,AIO 适合于连接数多、请求处理时间长的场景。

2025-07-11 15:21:51 378

原创 Java异常篇

首先Java异常分两个体系,应该是throwable和其子类,其子类有两个重要的类,error错误,exception异常;主要体现在环境出错,比如运行环境出错或者配置有问题,虚拟机出现错误等等分为两个部分,运行时异常,非运行时异常:在程序运行中,或者执行过程中出现空指针异常,数组溢出等;主要体现在程序员写代码的时候,一是书写错误,导致找不到属性值和方法或者类,非运行时异常主要帮助程序员提高代码的健壮性,减少一些bug,提高开发效率;

2025-07-11 13:14:36 480

原创 Java动态代理与反射

1.编程开发工具的,如 IDEA 或 Eclipse 等,在写代码时会有代码(属性或方法名)提示,这就是通过反射实现的。2.很多知名的框架如 Spring,为了让程序更简洁、更优雅,以及功能更丰富,也会使用到反射,比如就是通过反射实现的。框架也会使用反射来实现调用不同类型的数据库(驱动)。--->这个方面反射做了什么:动态加载所需类、动态创建对象和调用方法,从而使得框架可以灵活地支持不同类型的数据库。

2025-07-10 18:03:43 244

原创 Java基础笔记

因为 double 作为双精度浮点数,遵循 IEEE 754 标准存储,像计算 0.1 + 0.2 ,结果是 0.30000000000000004 ,存在精度误差 ,多次运算后误差还会累积;一个类可以实现多个接口,但一个类只能继承一个抽象类。方法方式:接口只有定义,不能有方法的实现,java 1.8中可以定义default方法体,而抽象类可以有定义与实现,方法可在抽象类中实现。装箱(boxing)和拆箱(unboxing)是基本数据类型和对应的包装类之间相互转换的过程,以下是详细介绍:​。

2025-07-10 15:33:59 124

空空如也

空空如也

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

TA关注的人

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