自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ELK在Java的使用

Bean从基础概念出发,认识了 ELK 技术栈的三个核心组件。学习了在 Java 项目中集成 ELK 的基本步骤。掌握了中级应用中日志过滤与增强以及自定义指标监控的方法。了解了高级应用中集群部署、性能优化和安全配置的要点。学习了 Kibana 可视化的相关知识。掌握了与 Spring Boot 集成的方法。了解了故障排查的常见方法和最佳实践。通过合理运用 ELK 技术栈,可以显著提升 Java 应用的可观测性和运维效率。

2025-06-17 00:01:11 592

原创 Java日志使用

新手:可先使用 JUL。项目:建议采用 SLF4J + Logback 的组合。大型系统:可考虑引入 ELK Stack 进行日志聚合与分析。通过合理运用日志,能极大提升系统的可维护性和问题排查效率。

2025-06-16 23:23:11 470

原创 红黑树:Java 实现与核心原理详解

红黑树(Red-Black Tree)是一种自平衡的二叉搜索树,它通过对每个节点进行着色(红色或黑色)并遵循特定规则,确保树的高度始终保持在对数级别,从而保证插入、删除和查找操作的时间复杂度为 O (log n)。本文将详细介绍红黑树的 Java 实现及其核心原理。

2025-06-16 02:56:31 462

原创 JWT 双签发认证过程

在 Java 项目中实现 JWT 双签发认证(即同时生成 Access Token 和 Refresh Token),核心流程包括以及。

2025-06-15 00:07:56 689

原创 阿里云OSS

通过以上设计,Java 项目中的 OSS 中间件可实现存储服务的高效管理与灵活扩展,同时保证系统的性能、安全性和可维护性。实际应用中可根据业务需求进一步优化接口与功能,例如集成文件预览、元数据检索等高级能力。

2025-06-14 00:00:19 1114 1

原创 Kafka知识点

Apache Kafka 是一个开源的分布式事件流平台,最初由 LinkedIn 开发并开源。它基于发布 - 订阅模式,设计目标是处理高吞吐量、实时数据流。Kafka 的核心价值在于:消息系统:数据管道:数据存储:流处理平台:Kafka 架构主要由以下组件构成:Producer(生产者):Consumer(消费者):Consumer Group(消费者组):Broker(代理):Topic(主题):Partition(分区):Replica(副本):Controller:Zookeeper(2.8.0 之前

2025-06-13 08:15:00 729

原创 Java发展史

Java 作为一种广泛使用的计算机编程语言,拥有着丰富的发展历程。

2025-06-12 02:30:00 860

原创 Kafka

Apache Kafka 是一个分布式流处理平台,最初由 LinkedIn 开发,现在是 Apache 软件基金会的顶级项目。它被设计用于处理实时数据流,具有高吞吐量、可扩展性和容错性等特点。Kafka 集群由多个 Broker 组成,每个 Broker 是一个独立的服务器。主题被分为多个分区,每个分区可以有多个副本以提高容错性。ZooKeeper 负责维护集群的元数据和协调工作。

2025-06-11 00:02:59 1405

原创 Spring Security

建议从简单的表单登录开始,逐步尝试 JWT、OAuth2 等复杂场景,并通过实战项目巩固知识。遇到问题时,结合官方文档和调试工具(如断点跟踪过滤器链)分析流程,逐步掌握其底层逻辑。(Spring Boot 2.7+ 需实现。

2025-06-10 23:59:04 1119

原创 SpringTask

Spring Task 是 Spring 框架提供的任务调度工具,可帮助开发者方便地创建定时执行的任务。默认情况下,所有定时任务在同一个线程中串行执行。在分布式系统中,需避免多节点重复执行同一任务。在 Spring Boot 主类或配置类上添加。接口,可动态调整任务执行周期。注解标记方法,指定执行周期。

2025-06-10 12:52:53 392

原创 JAVA面试题

决策能力增强:Agent 能够根据环境反馈自主做出决策,形成闭环交互,而大模型通常是单次调用的开环系统。复杂任务分解:Agent 可以将复杂任务拆解为多个子任务,逐步执行并整合结果,这是大模型原生能力所不具备的。工具使用能力:Agent 能够调用外部工具(如数据库查询、文件操作等),弥补了大模型在实时数据获取和操作能力上的不足。提升任务完成的自动化程度增强系统对动态环境的适应性实现更复杂的业务逻辑处理第一范式 (1NF):字段具有原子性,不可再分第二范式 (2NF)

2025-06-09 21:48:01 865 4

原创 JWT使用

JWT(JSON Web Token)是一种基于 JSON 的开放标准(RFC 7519),用于在网络应用间安全地传输声明。一个 JWT 由三部分组成:头部(Header)、载荷(Payload)和签名(Signature),通常格式为。这些示例展示了 JWT 在 Java 中的不同应用场景,从基础的令牌生成和验证,到 Spring Boot 集成,再到安全增强实践。在实际应用中,应根据具体需求选择合适的实现方式,并注意密钥管理和安全防护。

2025-06-09 11:32:01 428

原创 JWT 双签发认证 + RBAC 权限

JWT(JSON Web Token)是一种用于在网络应用间传递声明的安全标准。

2025-06-09 11:29:23 661

原创 Maven的使用

Maven 是 Java 项目中广泛使用的构建工具,它可以帮助你管理项目依赖、编译代码、运行测试、打包和部署应用。下面我将从简单到复杂介绍 Maven 的使用。

2025-06-08 21:32:17 550

原创 Redis 与 MySQL 数据一致性保障方案

优先使用 Cache-Aside Pattern 作为基础缓存更新策略在高并发场景下采用延迟双删或分布式锁解决并发问题对于非实时场景,可采用异步消息队列实现最终一致性完善监控和告警机制,及时发现并处理数据不一致问题通过以上方案的综合应用,可以有效保障 Redis 与 MySQL 的数据一致性,提升系统的稳定性和可靠性。

2025-06-08 00:08:52 911

原创 java依赖注入

依赖注入(Dependency Injection,简称 DI)是一种设计模式,它让对象之间的依赖关系由外部容器来管理,而不是由对象自己创建或管理依赖。这种模式可以降低代码的耦合度,提高可测试性和可维护性。Java EE 6 引入了 JSR 330(Dependency Injection for Java)规范,定义了标准的依赖注入注解,如。手动管理依赖关系在大型项目中会变得非常繁琐,因此出现了依赖注入容器,如 Spring 和 Google Guice。

2025-06-07 15:13:21 606

原创 AOP编程

AOP(Aspect-Oriented Programming)即面向切面编程,是一种编程范式。它的出现,主要是为了把横切关注点(像日志记录、事务管理这类功能)从业务逻辑里分离出来。这样做的好处是能提升代码的模块化程度。AOP 并不去改变原有的代码结构,而是通过 “代理” 机制,在特定的 “切入点” 插入额外的功能。下面这个例子展示了如何通过自定义注解和 AOP 来实现权限控制:@Aspect@Component// 模拟从上下文中获取当前用户权限if (!

2025-06-06 23:31:53 582

原创 JAVA元编程

/ 定义运行时保留的方法注解String value() default "执行方法";// 属性定义// 使用注解@LogAnnotation("用户登录")System.out.println("登录用户:" + username);Java 元编程赋予开发者 “操纵代码” 的能力,但也伴随着复杂性和性能代价。合理运用反射、注解和字节码生成技术,可大幅提升开发效率(如减少样板代码),但需遵循 “最小化使用” 原则,避免为了 “炫技” 而牺牲代码可维护性。

2025-06-06 17:31:53 820

原创 深入理解 Java 编程范式与设计模式:从 OOP 到 AOP 的全面解析

编程范式 / 模式核心思想典型场景关键工具 / 库OOP以对象为中心,封装数据与行为大型业务系统开发(如企业级应用、游戏引擎)类、继承、接口FP以函数为中心,强调不可变性并行计算、数据流式处理(如大数据分析)POP以过程为中心,按顺序执行简单算法实现、脚本逻辑函数、流程控制DI解耦对象依赖,由容器管理Spring 框架开发、组件化架构Spring IoC 容器响应式编程异步非阻塞处理数据流实时通信(如聊天应用)、微服务架构泛型编程类型安全的通用代码。

2025-06-06 17:27:21 828

原创 JAVA多线程

Java 多线程编程是提升应用性能的关键技术,但也伴随着共享资源竞争、死锁等复杂问题。通过深入理解线程生命周期、同步机制、JUC 工具类及线程池原理,结合合理的设计原则与性能优化策略,开发者可以编写出高效、安全的并发程序。在实际开发中,需根据具体场景选择合适的并发工具,并借助诊断工具持续优化系统性能。

2025-06-05 23:45:28 1072

原创 JAVA容器

Java 容器类的设计充分体现了面向对象、数据结构和并发编程的思想。深入理解容器类的底层实现,有助于我们在实际开发中选择合适的容器,优化代码性能,避免常见的陷阱。

2025-06-04 23:24:45 1149

原创 SpringAI基础使用

通过以上步骤,可快速搭建基于 SpringAI 的 AI 应用,实现对话交互、工具集成、知识检索等功能。根据需求扩展向量数据库、多模态支持或复杂提示词逻辑,即可构建生产级 AI 原生应用。

2025-06-03 23:16:15 1069

原创 JVM 类加载机制解析

场景:需要从非标准来源加载类(如加密文件、网络传输、数据库)。实现步骤继承类;重写方法(推荐)或方法(不推荐,可能破坏双亲委派模型);在findClass中通过将字节流转换为Class对象。示例代码@Overridetry {JVM 类加载机制是 Java 跨平台和动态性的基石,其核心流程(加载→验证→准备→解析→初始化)和双亲委派模型确保了类加载的安全性和唯一性。理解类加载机制有助于解决类冲突、自定义类加载等实际问题,也是深入理解 Java 虚拟机的关键一步。

2025-06-02 00:15:00 995

原创 Java后端接受前端数据的几种方法

前端格式后端接收方式适用场景JSON复杂对象传输表单数据或表单提交、文件上传URL 编码参数简单参数查询文件上传上传文件路径参数RESTful API 中的资源标识在实际开发过程中,要依据具体的业务场景来挑选合适的数据传输格式和接收方式。同时,还需要处理好异常情况,像数据验证、错误处理等,以确保接口的稳定性和安全性。

2025-06-01 00:16:32 666

原创 synchronized 和 Lock的区别

特性Lock(如语法关键字,隐式获取 / 释放锁接口,显式获取 / 释放锁可中断性不可中断可中断(公平性非公平锁可配置公平 / 非公平锁尝试锁不支持支持(tryLock()条件变量单一等待队列(wait()notify()多个等待队列(Condition性能(高竞争)一般通常更优在实际开发中,建议优先使用因其简洁性,仅在需要Lock的特有功能时才选择它。

2025-06-01 00:10:45 751

原创 Lock的使用

在 Java 里,Lock接口是自 JDK 1.5 起引入的用于实现线程同步的工具,它为开发者提供了比关键字更为灵活的锁操作方式。下面为你详细介绍Lock。

2025-05-31 00:49:10 391

原创 NIO知识点

选择器是 Java NIO 中实现非阻塞 IO 的核心组件,它允许一个线程处理多个通道的事件。通过使用选择器,线程可以监听多个通道的连接、数据到达等事件,从而高效地管理多个通道。Java NIO(New Input/Output)是从 Java 1.4 版本开始引入的新的 IO API,它提供了与标准 IO 不同的工作方式。与流不同的是,通道是双向的,支持异步读写操作,且通道始终与缓冲区交互。:过小的缓冲区会增加 IO 操作次数,过大的缓冲区会浪费内存。:使用 Selector 实现简单的非阻塞服务器。

2025-05-30 16:51:46 1071

原创 NIO----JAVA

在 Java 编程领域,NIO(New I/O)以其高效的 I/O 处理能力成为高并发、大数据量场景下的重要技术。当 NIO 的网络编程与文件处理能力相结合,能实现诸如文件传输系统等实用功能。下面将深入探讨 Java NIO 知识,并展示如何将网络编程与文件处理结合的具体实践。

2025-05-30 12:05:24 1168

原创 微服务各个部分的作用

微服务架构的各个组件相互配合,共同解决了传统单体架构在复杂性、扩展性和维护性上的瓶颈,但也引入了分布式系统的固有挑战(如网络延迟、一致性协调等),需根据业务需求权衡设计。微服务架构将复杂应用拆分为多个独立、可部署的小型服务,每个服务实现特定业务功能。:Spring Cloud Config、Apollo、Nacos 等。:Spring Cloud Gateway、Zuul、Kong 等。:Consul、Eureka、Nacos 等。

2025-05-29 23:04:24 902

原创 Redis击穿,穿透和雪崩详解以及解决方案

在 Java 开发中,Redis 作为常用的缓存中间件,可能会面临这三类经典问题。

2025-05-28 23:39:14 1906 2

原创 Docker部署java项目

【代码】Docker部署java项目。

2025-05-27 12:22:35 1631

原创 Git的使用

git<<<<<<<=======>>>>>>>git addgit commit.gitignoregit stashgit diff通过以上操作,可覆盖 Git 的日常使用场景。建议结合实际项目练习,并深入理解分支模型(如 Git Flow)以提升团队协作效率。Git 是一款强大的分布式版本控制系统,常用于软件开发中的代码管理。

2025-05-27 12:03:31 1292

原创 注解的使用和自定义

/ 定义一个可以在类和方法上使用的运行时注解// 定义注解的属性,带有默认值Class<?注解属性的返回类型只能是以下几种:基本数据类型、String、Class、枚举类型、注解类型,以及这些类型的数组。定义属性的语法为,其中default部分是可选的。如果注解中只有一个属性,通常将其命名为value,这样在使用注解时可以省略属性名。

2025-05-26 20:18:39 1012

原创 Java 垃圾回收

Java GC 是一种自动内存管理机制,由 JVM 负责回收不再使用的对象占用的内存。

2025-05-24 23:06:12 1303

原创 EasyExcel使用

EasyExcel 是阿里巴巴开源的一个基于 Java 的简单、省内存的读写 Excel 工具。在处理大量数据时,它能极大地减少内存占用,提高性能。下面从依赖配置、模板使用到代码调用,进行详细介绍。

2025-05-23 23:16:53 772

原创 JavaMail的使用

在 中可以配置 Spring Boot 应用的各种属性,例如邮件服务、数据库连接等。1.2 跨域配置(CorsConfig.java)通过 类配置跨域访问,允许所有来源、所有请求头和所有请求方法的跨域请求,并允许携带凭证:2. 服务接口定义 接口定义了发送验证码和验证验证码的方法:3. 服务实现类 类实现了 接口,具体实现了发送和验证验证码的逻辑: 方法: 方法: 类提供了发送和验证验证码的 RESTful 接口:

2025-05-23 14:15:24 749

原创 Java设计模式

设计模式是软件开发中针对反复出现问题总结出的通用解决方案。根据目的和结构,设计模式可分为创建型、结构型和行为型三类。一、创建型模式(5 种)

2025-05-22 14:59:05 919

原创 Redis语法大全

有序、可重复的字符串列表,按插入顺序排序,支持头部(左)和尾部(右)操作。:无序、唯一的字符串集合,支持交集、并集、差集运算。:单键值存储,值可为字符串、数字,支持原子操作。:键值对集合,用于存储对象(如用户信息)。),按分数排序,成员唯一。:每个元素关联一个分数(

2025-05-21 23:21:24 1049

原创 JAVA项目中常见的注解总结

作用:在配置类中手动定义 Bean(替代 XML 的<bean>标签)。场景:自定义 Bean(如工具类、第三方库组件)。java@Bean。

2025-05-21 23:14:18 925

原创 Elasticsearch知识点

【代码】Elasticsearch知识点。

2025-05-21 10:15:27 456

【铁路智能运维管理】基于Spring AI的铁路设备维修系统设计与实现:集成ZhiPu AI对话模型和RAG功能

内容概要:本文档介绍了基于“铁路智能运维管理系统”的Spring AI应用开发,重点展示了AI在“铁路设备维修”模块和专业知识顾问中的应用。开发环境需满足Spring Boot 3.2.x及以上版本和JDK 17及以上的要求。文档详细描述了如何引入必要的依赖项,如ZhiPu AI,并配置相关参数。具体实现包括普通聊天对话、检索增强生成(RAG)和工具调用三大功能。聊天对话通过配置ChatClient实现,RAG利用Redis Stack进行矢量数据库查询,而工具调用则通过ToolConfig类实现信息检索和采取行动。最后,文档指出当前项目的不足之处,如知识库庞大时工具回调受影响等问题。 适合人群:具备一定Java编程基础,尤其是熟悉Spring Boot框架的研发人员,特别是从事铁路智能运维系统开发的技术人员。 使用场景及目标:①了解如何在Spring Boot项目中集成AI功能;②掌握通过ZhiPu AI实现聊天对话、检索增强生成和工具调用的具体步骤;③探索AI在铁路设备维修管理和专业知识顾问中的应用场景。 其他说明:此项目仅展示了Spring AI的主要功能,相关业务逻辑尚不完善,且存在一些尚未解决的问题,如知识库庞大时工具回调的影响等。建议开发者在实践中不断优化和完善系统功能。

2025-05-14

空空如也

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

TA关注的人

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