- 博客(140)
- 收藏
- 关注
原创 向量数据库
大规模生产场景:优先选Milvus(开源、可扩展)或Pinecone(云托管、零运维);轻量原型 / 小应用:选Chroma(零配置)或Qdrant(简单部署);混合检索(向量 + 结构化 / 文本):选Weaviate(易用)或Vespa(大规模);纯检索库(需自主搭服务):选Faiss(速度快、轻量)。实际选择时需结合 “数据规模、成本预算、运维能力、功能需求” 综合评估,必要时可先通过小规模测试验证性能。
2025-08-17 23:35:37
378
原创 Java项目中短信的发送
发送短信的核心流程是:通过第三方服务商的 API 接口,将短信内容、接收号码等参数传递给服务商服务器,由服务商完成短信的实际下发。选择第三方短信服务商并完成注册配置;获取调用 API 所需的凭证(如 AccessKey、密钥等);在项目中引入服务商提供的 SDK 或通过 HTTP 请求调用 API;编写代码封装发送逻辑(参数校验、请求构建、响应处理);处理异常情况(网络错误、参数错误、余额不足等)。
2025-08-17 16:13:03
555
原创 JAVA项目中邮件发送功能
Session: 表示邮件会话,是所有邮件操作的基础Message: 表示邮件消息,是邮件内容的容器Address: 表示邮件地址Transport: 负责发送邮件Store: 负责接收邮件(本文不涉及): 表示 MIME 类型的邮件消息: 表示多部分内容的容器,用于构建带附件或 HTML 内容的邮件必要的依赖库和配置核心类的作用和使用方法完整的邮件发送工具类实现发送不同类型邮件的示例常见问题及解决方案在 Web 应用中的集成建议。
2025-08-17 15:17:55
485
原创 java项目怎么实现用户行为分析、漏斗转化、数据可视化报表。
在 Java 项目中实现用户行为分析、漏斗转化和数据可视化报表是一个系统性的工作,需要从数据采集、存储、分析到展示的完整链路设计。
2025-08-16 23:54:34
498
原创 java中消息推送功能
后端消息推送服务的核心是 **“连接管理”+“消息路由”**,小规模场景可用 Spring WebSocket + 本地会话;中大规模集群需结合 Redis 实现分布式会话与跨节点通信;物联网场景优先选 MQTT 协议。根据实时性和规模需求,可逐步迭代优化(从单机到集群,从基础功能到可靠性保障)。
2025-08-16 18:04:50
801
原创 Java 中使用阿里云日志服务(SLS)完整指南
准备 SLS 资源与依赖→初始化客户端→调用 SDK 接口实现日志收发与管理。通过本文介绍的步骤,能快速将 Java 应用与 SLS 对接,实现日志的高效存储与灵活查询。实际开发中,可根据业务需求扩展功能,例如结合 SLS 的 “索引配置” 实现更精准的日志检索,或通过 “消费组” 实现日志的实时消费。如需更复杂的操作(如日志分析、告警等),可参考阿里云 SLS 官方文档获取详细指南。
2025-08-15 23:18:23
881
原创 Java项目中地图功能如何创建
Java 后端实现地图功能的核心是集成第三方地图 API,辅以地理数据存储、缓存、坐标系转换等能力。优先使用成熟第三方服务,避免重复造轮子。重视空间索引和缓存,提升查询性能。处理好坐标系转换,避免地图偏移。做好 API 密钥保护和接口限流,保障服务稳定。通过以上方案,可快速实现稳定、高效的地图后端服务。
2025-08-13 21:50:42
616
原创 pom.xml父子模块配置
properties:统一管理版本号、路径等常量(子模块可直接引用)。:声明依赖版本(子模块引用时无需指定版本,统一由父模块管控)。:声明插件版本(类似依赖管理,子模块引用插件时无需指定版本)。build:公共的构建配置(如资源目录、插件等,子模块可继承或覆盖)。配置复用:公共配置(版本、插件)集中在父 POM,减少重复代码。版本统一:通过和确保所有子模块依赖版本一致,避免冲突。批量操作:父模块通过modules聚合子模块,支持 "一键构建 / 打包所有子模块"。
2025-08-11 18:27:26
805
原创 java配置沙箱支付
沙箱支付是支付平台(如支付宝、微信支付)提供的模拟支付环境,包含测试用的 APPID、密钥、网关、测试账号等资源,其接口逻辑与正式环境一致,但交易仅为模拟,不涉及真实资金。核心作用:验证支付下单、支付跳转、异步通知、订单查询等全流程的正确性。
2025-08-10 23:09:29
1010
原创 接口和抽象类
在 Java 中,接口(Interface)和抽象类(Abstract Class)都是实现抽象化的重要机制,用于定义规范和复用代码,但两者在设计目的、语法规则和使用场景上有显著区别。:可以有静态成员(变量、方法),静态变量在接口被首次使用时初始化(如被实现类引用),且接口没有构造代码块和构造器。关键字修饰的类,是 "不完整的类",可以包含抽象方法(未实现的方法)和具体方法(已实现的方法)。是其子类("狗是动物","猫是动物"),抽象类中可包含动物共有的方法(如。(在定义时已初始化),不需要构造器初始化。
2025-08-10 13:57:28
525
原创 java常见算法
每次从剩余元素中找到最小元素,放到已排序序列的末尾。重复比较相邻元素,将大的元素 "冒泡" 到末尾。采用分治法,将数组分成两半分别排序,再合并。在有序数组中,每次将搜索范围减半。将元素逐个插入到已排序的序列中。逐个检查每个元素直到找到目标。
2025-08-10 10:38:26
139
原创 java中Bean的生命周期
在 Spring 框架中,Bean 的生命周期是一个非常精细的过程,涉及多个阶段和扩展点。接口、初始化 / 销毁方法等,在各个阶段插入自定义逻辑,实现对 Bean 的精细控制。✅ 销毁逻辑通常包括:释放资源(关闭数据库连接、网络连接)、清理临时文件等。✅ 初始化逻辑通常包括:资源加载(数据库连接、文件读取)、缓存初始化等。通过上述生命周期,Spring 提供了强大的扩展能力,开发者可通过。实现 Spring 提供的接口,在属性赋值完成后执行。实现 Spring 提供的接口,执行销毁逻辑。
2025-08-10 00:11:35
472
原创 微服务的好与坏
Java 使用微服务的核心价值在于支持大规模复杂应用的灵活扩展和快速迭代,适合业务场景复杂、团队规模大、需要长期演进的系统(如电商平台、金融核心系统)。但其劣势也很明显 ——分布式复杂性、运维成本、团队能力要求都远高于单体应用。因此,是否采用微服务需结合实际场景:小型应用(如内部管理系统)用 Spring Boot 单体架构更高效;大型复杂系统则可通过 “先单体后微服务” 的渐进式拆分(如 DDD 领域驱动设计)平衡收益与成本。
2025-08-08 23:23:18
1098
原创 java分布式定时任务
Component@Autowired@Autowired// 初始化定时任务(每分钟执行一次)// 执行任务(加分布式锁)try {// 执行核心逻辑} else {log.info("任务被其他节点执行,当前节点跳过");// 释放锁。
2025-08-08 22:51:15
1016
原创 Java开发时出现的问题---架构与工程实践缺陷
Java 开发的深层错误往往源于对底层机制(JMM、泛型擦除、锁升级)、架构设计原则(单一职责、依赖倒置)和工程实践(日志、依赖管理)的理解不足。深入学习 Java 核心机制(如通过《Java 并发编程实战》理解 JMM);遵循设计模式与编码规范(如《Effective Java》中的最佳实践);借助工具链(静态分析工具 SonarQube、性能分析工具 Arthas)提前暴露问题;重视代码审查与测试(尤其是并发场景的压力测试)。
2025-08-07 12:52:52
901
原创 Java开发时出现的问题---并发与资源管理深层问题
Java 并发模型基于 JVM 内存模型(JMM),资源管理涉及 IO、线程、锁等关键组件。若对并发语义、资源生命周期理解不透彻,易引发死锁、内存泄漏、数据错乱等严重问题。
2025-08-05 23:58:27
613
原创 Java开发时出现的问题---语言特性与基础机制陷阱
都会创建新对象,若在循环中频繁拼接,会产生大量临时对象,触发 GC 频繁回收,导致性能损耗。可将堆中字符串入池,但 JDK 7 后常量池移至堆中,过度调用会导致常量池膨胀,甚至引发。(线程安全),其内部通过可扩容的字符数组减少对象创建。创建相同字符串,会浪费常量池优化机会,增加内存占用。(堆内存对象)的内存地址不同,若频繁用。(JDK 7 前)或堆内存溢出。存储字符),每次修改(如。
2025-08-04 23:48:20
778
原创 前后端交流
Spring Boot(后端)与 Vue(前端)的交流主要通过实现,具体来说是后端提供 RESTful API 接口,前端通过 Axios 等工具发送请求并处理响应。
2025-08-03 23:51:54
502
原创 SpringAI的使用
首先定义一个工具类,用@Tool@Component// 模拟查询天气的工具函数@Tool("查询指定城市的天气,参数为城市名称(如北京)")// 实际场景中可调用第三方天气 APIreturn String.format("城市:%s,日期:%s,天气:晴朗,温度:25℃", city, date);统一抽象:屏蔽不同 AI 服务的差异,切换服务只需改配置;简化集成:通过 Spring Boot starters 快速接入 AI 模型和向量存储;增强能力。
2025-08-03 23:48:34
1029
原创 微服务的使用
服务启动时注册到 Nacos,从 Nacos 配置中心拉取配置;客户端通过 Spring Cloud Gateway 调用服务,网关路由到目标服务;服务间通过 Feign(同步)或 RabbitMQ(异步)通信,LoadBalancer 负责负载均衡;若服务调用失败,Resilience4j 触发熔断降级;跨服务事务由 Seata 保证一致性;全链路监控通过 Zipkin 和 Prometheus 实现。
2025-08-03 23:45:36
1588
原创 SpringBoot启动项目详解
调用所有和的run():接收参数(解析后的命令行参数)。:直接接收原始参数。自动配置:通过和中的配置类,根据依赖和环境自动配置组件(如 DataSource、Web 服务器)。嵌入式服务器:在容器刷新阶段自动创建并启动(如 Tomcat),无需手动部署到外部服务器。事件驱动:通过和在启动各阶段发布事件,支持扩展(如自定义监听器处理特定阶段逻辑)。简化配置:默认扫描路径、默认配置文件、默认 Bean 注册,减少手动配置。main() → SpringApplication实例化 → run()
2025-08-02 23:51:17
993
原创 MyBatis与MySQL
MyBatis是 “中间层”,专注于 Java 代码与 SQL 的映射,解决 “对象 - 关系” 不匹配问题,简化数据库操作的代码编写。MySQL是 “数据存储层”,专注于数据的存储和 SQL 的执行,是 MyBatis 操作的目标数据库之一。实际开发中,MyBatis 负责 “怎么调用 SQL”,而 MySQL 负责 “怎么执行 SQL 并返回数据”,两者配合完成从 Java 对象到数据库数据的全流程操作。
2025-08-02 23:48:38
1653
原创 JAVA结合AI
Java 与 AI 的结合正从技术赋能走向价值重构。通过性能优化、工具链完善和开发流程革新,Java 在企业级 AI 服务、边缘计算、智能制造等领域展现出不可替代的优势。尽管面临 Python 生态的竞争,Java 凭借成熟的工程化能力和跨平台特性,正在构建 “训练 - 推理 - 部署” 的全栈解决方案。未来,随着 AIGS、智能体等技术的成熟,Java 有望在 AI 时代重新定义企业级软件开发的范式,成为连接传统 IT 系统与智能未来的核心桥梁。
2025-08-01 23:48:23
1112
原创 Java向量化
Java 中向量化存储的核心是通过连续内存结构(数组)或专用库类高效组织数据,并结合向量运算优化性能。数据规模:小规模用double[]或 Apache Commons Math;大规模用 ND4J。稀疏性:高维稀疏向量用。性能需求:利用 JVM 自动向量化或 Java Vector API 手动优化。通过合理的存储方式和工具选择,可显著提升 Java 中向量处理的效率。
2025-08-01 23:41:14
648
原创 Java响应式编程
Java 响应式编程通过异步数据流提供了高效处理大量并发请求的能力,适合构建非阻塞、低延迟的应用程序。主要应用场景包括微服务、实时数据处理和高并发系统。
2025-07-28 23:43:05
546
原创 J2EE模式---服务层模式
服务层模式通过引入一个中间层来处理业务逻辑,实现了业务逻辑的集中管理和复用,是企业级应用架构中的重要组成部分。它在提高代码可维护性、可测试性和支持多渠道应用等方面具有显著优势,但需要合理设计以避免过度复杂。在实际开发中,服务层模式常与其他模式(如 DAO 模式、DTO 模式)结合使用,并可借助 Spring 等框架提供的事务管理、依赖注入等功能简化实现。
2025-07-27 23:24:03
1045
原创 J2EE模式---表现层集成模式
表现层集成模式提供了一套解决用户界面与后端系统集成问题的有效方案,通过合理选择和应用这些模式,可以构建出可维护、可扩展且性能优良的应用系统。在实际开发中,应根据应用类型、集成复杂度、性能需求等因素综合考虑,选择合适的模式组合,并遵循最佳实践以避免常见问题。表现层集成模式是现代企业级应用开发中不可或缺的一部分,尤其在微服务架构和多渠道应用的背景下,其重要性更加凸显。
2025-07-26 23:00:59
665
原创 J2EE模式---数据访问对象模式
数据访问对象模式通过抽象数据访问逻辑,实现了业务层与数据持久层的解耦,是企业级应用中数据访问层的标准设计模式。它在提高代码可维护性、可测试性和支持多数据源等方面具有显著优势,但需要合理设计以避免过度复杂。在实际开发中,DAO 模式常与其他模式(如工厂模式、单例模式)结合使用,并可借助 ORM 框架进一步简化实现。
2025-07-26 00:08:22
1411
原创 J2EE模式---组合实体模式
组合实体模式通过将多个相关实体封装为一个更高层次的对象,简化了客户端与这些实体的交互,降低了系统复杂度。它在企业级应用中特别有用,尤其是在需要管理多个实体之间的事务一致性和提高性能的场景。在实际开发中,合理使用组合实体模式可以帮助我们构建更加清晰、高效的系统架构,但需要注意避免过度设计,确保组合实体的结构和接口符合业务需求。
2025-07-24 11:10:16
660
原创 J2EE模式---业务代表模式
业务代表模式通过引入一个中间层(业务代表)来处理表示层与业务层之间的通信,有效降低了两者之间的耦合度,提高了系统的可维护性和可扩展性。它在分布式系统、异构系统集成等场景中尤为有用,能够隐藏服务调用的复杂性并支持服务的动态切换。在实际开发中,合理使用业务代表模式可以帮助我们构建更加灵活、可维护的系统,但需要注意控制业务代表的复杂度,避免引入不必要的抽象。
2025-07-24 11:09:18
909
原创 J2EE模式---服务定位器模式
服务定位器模式通过中央注册表管理服务的创建和获取,实现了服务使用与创建的解耦,适用于需要集中管理依赖的场景。它在简化客户端代码、复用服务实例等方面有优势,但相比依赖注入,在测试友好性和代码侵入性上稍逊。实际开发中,应根据场景选择:简单场景或集成旧系统时用服务定位器,复杂应用或追求低耦合时优先考虑依赖注入。合理使用服务定位器模式可以有效提升系统的可维护性和灵活性。
2025-07-23 19:06:56
1065
原创 J2EE模式---视图助手模式
视图助手模式通过将视图层中的复杂逻辑提取到独立的助手类中,使视图代码更加简洁、易于维护。它是 MVC 架构中的重要补充,能够有效分离展示逻辑和业务逻辑,提高代码的可复用性和可测试性。在实际开发中,合理使用视图助手模式可以帮助我们构建更加清晰、高效的视图层,但需要注意控制视图助手的复杂度,避免引入不必要的抽象。
2025-07-23 19:04:41
1074
原创 J2EE模式---拦截过滤器模式
拦截过滤器模式通过在请求处理前后插入过滤器,实现了通用功能与核心业务逻辑的分离,提高了代码的可维护性和复用性。它是 Web 应用和企业级应用开发中的重要模式,被广泛应用于各种框架和系统中。在实际开发中,合理使用拦截过滤器模式可以帮助我们构建更加灵活、可维护的系统,但需要注意控制过滤器的数量和复杂度,避免影响系统性能。
2025-07-22 13:55:34
1114
原创 J2EE模式---前端控制器模式
前端控制器模式通过集中处理所有请求,简化了应用程序的请求处理机制,提高了系统的可维护性和可扩展性。它是 J2EE 和 Web 应用开发中的重要模式,被广泛应用于各种 MVC 框架中。在实际开发中,合理使用前端控制器模式可以帮助我们构建结构清晰、易于维护的应用系统,但需要注意控制前端控制器的复杂度,避免成为系统瓶颈。
2025-07-22 13:17:33
1141
Java核心技术详解:从基础语法到并发编程及Spring框架的全面解析
2025-07-25
【铁路智能运维管理】基于Spring AI的铁路设备维修系统设计与实现:集成ZhiPu AI对话模型和RAG功能
2025-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人