自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蜀道难,难于上青天。

蜀道难,难于上青天。

  • 博客(220)
  • 资源 (24)
  • 收藏
  • 关注

原创 面试官问我SpringAI+RAG,我当场汗流浃背:Java程序员如何应对AI融合面试?

Java程序员在AI时代需要"两条腿走路",既要夯实Java技术栈基础,又要积极拥抱AI新技术。Spring AI降低了AI应用开发门槛,但核心的架构设计能力、问题解决能力仍然是面试考察的重点。

2026-04-13 19:01:15 381

原创 面试官问我SpringAI+RAG,我当场汗流浃背:Java程序员如何应对AI融合面试?

Java程序员面对AI融合面试,需要建立"传统技术栈+AI技术栈"的双重能力体系。不仅要掌握Java生态的深度,更要理解AI技术的应用边界和落地场景。从RAG到Agent,从向量数据库到MCP协议,每一个技术点都需要结合具体业务场景来理解和应用。

2026-04-07 19:00:58 322

原创 面试官问我SpringAI+RAG,我当场汗流浃背!Java程序员转型AI的血泪史

Java程序员转型AI需要补足:1)深度学习基础 2)大模型原理 3)向量检索技术 4)Agent架构设计。建议从Spring AI入手,逐步深入RAG和Agent开发。

2026-04-03 17:06:39 315

原创 面试官问我SpringAI+RAG,我当场汗流浃背:Java程序员如何应对AI融合面试?

面试官:叶小白,先来个简单的。JDK8到JDK17,你觉得最大的性能提升是什么?叶小白:这个我知道!JDK17的ZGC垃圾回收器延迟更低,还有Records语法糖,写代码更爽!面试官:不错,基础还算扎实。那在电商高并发场景下,你如何用JVM参数优化Spring Boot应用?叶小白:呃...设置-Xmx和-Xms,然后...用G1GC?面试官:继续。Redis缓存穿透怎么解决?叶小白:布隆过滤器!还有缓存空对象!面试官:MySQL分库分表,跨分片查询怎么优化?叶小白:这个...用全局索引?或者...业务上避

2026-04-03 15:30:39 333

原创 面试官:说说SpringAI+RAG架构?我:这个嘛...我们项目用的是ChatGPT Plus会员

作者:技术面试专栏时间:2024:P8技术专家,精通Java全栈+AI架构:叶小白,3年经验Java开发。

2026-04-03 14:02:34 370

原创 面试官问我SpringAI+RAG实现智能客服,我直接汗流浃背了!

本次面试覆盖了从Java基础到AI前沿的完整技术栈,体现了当前大厂对"Java + AI"复合型人才的需求。候选人需要在传统后端功底扎实的基础上,快速掌握AI工程化能力。核心考察点基础深度:不只是会用,更要懂原理架构思维:从单点到系统,从技术到业务AI工程:RAG、Agent等前沿技术落地能力问题解决:系统性思考,多维度分析给面试者的建议建立知识体系:Java → 架构 → AI的渐进路径项目实战:至少完成一个Spring AI + RAG的完整项目。

2026-04-03 13:02:39 308

原创 面试官问我SpringAI+RAG,我当场汗流浃背!Java八股背熟了,结果死在AI面试题上

Java+AI融合已成为大厂面试新趋势,单纯背八股已不够用。需要深入理解AI技术原理,并能结合具体业务场景落地。建议开发者:夯实Java基础 → 掌握微服务架构 → 深入学习AI工程化 → 实战项目经验积累。

2026-04-03 10:23:42 277

原创 Java与AI融合:AIGC企业知识库的搞笑面试实战

这篇文章通过轻松幽默的面试对话形式,意在揭示Java与AI相结合的热门技术及其在真实世界中的应用。希望能为读者在面试准备及技术学习上提供帮助!

2026-04-02 17:50:19 171

原创 互联网大厂Java求职面试:谢飞机的求职之旅

当然知道,线程池就像一个游泳池,里面有很多个线程……其实我不太清楚!呵呵,也对!那你是否了解HashMap的底层实现原理?HashMap,呃,就是把东西放进去,然后根据哈希值拉出来,是吧?有点意思!你能描述一下ArrayList的扩容机制吗?我知道扩容要……要复制啊!但是具体的我记不太清了!Spring Boot就是更简单的Spring,学习更加轻松吧!ACID就是四个东西……哦,不好意思,记不太清楚了!面试官耐心地听着,每一次谢飞机的回答都充满了搞笑的元素。

2026-04-02 15:23:00 369

原创 Docker 缓存 / 资源彻底清理指南:从基础到进阶,一文搞定空间释放

本文详细介绍了Docker资源清理的全流程方案。首先通过docker system df查看资源占用情况,然后提供两种清理方式:安全清理(docker system prune)仅删除无用资源,彻底清理(docker system prune -a)删除所有未使用资源但需谨慎。针对不同场景还给出了构建缓存、数据卷等专项清理方法,特别提醒数据卷清理存在风险需先备份。Windows系统需额外处理WSL 2缓存。最后总结了常用命令速查表,建议定期执行安全清理以维护Docker环境稳定。

2026-04-02 14:54:39 604

原创 使用LangChain4j打造你的第一个AI应用

LangChain4j是一个简化Java应用集成大型语言模型(LLM)的开发框架。它提供统一API接入多家AI服务商,内置提示词模板、聊天记忆等功能模块,类似Spring对Java开发的简化。与Python/JS的LangChain不同,它是专为Java生态设计的框架。通过Spring Boot集成示例展示了快速构建AI应用的过程:添加依赖、配置模型参数、创建Controller调用ChatModel。测试表明只需几行代码即可实现AI对话功能,如发送"你好,你是谁?"获取模型响应。该框架

2026-04-02 10:13:31 415

原创 绿联DX4600 AList部署及挂载阿里云盘

​ 因为云盘总是封禁已经转存的文件(珍惜影片),实在受不了了,就像购买个NAS构建私人云存储,正好趁着双11购入了绿联的DX4600,本来想购入群晖或者威联通等专业NAS,因为不想折腾,最终在极空间和绿联中选择了绿联DX4600,安装啥的按照绿联文档或者视频很容易,之后就是使用Docker部署AList之后将阿里云盘和百度网盘的内容同步到本地NAS中(提醒自己购买NAS部署私人云存储一点不便宜,慎重!!!

2023-11-09 18:01:52 9617

原创 IDEA 部署服务到 Docker 容器

IDEA 部署服务到 Docker 容器

2023-11-09 15:58:26 1210

原创 Spring boot MongoDB实现自增序列

操作指令,经过测试100个并发下没有发现重复id的产生,但是还是建议使用MongoDB自己的Id生成策略,毕竟MongoDB作为非关系型数据库,如果维护一个自增序列,性能上肯定没有ObjectId好,而且分片情况下需要自己校验自增序列的唯一性,当然在某些特殊的业务场景下必须要使用自增序列的,也属于正常,如果大家有更好的方案,欢迎讨论。在某些特定的业务场景下,会需要使用自增的序列来维护数据,目前项目中因为使用MongoDB,顾记录一下如何使用MongoDB实现自增序列。的值作用本次序列,实现自增序列。

2023-07-04 11:19:13 2043

原创 Spring boot MongoDB 实现自定义审计字段

是Spring Data提供的一个接口,用于提供当前执行数据库操作的"审计员"的信息。"审计员"可以是当前操作的用户、系统的默认用户或其他相关信息,用于记录和跟踪数据的变更历史。,只要在保存文档之前将数据拦截处理就可以实现字段填充。除了上面这种方式,还可以通过实现。的作用是为实体类中标记了。

2023-07-03 18:22:43 1644 1

原创 Spring Data MongoDB实现@DBRef级联存储

使用@DBRef进行级联存储的方式就是通过继承`AbstractMongoEventListener`并重写`onBeforeConvert`方法在保存文档之前先保存子对象,就可以实现级联存储,需要注意,使用当前配置会全局生效,如果想要自定义级联存储可以使用自定义注解实现,扫描指定注解后进行级联存储。

2023-07-03 16:44:16 1606

原创 Springboot MongoDB封装通用Servcie

封装的通用Service,也可以使用之前文章自定义Repository来实现,如果同学们有更好的方案欢迎讨论。构建通用Service的实现,此处基于。实现,当然也可以使用之前文档自定义通过。构建通用Service,

2023-07-03 15:51:13 1273

原创 Springboot MongoTemplate封装通用Repository

虽然Spring boot也提供了Mongodb JPA的操作类MongoRepository,但面对复杂操作时,没有MongoTemplate操作灵活,两个可以配合使用,取长补短。

2023-07-03 15:24:22 869

原创 MongoDB使用ObjectId作为主键时id序列化问题

默认主键生成策略,是 MongoDB 提供的默认生成方式,使用 12 字节的 BSON 类型存储主键,包含了时间戳、机器标识、进程标识和随机数)的字段作为主键,也可以使用注解@Id指定主键,可以作用于字符串、数字、对象等,除了使用@Id指定主键还可以自定义主键,例如自增序列等,但是建议使用默认生成策略。MongoDB主键,由时间戳(四个字节)、机器ID(三个字节)、进程ID(两个字节)、计数器(三个字节)四部分构成。以上就是使用ObjectId作为主键时序列化解决方案,如果有更好的解决方案欢迎探讨。

2023-07-03 15:19:17 1320

原创 工欲善其事必先利其器(Windows)

此命令只是临时生效,关闭窗口后重置,使用以下命令永久配置,回车后如提示没有文件,按照提示创建文件。将单引号中的内容替换为想要的主题名称或Github地址,保存退出即可,例如想要切换为。可以像使用Linux终端一样爽,可以记录命令历史、命令提示、Table补全等等。在PowerShell中执行以下命令,安装Scoop。默认的主题其实已经足够了,但是如果想要切换主题,在。中列出主题名称及样式,选择喜欢的主题进行切换。,然后执行以下命令,查看Clink安装目录。,并将以下内容复制到文件,保存后重启。

2022-10-19 16:21:44 1166

原创 nvm安装及使用

如不卸载原有版本,会造成冲突,安装完nvm发现不了已安装的nodejs版本,建议卸载之前的版本。下载完解压,选择没有特殊字符及中文的目录(否则会提示找不到命令或目录)后一直下一步安装即可。能够发现,此时已被使用的版本前面有了星号,且提示当前版本被使用,此时再次使用命令。发现提示没有命令,不要慌,不是没有安装成功,而是没有使用。如不配置,安装nodejs贼慢,建议配置。npm配置淘宝镜像,如不配置,安装包特别慢。查看已经安装的nodejs版本列表。使用指定版本的nodejs,以。注意安装成功,此时使用。

2022-10-14 23:05:02 1794

原创 设计模式之组合模式

组合模式(Composite Pattern)是一种结构型设计模式, 将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。组合模式用于将多个对象组合成树形结构以表示“整体-部分”的结构层次,组合模式对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性。简单来说,需要实现树状结构(整体-部分),适合使用组合模式,反之不适合(不代表不能用,需要特殊适配,得不偿失)。

2022-09-29 16:44:42 770

原创 设计模式之桥接模式

桥接模式(Bridge Pattern)是一种结构型设计模式, 通过将抽象部分与实现部分分离,把多种可匹配的使用进行组合, 从而能在开发时分别使用。举个例子,例如某个手机厂商生产三个品牌的手机:小米、华为、苹果,每个品牌又分为64G、128G、256G,那么,将会有13个类:桥接模式用聚合的方式代替继承,降低抽象与具体的耦合,重点在于“解耦”,一句话总结:双重维度扩展。桥接模式和组合模式的区别:组合模式侧重于整体与部分,桥接模式侧重于同级别类。

2022-09-27 11:24:11 827

原创 设计模式之适配器模式

适配器模式(Adapter Pattern)是一种结构型设计模式, 它能使接口不兼容的对象能够相互合作,即定义一个包装类,用于包装不兼容接口的对象。适配器模式是指定义一个适配器类,将一个已经存在的类,转换成目标接口所期望的行为形式,总而言之建议尽量使用对象的适配器模式,多用合成/聚合、少用继承。

2022-09-25 21:46:31 386

原创 设计模式之原型模式

原型模式是一种创建型设计模式,是指创建新对象的时候,根据现有的一个原型来创建。简单来说就是就是对象的克隆()。原型模式分为浅拷贝和深拷贝:(浅复制)只是拷贝了基本类型的数据,而引用类型数据,只是拷贝了一份引用地址。(深复制)在计算机中开辟了一块新的内存地址用于存放复制的对象。如果你有一个对象, 并希望生成与其完全相同的一个复制品,那么你可以用原型模式。

2022-09-24 22:13:14 378

原创 设计模式之创建者模式

Builder构建器模式也被称为生成器模式,是一种创建型设计模式, 分离复杂对象的创建和表示。简单理解就是内部有许多“小工厂”创建对象,最终来组建一个完全体。创建者模式让我想起来很早之前的一部动画片《战神金刚》,组成脚和腿,组成躯干,我来组成头部。创建者模式和模板方法模式极其相似,创建者模式强调的是对象的创建,模板方法模式强调的是方法的执行。创建者模式和工厂模式的区别,创建者模式侧重于产品的类型和创建顺序,工厂模式侧重于创建产品。

2022-09-24 12:10:51 297

原创 设计模式之工厂模式

工厂模式是一种创建型设计模式, 在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型(继承、多态)。工厂模式划分为三类:简单工厂(静态工厂)模式、工厂方法模式、抽象工厂模式,在GoF的《设计模式: 可复用面向对象软件的基础》将简单工厂模式划分为工厂方法模式。一句话表示:任何可以产生对象的方法或类,都可以称之为工厂。

2022-09-22 18:29:02 382

原创 设计模式之单例模式

单例模式是一种创建设计模式,确保类只有一个实例,同时为此实例提供全局访问点,换句话说就是在JVM中,某个类只允许被创建一次(唯一实例),之后所有的操作都是基于同一个实例。单例模式同时解决了两个问题(保证类只有一个实例、提供全局访问点),所以违反了单一职责原则。以上几种单例模式实现方式中,除了枚举方式外,其他几种方式都可以通过序列化和反序列化绕过类的private构造方法从而创建出多个实例(实际开发中也不会有人去这么做,费力不讨好)。

2022-09-21 17:29:52 955

原创 系统设计原则及技术指标

不要为了用某项技术而使用,某项技术的使用是为了应对业务增长带来的系统瓶颈问题,例如一个简单的OA系统,你非要使用微服务、分布式架构、亿级流量缓存,除了增加了开发、运维成本,还要应对开发过程中的种种问题,“不是贵的才是最好的,适合自己才是最重要的。系统的初期,以核心业务为主,快速上线,占取市场份额,等待用户及市场反馈,及时调整需求进行项目迭代,不要一开始就想开发一个淘宝或者京东,也许你可以开发出来,但是市场份额已满,到头来一场空。当部分代码在多个地方出现,或者你有想要拷贝的欲望时,证明需要重构次部分代码了。

2022-09-20 17:28:34 2479

原创 23种设计模式总结

设计模式(Design Patterns):是指在软件开发中,经过验证的,用于解决在特定环境下、重复出现的、特定问题的解决方案设计模式概念首次出现在编程领域是在1994年,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四人(简称GoF)合著出版了一本名为设计模式: 可复用面向对象软件的基础的书,该书中讲述了使用23种设计模式解决了面向对象的各种问题。• OCP: 总纲,对扩展开放,对修改关闭• SRP: 类的职责要单一。

2022-09-20 17:16:05 346

原创 Docker 部署nginx记录

Docker 部署nginx

2022-07-26 17:10:49 624 1

原创 No qualifying bean of type问题解决

No qualifying bean of type问题解决前言No qualifying bean of type ‘xxx.xxx.xxx’ available: expected single matching bean but found 2:xxx.xxx.xxx对于一个java开发新手来说, 应该经常会遇到这个问题,而且还不好意思询问周围同事,不要怕,今天就让我们解决掉它。问题及解决方案问题1包扫描不正确或未扫描默认情况下,如果使用了springboot,他会默认扫描启动类(

2022-05-06 16:58:21 68482

原创 Springboot集成Swagger2

Springboot集成Swagger2前言​ 多年以前写过一篇 springMVC整合swagger(亲自试验完全可用),但随着springboot的流行,今天记录一下springboot集成swagger2的使用过程,swagger3的集成类似只不过依赖调整了一下,后面会提到。集成添加maven依赖<properties> <swagger.version>2.9.2</swagger.version></properties><!

2022-05-06 15:47:28 809

原创 HTML中给div加超链接

HTML中给div加超链接前言​ 最近开发一个静态公司官网,其中有四个推荐位,推荐位由图片,标题,简介组成,要求点击推荐位的任意位置皆可跳转到指定页面。解决方式方式一使用 window.location.href 跳转,如下代码所示:<div class="recommend" onclick="window.location.href='https://first.com';return false"> <img class="recommend_img" src=

2022-04-25 15:56:22 7072

原创 Git分支合并(merge)时忽略某个文件或者目录

Git分支合并(merge)时忽略某个文件或者目录前言​ 最近使用VUE开发构建了项目,因为打包发布引发了一场小意外,就是不同分支的dist文件夹合并时发生冲突,而且有时先打包后合并的分支,导致两个分支实际发布的是同一套代码,导致乌龙事件的发生,虽然很快找到了问题,但是还是有些尴尬,本文主要记录如何在合并分支时忽略某些文件或者目录。操作步骤1. 定义虚拟的合并策略git config --global merge.ours.driver true其他配置可参考 Git配置2. 编辑规

2022-04-21 10:50:29 6783

原创 Ucloud之us3不同区域文件同步

us3文件同步

2022-04-13 16:49:54 388

原创 区块链开发之Metamask使用调研

区块链开发之Metamask使用调研支持的浏览器​ 链接Metamask自动链接Metamask钱包。代码示例const Web3 = require("web3");const ethEnabled = async () => { if (window.ethereum) { //获取账户地址 const account = await window.ethereum.request({method: 'eth_requestAccounts'}); c

2022-02-23 16:27:56 16481

原创 常用软件推荐 - Java开发

常用软件推荐 - Java开发前言​ 本人Java开发者一个,本文章主要记录自己使用的一些软件,如果喜欢可以下载安装体验一番,这里我今介绍我使用过的或者目前正在使用的软件,毕竟有了靠谱的工具会大大增加我的的工作效率及生产力。开发工具IntelliJ IDEA这个没什么可以说的,毕竟Java开发神器,没有不使用的吧,如果有请保持沉默。Navicat Premium虽然IDEA中内置了数据库工具,但是相比较而言,Navicat使用更加丝滑,支持提示、补全等功能。当然还有jetbrains家

2022-02-23 15:57:15 217

原创 PicGo + Gitee实现markdown图床

PicGo + Gitee实现markdown图床

2022-02-22 18:28:56 587 2

原创 Windows 命令执行时间统计方式

Windows 命令执行时间统计方式前言​ 日常开发过程中经常会遇见需要统计命令执行时间的需求,所以本片文章主要记录一下本人经常使用的几种方式。常用方式Measure-Command介绍在内部执行脚本并计算操作的执行时间。使用方式Measure-Command{你的命令}例如:Measure-Command{echo hello}Measure-Command{echo hello}----------------------------------------------Day

2021-12-28 15:24:08 7454

运维工程师必会的109个Linux命令

运维工程师必会的109个Linux命令,适用于初学者

2015-11-19

分片上传文件工具类FileInfoUtils

分片上传文件工具类,对应文章为:https://blog.csdn.net/y534560449/article/details

2022-04-20

Auto.js Prov7.0.8-3[免登录Pro版]_sign.apk

Auto.js Prov7.0.8-3[免登录Pro版]

2021-04-13

SecureCRT6.2.0.195

SecureCRT6.2.0.195,学习linux的必备工具

2015-11-19

mybatis逆向工程生成项目

mybatis逆向工程生成项目,下载下来只需修改数据库驱动类型和需要生成的表名称即可,操作简单直接运行GeneratorSqlmap的main方法即可生成

2016-12-06

navicatpromium安装加破解包64位

解压后直接安装,安装完运行破解文件即可。

2016-10-29

ssm整合swagger

本项目是基础的ssm整合+与quartz+swagger整合案例

2016-12-16

Bandicam[录屏软件].zip

Win用户福利,轻量级录屏软件

2021-04-13

Defender Control v1.7[关闭win自带防火墙].zip

Win10 自带防火墙占用资源大,不用怕,一键关闭,一键开启

2021-04-13

FastStoneCapture_9.4_Portable[录屏].exe

小巧简单的录屏软件

2021-04-13

高级重命工具(Advanced Renamer)便携版

一键批量重命名

2021-04-13

mybatis二级缓存学习

mybatis 二级缓存学习

2016-12-05

Python安装MySQL安装包 64位 py2.7 [exe文件]

python的mysql连接依赖模块

2016-12-01

mybatis逆向工程生成

mybatis逆向工程生成 包含jar 和配置文件

2016-12-06

python学习CHM参考文档

适合初学者的python CHM文档

2016-12-06

ssm+分页整合

ssm和分页整合

2016-12-05

spring+springmvc+mybatis整合源码

spring+springmvc+mybatis整合案例,简单易懂

2016-12-05

python的chm帮助文档

python的chm帮助文档,初学者的瑰宝,高手的甜点

2015-11-19

HttpClient所需的jar包

HttpClient所需的jar包

2016-12-21

SSM精华案例

spring+springmvc+mybatis精华版

2017-03-09

java发送邮件jar包

java发送邮件jar包

2016-12-08

微信接入源码案例

微信接入源码案例

2016-12-08

SSM项目集成shiro

SSM项目集成shiro

2016-12-19

空空如也

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

TA关注的人

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