- 博客(41)
- 收藏
- 关注
原创 IDEA 修改项目名称,以及解决idea修改项目名后出现中括号[]的问题
今天在 idea 上改了项目名字,结果出现一个很尴尬的事情:改完之后,出现中括号,新名字在括号里。
2026-04-13 09:00:00
164
原创 绝对能解决IntelliJ IDEA 控制台中文乱码问题!!!
idea 运行代码,控制台的中文却是乱码,相信这个是所有 Javaer 都会遇到的问题,但是很惭愧,我工作 7 年才彻底解决这个问题。
2026-04-07 09:00:00
318
原创 Java官网下载JDK21版本详细教程(下载、安装、环境变量配置)
JDK 都发展到 26 了,估计不少骨灰级程序员都在使用 JDK 8。我用的是 JDK 21选择 JDK 21,下载 Linux 版本下载后,就是一个 tar.gz 的压缩包。
2026-04-07 09:00:00
56
原创 IDEA:Springboot项目的properties或yml文件中不提示,文件没有小绿叶图标
今天敲代码,想去中配置 Spring AI 对接 DeepSeek 大模型相关的配置,结果突然发现,yml 文件中居然没有自动提示了,我以为是我引入的依赖没有生效,再尝试了下,发现想简单配置个端口,都没有提示,齐了怪了Y。
2026-03-30 09:00:00
31
原创 Apache Tomcat 历史版本下载地址 官网地址
tomcat 默认端口是8080,启动后浏览器访问 ip:8080,如果能访问,说明启动是成功的。由于我在公司服务器上安装的,无法截图带出来,下面借用网友的截图。如果是按照上面说的,下载 tar.gz,比如 apache-tomcat-7.0.67.tar.gz,则安装的方式很简单,只需要解压缩就行。停止 tomcat 怎么停呢?还是 bin 目录下,有个 shutdown.sh 文件,是用来停止 tomcat 的。通常我们是要在服务器上安装,下载 zip或者 tar.gz,放在服务器上解压就行,免安装。
2026-02-11 09:00:00
413
原创 一文带你入门向量数据库milvus:含docker安装、milvus安装使用、attu 可视化,完整指南启动 Milvus 进行了向量相似度搜索
Collection是集合的意思,相当于MySQL中的表,MySQL中数据是存在表中。Milvus中数据是存在集合(Collection)中。更巧的是,Collections中也有字段、行和列的概念,如果实在不好理解,把它理解成MySQL中的表也可以官方文档中明确说明:Collection是一个二维表,具有固定的列和变化的行。每列代表一个字段,每行代表一个实体。这不就是跟MySQL中的表的概念一模一样吗。
2026-02-02 09:00:00
945
原创 Elasticsearch保姆级教程(2026新鲜出炉)
本文介绍了Elasticsearch的基础知识、发展历程和核心概念。首先讲解了Elasticsearch作为开源搜索引擎的特点及其在ELK技术栈中的核心地位。然后回顾了从Lucene到Elasticsearch的发展历程,突出了Elasticsearch分布式和RESTful接口的优势。重点阐述了倒排索引的原理,通过商品数据示例说明其工作方式。最后对比了Elasticsearch与MySQL的概念差异,并提供了Docker安装Elasticsearch和Kibana的详细步骤,包括环境配置和验证方法。全文为
2026-01-13 09:15:00
877
1
原创 IDEA 2025.3.1最新最全下载、安装、配置及使用教程(保姆级教程)
说到 Java 开发,都离不开 idea 这个专业开发工具。现在都 2026 年了,idea 最新版本是 2025.3.1,但是不少 Javaer 都在使用 2019 版本。我自己用的也不新,用的是 2022.3.1 版本。老版本已经用了很久,基本上不舍得更新版本。但是有个不得不更新的理由:代码飘红如上图所示,代码中使用了TimeUnit这个类,显示让我点击,就会引入,这并不是我想要的我想引入的是,显示却又飘红,仿佛这个类不存在一样。但是代码又能编译,也能正常跑起来。这个问题就很玄学。
2026-01-13 09:00:00
4750
2
原创 四款好用的 IDEA 插件,强烈推荐!!!不容错过
说到 Java 开发,都离不开 idea 这个专业开发工具。现在都 2026 年了,idea 最新版本是 2025.3.1,但是不少 Javaer 都在使用 2019 版本。我自己用的也不新,用的是 2022.3.1 版本。老版本已经用了很久,基本上不舍得更新版本。但是有个不得不更新的理由:代码飘红如上图所示,代码中使用了TimeUnit这个类,显示让我点击,就会引入,这并不是我想要的我想引入的是,显示却又飘红,仿佛这个类不存在一样。但是代码又能编译,也能正常跑起来。这个问题就很玄学。
2026-01-12 21:02:44
2631
原创 k8s详解之pod(2万字教程)
自定义容器的启动命令:就是修改容器默认的启动命令和Docker容器一样,k8s中容器也可以通过command、args用来修改容器启动默认执行命令以及传递相关参数。但一般推荐使用command修改启动命令,使用args为启动命令传递参数command:表示指令args:表示参数。
2025-12-15 09:00:00
1187
原创 k8s详解之controller (1万字详细教程)
官网地址:http://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/statefulset是用来管理有状态应用的工作负载API对象什么是无状态应用?什么是有状态应用呢?无状态应用:应用本身不存储任何数据的应用有状态应用:应用本身需要存储相关数据的应用用来管理某Pod集合的部署和扩缩(所以具备Deployment的一些特性),并为这些Pod提供持久存储和持久标识符号。
2025-12-15 09:00:00
1111
原创 k8s详解之Service (全网最详细教程)
官网地址:https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/定义:将运行在一个或一组Pod上的网络应用程序公开为网络服务的方法。说人话:就是为Pod提供网络服务,让我们在浏览器上可以访问问题:如果一组Pod(称为“后端”)为集群内的其他Pod(称为“前端”)提供功能,那么前端如何找出并跟踪要连接的IP地址,以便前端可以使用提供工作负载的后端部分?如果这是一个图片处理后端,它运行了3个副本。
2025-12-15 09:00:00
964
原创 k8s详解之存储卷(4千字详细教程)
官方地址:https://kubernetes.io/zh-cn/docs/concepts/storage/volumes。
2025-12-15 09:00:00
1974
原创 k8s详解之ConfigMap和Secret(2千字详细教程)
使用命令来创建configmapkubectl create configmp:是固定写死的my-config:自定义的configmap的名字下面实战创建一个configmap怎么查看configmap呢?# 查看configmap kubectl get configmap #或者 configmap是支持简写成cm的 kubectl get cm由于定义了2个键值对,所以data是2怎么查看configmap的详细信息呢?b比如查看configmap中有哪些数据。
2025-12-15 09:00:00
964
原创 记录一次生产事故:kafka消息堆积(经典面试题)
摘要: AI应用开发中遇到Kafka消息阻塞事故。用户上传大文本文件后,向量化处理超时,引发Kafka消费者重复消费。排查发现:1)Kafka消费者处理时间超过30分钟阈值,触发重平衡;2)接口超时设置与Kafka超时冲突,导致catch块未执行;3)消费者被踢出组后循环重试。临时解决方案:特定文件跳过处理并手动标记成功。次日问题重现,日志显示ReadTimeoutException持续存在,需进一步优化处理逻辑和超时配置。
2025-11-18 09:00:00
932
原创 ShdingSphere分库分表-史上最全教程,傻子都能看懂
使用 ShardingSphere 最常用的功能就是分库分表和读写分离,其它诸如数据加密、数据脱敏这些就不再介绍了,因为几乎用不到,一般都会采用其它方式来替代但是官方文档的第三章中的一些概念很重要,比如分片算法、分片策略等,只有理论掌握了,才能更好地去实践 看到一大堆的分片算法,初学者可能就一脸懵逼了,那么多怎么记得住啊?面试是问分片算法有哪些?要记住这么多分片算法吗?取模(也可以说取余)、哈希范围多字段的复合分片就行,因为这几个才是算法的本质。
2025-10-27 08:30:00
1203
原创 ShardingSphere分库分表实战
上一篇文章详细介绍了ShardingSphere的配置,教大家怎么阅读官方文档,怎么理解官方文档中的配置,今天用实战的方式教大家怎么分库分表。 我是对社区帖子表进行分表,分表的方式是对2取余进行分表,余0就进入0表,余1就进入1表。
2025-10-27 08:30:00
452
原创 Typora安装教程2026最新版,支持版本1.12.1
Typora的信息所在目录是:**C:\Users\你自己的用户名\AppData\Roaming\Typora**,尽管安装时选的是别的目录,比如我就是安装在D盘,但是激活信息一定在C:\Users\你自己的用户名\AppData\Roaming\Typora目录下。本人亲测过,上述两种方法(修改文件、生成序列号)都不行,第一种方法尝试后,运行Typora就闪退。由于我已经删掉了,所以我上面的截图中没有typora,下图是网友的图,有typora。",有个typora,直接删除它就行。
2025-10-15 09:00:00
4980
2
原创 Feign基本使用,SpringBoot整合Feign(超详细)
本文介绍了在微服务项目中配置和使用Spring Cloud OpenFeign的实践方法。首先在父pom.xml中定义Spring Cloud版本并引入Feign依赖,通过dependencyManagement统一管理子模块版本。重点说明了Feign接口的最佳实践:将Feign接口单独放在remote-user模块中,而不是直接写在服务模块或公共模块,这样其他服务模块只需引入该依赖即可使用。文中展示了如何在生产者端开发Feign接口(UserFeignClient)及对应的Controller实现(Use
2025-10-15 09:00:00
1471
原创 SpringBoot整合Nacos(史上最全教程)
本文通过教大家怎么阅读nacos的官方文档、怎么使用nacos整合SpringBoot和SpringCloud、以及版本的兼容问题
2025-09-28 09:00:00
1966
2
原创 SpringBoot整合Nacos 版本兼容适配 史上最详细教程
本文通过介绍官方文档的方式,教大家学会如何看官方文档、如何使用Nacos、以及如何处理SpringBoot和Nacos的版本兼容问题
2025-09-28 09:00:00
2862
原创 Java转大模型开发 SpringBoot整合LangChain4j实现AI对话
LangChain4j的目标是简化将大模型语言(LLM - Large - Language - Model)集成到 Java的过程。4就是for的意思,j就是java。所以LangChain4j就是LangChain For java。
2025-06-16 09:00:00
1740
原创 Java转大模型开发 SpringBoot整合LangChain4j接入DeepSeek
本文介绍了如何通过LangChain4j的Spring Boot Starter快速接入DeepSeek AI服务。主要内容包括:引入langchain4j-open-ai-spring-boot-starter依赖,配置API密钥、模型名称和基础URL;创建ChatController实现对话接口;以及测试过程中遇到的余额不足问题解决方案。通过简单配置即可快速集成DeepSeek AI服务,实现了"程序员怎么暴富"的对话示例。需要注意的是,使用前需确保DeepSeek账户有足够余额。
2025-06-16 09:00:00
594
原创 Spring AI官方文档怎么看,教你入门Spring AI
6年java程序员转大模型开发了,本文将教大家怎么阅读Spring AI官方文档,让大家少走弯路
2025-06-09 09:45:00
2033
原创 Java转AI大模型一文彻底搞懂大模型RAG
6年Java程序员,因公司做AI,所以转行AI大模型开发,刚学完RAG的基本概念和基本用法,给大家分享一下,让大家少走弯路
2025-06-09 09:45:00
2203
原创 Spring AI入门对接百炼平台大模型
Java程序员正式转AI了。Spring AI出来一年多了,但是我最近才开始学它。所以把我学习的方式,遇到的问题分享给大家,让大家少走弯路项目开源地址:gitee:其中rent-ai服务引入了Spring AI。
2025-06-09 09:30:00
1269
原创 Redis主从复制、哨兵和集群
Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。一个Redis集群通常通常由多个节点(node)组成,每个节点相互独立。
2024-11-01 09:45:00
953
原创 Redis持久化之RDB和AOF
我们知道Redis是内存数据库,数据都加载在内存中,但是数据也是需要持久化到磁盘中的,如果不保存到磁盘中,那万一Redis服务器重启了,那数据不就丢了吗?所以持久化就是将内存中的数据保存到磁盘里众所周知,Redis的持久化有2种方式,分别是RDB和AOF,下面就讲下这两种方式的区别。
2024-11-01 09:30:00
3136
原创 Redis6种底层数据结构之压缩列表
1)压缩列表是一种为节约内存而开发的顺序型数据结构2)压缩列表被用作列表键和哈希键的底层实现之一3)压缩列表可以包含多个节点,每个节点可以保存一个字节数组或者整数值4)添加新节点到压缩列表,或者从压缩列表中删除节点,可能会引发连锁更新操作,但是这种操作出现的概率不高,所以对性能影响不大。
2024-10-31 09:45:00
851
原创 Redis6种底层数据结构之整数集合
整数集合是集合键(也就是SET)的底层实现之一,当一个集合只包含整数值元素,且集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现。
2024-10-30 21:23:47
2224
原创 Redis5种底层数据结构之字典
Redis的字典使用哈希表作为底层实现,一个哈希表里可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对。
2024-10-30 09:00:00
833
原创 Redis5种底层数据结构之链表
3. 带表头指针和表尾指针。通过list结构的head指针和tail指针,程序获取链表的表头节点和表尾节点的复杂度为O(1)4. 带链表长度计数器:通过list结构的len属性获取链表节点数量,所以获取链表节点数量的复杂度为O(1)表头节点的prev指针和表尾节点的next指针都指向NULL,对链表的访问以NULL为终点。下图是一个list结构和3个listNode结构组成的链表。链表节点带有prev和next指针。
2024-10-28 10:00:00
193
原创 Redis6种底层数据结构之跳表
跳表是一种有序数据结构,支持平均O(logN)、最坏O(N)复杂度的节点查找跳跃表作为有序集合键的底层实现之一,如果一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员是比较长的字符串时,Redis就会使用跳表来作为有序集合键的底层实现。
2024-10-26 13:29:11
706
原创 Redis5种底层数据结构之SDS(简单动态字符串)
如上图所示,SDS结构中有3个属性:2.1 获取字符串长度的复杂度2.2 杜绝缓冲区溢出2.3 减少修改字符串时带来的内存重新分配次数2.3.1 空间预分配2.3.2 惰性空间释放2.4 二进制安全2.5 兼容部分C字符串函数3 总结
2024-10-25 17:58:03
296
原创 基因法分表
比如分16张表,16是2的4次方。比如我的userId就是189,除以16的余数是13,13转成二进制就是1101,正好就是userId(189)的后4位,这个1101就是基因。如果如果订单ID的二进制数据的最后4位加上这个基因,那订单ID除以16,也能定位到第13张表,然后去第13张表根据订单ID来查询就行。具体怎么做呢,比如订单ID转成二进制之后是0100(随便写的一个二进制哈),那0100的后面拼接上基因1101,就能得到新的二进制01001101,然后转成十进制,就是新的订单ID了。
2024-10-23 21:09:42
545
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅