自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows 安装 OpenClaw(WSL 方式,亲测有效)

你选用的模型,需要跳转页面认证你的身份信息,可能存在的付费详细情况和你的模型计费方式挂钩,比如根据 Token 进行计费。,去官网直接下载即可,安装完后可以打开 cmd 尝试查询 node -v 及 npm -v,出现对应版本信息即表示安装成功。期间会让你设置你的 Ubantu 登录用户名和密码,密码需要重复验证一次,请记好你的密码。安装过程中会有一些选项需要你选一下,我这里罗列了几个重点的,你可以参考我的选项。可以参考一下我的安装情况,出现下面的条形码一样的图就代表,你的虾,安装成功了。

2026-03-19 15:48:04 823

原创 密码安全那些事:从加盐到加密算法,一次讲清楚

1. 彩虹表的威胁很多初学者认为:只要把密码经过MD5、SHA等哈希算法处理,存储哈希值就安全了。但事实真的如此吗?如果攻击者拿到这个哈希值,他不需要反向破解,只需要查一下“彩虹表”就能知道原始密码。彩虹表,简单理解就是一个巨大的“明文-哈希”对照表,攻击者可以提前计算好常用密码的哈希值。现在网上甚至有在线彩虹表查询服务,输入哈希值就能查到明文。。2. 加盐:给密码加点“料”盐(Salt)3. 从加盐到Bcrypt:慢哈希才是王道加盐解决了彩虹表问题,但还有的风险。

2026-03-19 15:15:38 462

原创 京东社招——Java后端开发面试复盘

最近的社招面经

2026-03-12 14:16:03 112

原创 字节实习校招——Java 面经

字节飞书实习面试,面经总结。

2026-03-12 14:02:05 403

原创 一文搞懂后端数据脱敏:概念、场景与落地方案(Java 实战)

本文从后端接口返回链路出发,系统梳理了数据脱敏在实际项目中的落地方式,对比了手动处理、Jackson 自定义序列化以及注解 + AOP 等实现方案。

2026-01-26 14:21:18 1652

原创 业务系统里,为什么「最终结果」往往不是最重要的

很多业务系统最开始的需求仅仅是一句话:这个地方给我个最终结果就行。比如:本次风控是否通过?本次订单是否异常?学生成绩是否达标?一条规则是否命中?听起来都很简单,无非是根据你一些数据计算出一个 true / false 的结果填在这里就可以。

2026-01-21 13:39:59 644

原创 基于 Spring Boot 集成阿里云大模型实现 AI 简易对话功能

本文介绍了如何在 Spring Boot 项目中集成阿里云大模型,实现一个基础的 AI 对话功能。整体方案基于 langchain4j 社区版 DashScope Starter,通过较少的配置即可完成与大模型的交互,适合用于功能演示和快速验证。

2026-01-17 17:10:19 709

原创 LangGraph 与 LangChain 关系及 Agent 使用

本文结合代码示例介绍了LangChain及其衍生生态LangGraph的核心概念与应用。

2026-01-16 11:12:31 1510

原创 笔试程序题解析:行程记录整理 + 多条件排序

本文介绍了一个行程记录排序问题的解决方案。问题要求将乱序的行程记录(包含日期、城市名和到达/离开状态)按规则排序输出。解题思路分为四个步骤:1)解析输入数据;2)使用HashMap按城市归并到达和离开记录;3)转换为List并按到达日期升序排序,同一天到达时当天完成的行程优先,最后按城市名排序;4)格式化输出结果。解决方案通过定义Record类存储行程信息,利用Java集合框架实现高效的数据处理和排序,最终输出符合要求的行程列表。

2026-01-04 14:05:24 823

原创 Java 锁的实现原理与源码解析—— 从 synchronized 的 Monitor 到 AQS 的 acquire / release

并发编程的核心在于线程竞争失败时的处理机制。synchronized通过Monitor实现锁机制,包含EntryList(竞争失败线程)和WaitSet(主动等待线程)两种不同阻塞路径,采用锁升级策略优化性能。ReentrantLock基于AQS框架,通过state状态管理锁,采用"快路径优先"设计,竞争失败线程进入CLH队列等待精确唤醒。AQS提供了灵活的并发控制框架,支持自定义竞争语义,衍生出多种并发工具类。

2025-12-30 18:27:02 997

原创 看懂策略模式:从一次订单折扣计算说起!!

初次阅读这段代码时,没有看到明显的 if / else,却能根据订单类型执行不同的优惠逻辑,一度让我怀疑代码是不是“绕远了”。实际上,这是典型的策略模式应用,通过 Spring 自动注入策略集合,实现了运行时的动态分发。如果你还一知半解的话,多多动手多多尝试叭 ~

2025-12-25 17:57:16 642

原创 DTO 与 Entity 互转的实现方式(MapStruct)

MapStruct是一款高效的编译期Bean映射工具,相比反射实现的BeanUtils.copyProperties具有显著优势:1. 编译期生成代码,性能接近手写;2. 类型安全检查在编译阶段完成;3. 自动处理字段匹配和类型转换。通过@Mapper注解接口,MapStruct会在编译时生成具体实现类,支持Spring集成和多种类型转换。其核心价值在于:消除反射性能损耗,提前暴露类型错误,同时保持代码简洁。需要配置Maven依赖和注解处理器,推荐在Spring项目中使用@Autowired注入Mapper

2025-12-22 13:26:45 1014

原创 Java Stream API 使用总结

在Java 8之后,Stream API 已经成为日常开发中。但很多人对 Stream 的理解,仍停留在 filter + map + collect。本文结合,总结 Stream API 的。

2025-12-18 16:06:57 1036

原创 AI 圈:从零理解 MCP、Agent、Cursor、Claude Code

你用来写项目/写代码的 AI 工具台MCP:你为 AI 提供访问外部系统的“标准工具接口”Agent:负责用“思考 + 工具调用”完成任务的 AI 系统Cursor:MCP 在处理大资源时,用来“继续从上次位置读取”的进度标记一句话:开发者用 Claude Code 写 MCP 工具,Agent 再用 MCP 工具办事,Cursor 用来支持大数据读取。

2025-12-09 17:52:53 955

原创 Java 中 double 转 String 的大坑:为什么 0.0001 数值转换入库后变成了 1.0E-4?科学计数法如何完美避免?

本文探讨了处理小数值double类型数据时遇到的科学计数法、精度以及末尾多余零的处理问题。

2025-12-05 10:41:31 1127

原创 为什么 MyBatis 查询总是返回 null?原因比你想得多

在项目中遇到过这种情况吗:明明数据库有数据,SQL 在数据库里跑是有结果的,但通过 MyBatis 查询却一直返回null(或空对象、空集合)?这类问题常见但不容易定位——问题可能出在 SQL、Mapper、参数、类型转换、事务、数据源配置等任何一环。本文把常见原因按类别罗列,并给出逐步排查思路、代码示例与解决办法,希望能帮你快速定位问题。

2025-12-04 13:47:15 1281

原创 Java 中 Function 与 apply 的实际应用场景解析(含优化前后案例)

本文介绍了如何利用Java8的Function函数式接口优化重复的业务逻辑处理。通过将字段判空、格式化等操作封装为Function,可以显著减少if-else代码块,提高代码可维护性。

2025-12-04 11:55:01 1396

原创 Spring Boot 项目启动流程全解析:你以为在启动,其实在做这 10 件事

你看到的 ASCII 图案,就是在这个阶段打印的。这个文件一般默认位置是:src/main/resources/banner.txt 如果没有的话,则是因为 Spring Boot 默认不会生成该文件,需要手动创建,并开启相关的配置。它在启动前搞清楚你需要什么,在启动时把你所有需要的东西自动准备好,在启动后给你一个能直接跑业务的环境。准备启动参数加载配置环境创建应用上下文扫描自动配置初始化所有 Bean启动内置 Web 服务器执行启动回调发布启动完成事件所以——

2025-11-28 16:20:09 760

原创 别再乱写工具类了!Java Utils 最佳实践全解析(万字详解)

Java工具类设计规范与最佳实践

2025-11-28 16:03:18 847

原创 Java Map 你真的用对了吗?HashMap、LinkedHashMap、TreeMap 全解析

写 Java 的人每天都在用 Map,但你真的用对了吗?虽然都叫 Map,但底层结构、时间复杂度、使用场景完全不同。如果你还分不清什么时候用哪一个,那这篇文章就是为你写的。

2025-11-27 17:42:49 931

原创 后端如何处理“前端动态字段”?项目里遇到的真实场景与优雅解法(含实战代码)

本文针对前端动态勾选字段、后端需动态返回对应值的业务场景,提出了一套优雅解决方案。通过枚举建立中文字段名与实体类英文属性名的映射关系,利用反射机制动态获取实体类属性值,避免了大量if-else判断。

2025-11-27 17:07:40 1190

原创 后端 Excel 导入实战:从文件解析到行级校验

本文分享了Excel文件导入功能的完整技术方案。采用EasyExcel进行高效解析,通过表头校验、行级字段校验、组合唯一性校验等多重验证确保数据质量。强调全量校验通过后再统一入库,避免部分成功的情况,并提供清晰的错误提示。建议将额外逻辑异步处理以提高性能,同时记录完整日志便于问题追踪。该方案解决了常见导入功能存在的校验不完善、性能低下等问题,形成了一套稳定可靠的Excel导入体系。

2025-11-25 14:36:26 1367

空空如也

空空如也

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

TA关注的人

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