- 博客(21)
- 收藏
- 关注
原创 面试官:你说说HashMap底层结构?我从数组+链表+红黑树,到扩容死循环全讲透了
位运算效率高于扩容时节点位置计算简单(上面已讲)减少哈希碰撞,使分布均匀根据泊松分布,链表长度达到8的概率极低(千万分之六),此时转为红黑树能保证查询 O(log n)。理解 HashMap 不光是背八股文,更是学习空间换时间、算法优化、数据结构设计的绝佳案例。建议把putVal和resize的源码自己在 IDEA 里调试一遍,相信我,调试完你再也不会忘。➕ 关注我,持续输出 Java 硬核干货延伸阅读:[我写的] ConcurrentHashMap 从源码到面试,一次性讲透。
2026-05-15 11:08:48
192
原创 面试官:你说说 HashMap 的 put 过程?我直接把这篇文章甩给他,当场通过!
HashMap 作为 Java 集合框架中最常用的数据结构之一,几乎贯穿了我们日常开发的每个角落。同时它也是面试中的“常驻嘉宾”,从数据结构到线程安全,从 JDK 7 到 JDK 8 的变化,总能问出深度。很多同学能背出“数组+链表+红黑树”,但当被问到扰动函数、扩容死循环或者为什么容量必须是 2 的幂时,就开始含糊。今天这篇文章,我们将从源码角度彻底拆解 HashMap 的 put 过程。
2026-05-15 10:05:01
197
原创 Java 环境变量配置超详细教程(Windows 10/11)
环境变量是操作系统中用来指定运行环境的一些参数。比如我们安装完 JDK 后,系统并不知道java命令在哪里,这时就需要通过配置环境变量来告诉系统。│ Java 环境配置清单 ││ ✅ 1. 下载并安装 JDK ││ ✅ 2. 新建系统变量 JAVA_HOME = D:\Java\jdk-17 │。
2026-05-14 15:02:36
229
原创 Spring Boot 项目端口被占用 - 三种终极解决办法
System.out.println("应用将启动在端口: " + port);- [方法一:命令行查找并杀死占用进程(最常用)](#方法一命令行查找并杀死占用进程最常用)System.out.println("找到可用端口: " + port);System.out.println("=== 常用端口检查 ===");│ 2. 环境变量 SPRING_BOOT_PORT=8081 │。- [方法三:使用注解动态配置端口(最灵活)](#方法三使用注解动态配置端口最灵活)
2026-05-14 14:53:32
331
原创 06-Docker容器化与生产部署
知识点掌握程度项目打包配置✅ 掌握Docker容器化✅ 掌握Docker Compose编排✅ 掌握Kubernetes部署✅ 掌握CI/CD流水线✅ 掌握Prometheus监控✅ 掌握ELK日志收集✅ 掌握运维脚本✅ 掌握恭喜你完成了《Java Spring AI智能对话系统实战》系列全部6篇文章的学习!通过这个系列的学习,你应该已经掌握了:✅ Spring AI框架的使用✅ 企业级后端架构设计✅ 多AI模型集成✅ Prompt工程技巧。
2026-05-13 09:21:19
9
原创 05-前端高级特性与用户体验优化
流式响应(Streaming Response)是指服务器分批次将数据发送给客户端,而不是等待所有数据准备完毕后一次性返回。这种方式在AI对话场景中尤为重要,可以让用户看到"打字机"效果,提升用户体验。│ 传统响应 vs 流式响应 ││ 【传统响应】 │。
2026-05-13 09:20:28
9
原创 04-前端对话界面组件开发
*** 对话相关类型定义*/// ==================== 消息相关 ====================// 消息角色// 消息模型id?// 消息元数据model?
2026-05-12 08:43:40
12
原创 03-多模型集成架构与Prompt工程
Prompt(提示词)是我们与AI模型交流的方式,好的Prompt可以显著提升AI的输出质量。│ Prompt 的组成部分 ││ │ (角色定义) │ │ (用户输入) │ │ (AI输出) │ ││ System: 你是一个专业的Java程序员 │。
2026-05-12 08:41:28
57
原创 02-企业级对话后端服务
*** 业务异常*/@Getter/*** 错误码*//*** 错误消息*/// ========== 常用异常便捷方法 ==========return new BusinessException(404, "会话不存在: " + sessionId);return new BusinessException(400, "会话已关闭: " + sessionId);
2026-05-11 17:46:01
19
原创 01-环境搭建与项目创建
Spring AI 是 Spring 官方推出的 AI 集成框架,旨在简化 Java 应用与 AI 大模型的集成过程。它提供了统一的 API 接口,支持多种 AI 服务提供商,让 Java 开发者能够轻松地在应用中集成 AI 能力。Spring AI 的核心优势特性描述统一API一套代码支持多种AI模型类型安全强类型支持,减少运行时错误Prompt管理强大的Prompt模板和参数控制流式响应支持Server-Sent Events实时返回工具调用支持Function Calling功能知识点掌握程度。
2026-05-11 17:44:30
1089
原创 Git误操作急救手册大纲
如何找回未跟踪的文件?reset和revert的区别?如何彻底删除敏感数据?git-filter-repo重写历史 git-archive备份仓库 第三方GUI工具恢复界面。(Git 2.23+)恢复工作区文件 从暂存区恢复未commit的文件。查找悬空对象 通过.git/objects目录手动恢复 使用。文件配置 定期推送远程备份 重要操作前创建临时分支 使用。(Git 2.23+)取消暂存。撤销commit但保留更改。从reflog恢复误删分支。清理本地记录的远程已删除分支。彻底丢弃最后一次提交。
2026-03-23 15:37:51
18
原创 Spring Boot 3.0 深度解析:新特性与迁移实践
Spring Boot 3.0 作为框架的重大版本更新,不仅带来了技术架构的现代化,还为开发者提供了更强大的工具和更优的性能。通过迁移到 Java 17+ 和 Jakarta EE 9+,Spring Boot 确保了与 Java 生态的同步发展;而 GraalVM 原生镜像的支持,则为云原生和容器化部署提供了新的可能性。进一步提升性能:持续优化启动时间和运行时性能增强云原生能力:深度集成 Kubernetes 和云服务简化开发者体验:提供更智能的工具和更清晰的文档扩展生态系统。
2026-03-20 16:34:09
357
原创 VsCode安装Vue相关
JavaScript(ES6) code snippets —— ES6语法智能提示以及快速输入,除js外还支持.ts,.jsx,.tsx,.html,.vue,省去了配置其支持各种包含js代码文件的时间。2// 配置后可通过下面命令来验证是否成功 npm config ls // 此时:metrics-registry = "https://registry.npmmirror.com"表示设置成功。去nodejs 下载版本 https://nodejs.org/zh-cn/download。
2026-01-05 10:50:00
349
原创 SQL学习部门表和员工表中插入50w数据
set autocommit =0 把autocommit设置成0。-- 命令开启:允许创建函数设置:(global-所有session都生效)-- 执行存储过程,往emp表添加50万条数据,编号从100000开始。-- 执行存储过程,往dept表添加1万条数据。-- 用于随机产生区间数字。-- 随机产生字符串。
2024-02-27 13:18:29
503
原创 Linux 命令
Linux中jar包启动和jar包后台运行Linux 运行jar包命令如下:方式一:java -jar shareniu.jar特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出那如何让窗口不锁定?方式二java -jar shareniu.jar &&代表在后台运行。特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。继续改进,如何让窗口关闭时,程序仍然运行?方式三nohup java -jar
2022-01-28 09:28:27
111
原创 Idea中Module is not specified解决办法
svn检出的springboot 项目运行不了!!!edit configuration ->configuration->environment->use classpath of module,选择要运行的项目,但是里面有可能是空的,没得选择!!!!!!!!!project structure ->modules 如果有要运行的项目点击-号将其删除,再点+选择import module 重新导入maven项目,再重新编辑 configuration,终于可以...
2021-07-24 09:40:16
983
原创 2021-07-08
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-07-08 08:54:54
96
原创 idea中遇到的运行代码问题-pasring Java不动
组长让在公司svn上检出2个项目到本地跑起来,其中一个项目运行正常,另一个项目配置好环境,点运行,却一直卡在parsing Java不动.关了也没反应.(一定要有耐心,不能不动就把软件关了,发现不了错误!!!)以为自己检出的有问题,删除,重新检出,配置和第一个项目相同,却还是不行.于是上网搜索,找到的解答是jdk版本不对,检查jdk版本一致.没办法点运行放那不动,最后一看报错了HeapDumpOnOutOfMemoryError,总结报错不可怕,就怕不报错.报错了才知道解决方向.以下是在网上搜到的解决办
2021-07-03 11:12:29
1324
Java 数据挖掘实战项目
2026-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅