自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (1)
  • 收藏
  • 关注

转载 【转载】SpringCloud系列(六)| 聊聊负载均衡

上一篇文章中,我们在集成OpenFeign的过程中提示我们需要加入了一个依赖就是: spring-cloud-starter-loadbalancer。顾名思义,这个包的作用就是用来做负载均衡的。简单解释一下什么是负载均衡,就是当我们的服务有多个实例的时候,比如我们userservice, 一个端口号是8081,一个端口号是8082。当然这是因为我只有一天电脑只能一台机器上模拟。

2025-05-18 16:55:17 9

转载 【转载】RestControllerAdvice 和 ControllerAdvice 两个注解的区别与联系

原文链接:https://blog.csdn.net/nmsoftklb/article/details/147148956。// 返回值会自动通过 HttpMessageConverter 转为 JSON (或其他协商格式)使用 @RestControllerAdvice (返回 JSON)// 注意这里是 @RestControllerAdvice。// 简单的错误响应体类。// 假设的自定义异常。

2025-05-18 16:40:28 6

转载 【转载】@ControllerAdvice 异常处理原理分析

@全体成员 数据库的一切异常都不能直接暴露给前端” springboot的全局异常处理 可通过来实现。使用之前先看其原理。今天就从从源码的角度分析的实现全局异常捕捉的过程,帮助开发者更深入地理解其工作机制。是一个注解,用于定义全局的控制器建议。它可以用于处理所有控制器抛出的异常、进行全局数据绑定以及提供全局模型属性。实际开发中基本就是用来全局的异常处理。现在一般用实现上基本一样,只是返回结果都以json数据格式返回,符合前后端开发规范。

2025-05-18 16:39:33 12

转载 【转载】Spring Batch批处理框架深入解析

原文链接:https://blog.csdn.net/wendao76/article/details/146612925。使用 Spring Scheduler 或 Quartz 等工具,通过代码控制 Job 执行顺序。• 每次启动 Job 时,使用不同的 JobParameters(如时间戳)。• 若 Job A 失败,后续 Job 不应执行(通过监听器或调度逻辑控制)。通过上述方法,可灵活解决批处理任务间的依赖问题,确保任务按需执行且数据一致。// 第一个 Job 成功后,执行第二个 Job。

2025-05-18 16:33:32 6

转载 【转载】SpringData 、JPA 、SpringDataJPA

​ 2)JPA 的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。​ 可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了CRUD外,还包括如分页、排序等一些常用的功能。是一个开源的 ORM 框架,提供了 JPA 规范要求的功能,同时还提供了一些高级功能,如缓存、批量处理等。是spring提供的一套简化JPA开发的框架,按照约定好的【方法命名规则】写dao层接口,就可以在不写接口实现的情况下,

2025-05-18 16:29:46 8

转载 【转载】IntelliJ IDEA 接入 DeepSeek,实现辅助编程

通过以上步骤,你就成功地将 DeepSeek 集成到了 IDEA 中。在今后的编程工作中,你可以尽情享受 DeepSeek 带来的便利和高效,感受它为你带来的那些温暖治愈的瞬间,领略编程世界的无限魅力。

2025-04-19 19:40:14 30

转载 【转载】用Java实现人工智能

Gradle:Gradle代表了现代构建工具的前沿,它不仅支持灵活的构建配置,还具备极高的性能。它的依赖管理系统十分强大,可以轻松地处理项目中的各种依赖和插件,使得构建和部署变得更加高效和一致。它提供了丰富的数据转换功能,如标准化、归一化和分割等,帮助你将数据转换为适合模型训练的格式。Weka 是一个流行的机器学习和数据挖掘工具包,提供了大量的分类、回归、聚类和数据预处理算法。**Java在人工智能领域的应用正变得越来越丰富,从数据处理到模型训练,再到模型部署,都有许多强大的工具和库可以利用。

2025-04-19 19:38:35 42

转载 【转载】Java开发新篇章:AI赋能下的高效编程体验

然而,随着项目复杂度的增加和市场需求的不断变化,传统的Java开发方式已经难以满足开发者对效率和质量的双重追求。

2025-04-19 19:36:33 16

转载 【转载】Java对接AI大模型(二)【Langchain4j记忆化】

用户消息C(7) → 总令牌27 >20 → 逐出最旧的A(5)→ 剩余22 → 仍超限 → 逐出A'(3)→ 剩余19 → 保留B, B', C。我们需要配置他的最大消息条数,意义其实就是你输入了多少句话 * 2(大模型回复你的消息也算一条消息),便最多记忆配置的最大的多少句话.助手回复C'(2) → 总令牌19+2=21 >20 → 逐出最旧的B(8)→ 剩余13 → 保留B', C, C'。在此之前,我们还得需要学习一个持久化的数据库,MapDB,这是Langchain4j官方使用的数据库。

2025-04-19 19:33:33 14

转载 【转载】Java 集成 DeepSeek

在当今数字化浪潮中,人工智能(AI)无疑是最耀眼的明星。从到,从到,AI 正以前所未有的速度改变着我们的生活和工作方式。而在 AI 的技术栈中,编程语言扮演着至关重要的角色。Java,作为一门具有广泛应用基础和强大生态系统的编程语言,在 AI 领域也展现出了巨大的潜力。与此同时,DeepSeek 模型的出现,为 AI 应用的开发带来了新的活力和可能性。本文将深入探讨如何使用 Java 集成 DeepSeek,为开发者们打开一扇通往智能应用新时代的大门。

2025-04-19 19:27:07 11

转载 【转载】Spring Boot集成XXL-JOB

如果你还没有创建项目,可以使用Spring Initializr快速生成一个基础项目,它提供了丰富的依赖选项和灵活的配置方式,能够帮助你快速搭建项目框架。此外,XXL-JOB还支持日志的远程查询功能,你可以在调度中心直接查看任务的日志内容,而无需手动查找日志文件。在任务执行过程中,可能会出现异常。在调度中心的任务管理页面中,找到刚才创建的任务,点击“执行”按钮手动触发任务。在实际开发中,建议根据项目的日志管理策略选择合适的日志存储路径,并确保该路径具有足够的存储空间,以避免日志文件占用过多磁盘空间。

2025-03-24 19:43:42 49

转载 【转载】分布式定时任务

分布式定时任务就是把分散的、批量的后台定时任务纳入统一的管理调度平台,实现任务的集群管理、调度和分布式部署管理方式。以上,就把分布式后台任务介绍完了,并通过Spring Boot + Quartz 实现了基于Quartz的分布式定时任务解决方案!分布式任务调度框架几乎是每个大型应用必备的工具,作为程序员、架构师必须熟练掌握。分布式定时任务,你了解多少?基于Quartz实现分布式任务解决方案!-腾讯云开发者社区-腾讯云。

2025-03-24 19:39:58 85

转载 【转载】MySQL最左匹配原则

通常我们在建立联合索引的时候,相信建立过索引的同学们会发现,无论是Oracle还是 MySQL 都会让我们选择索引的顺序,比如我们想在a,b,c三个字段上建立一个联合索引,我们可以选择自己想要的优先级,(a、b、c),或是 (b、a、c) 或者是(c、a、b) 等顺序。这是一张来自思否上的图片,层次感很清晰,小伙伴可以看到,对于B+树中的联合索引,每级索引都是排好序的。是的,索引abc_index:(a,b,c),只会在where条件中带有(a)、(a,b)、(a,b,c)的三种类型的查询中使用。

2025-03-20 15:20:04 103

原创 mysql前缀索引

在MySQL中,使用前缀索引(Prefix Index)是一种优化查询性能的有效方法,特别是在处理长字符串字段时。前缀索引允许你只对字段的前几个字符建立索引,这样可以大大减少索引的大小,同时仍然能够提高查询效率。

2025-03-20 14:58:36 225

转载 【转载】RocketMQ如何保证消息的顺序性

在 RocketMQ 中,消息的顺序性是通过相同的消息 key(通常是业务唯一标识,例如订单 ID)发送到相同的队列(Queue)来实现的。为了保证消息的顺序性,通常会牺牲一定的并发性能。通过事务消息,应用可以确保在特定的业务操作完成后,再提交或回滚消息,这样可以保证消息发送和业务操作的顺序性。RocketMQ 保证在单个队列内的消息是有序的,消费者在消费这些消息时,也是按照发送顺序依次处理。在这个例子中,所有属于 orderId=1001 的消息都会发送到相同的队列中,从而保证了顺序性。

2025-03-20 14:45:23 36

转载 【转载】Dockerfile!18 个指令全面解析

初始:ARG、FROM、ONBUILD镜像:USER、WORKDIR、ENV、LABEL文件:ADD、COPY、RUN、CMD、ENTRYPOINT容器:EXPOSE、VOLUME、SHELL健康检查:HEALTHEHECK退出:STOPSIGNAL以上就是 Dockerfile 中常见的 18 个指令的详细介绍。从基本的FROM和COPY到高级的和USER,每一个指令都有其特定的作用,合理使用这些指令可以帮助我们更高效地构建 Docker 镜像,简化容器化应用的管理流程。

2025-03-16 13:14:05 43

转载 【转载】四大分布式事务方案详解

分布式事务是指涉及多个参与者,通常是不同的计算机节点或服务的事务操作,因此需要跨多个节点执行事务操作。如下图所示:图片分布式事务需要确保所有相关操作要么全部成功执行,要么全部回滚,以维护数据的一致性和可靠性。

2025-03-16 12:58:32 29

转载 【转载】分布式事务Seata的4种模式详解

RM 则负责具体的资源管理,如数据库连接,并根据 TC 的指令执行相应的操作。通过这些组件和相应的协议,Seata 能够提供分布式事务的管理和协调能力,帮助开发者简化分布式系统中的事务处理,并确保数据的一致性。RM 主要是指事务的参与者,例如数据库连接,它们向 TC 注册分支事务,并汇报本地事务的状态,接收 TC 的命令来驱动本地事务的提交或回滚。TM 是全局事务的发起方,控制全局事务的范围,与 TC 和 RM 进行交互,并根据 TC 维护的全局事务和分支事务状态,做出全局提交或回滚的决议。

2025-03-16 12:56:53 42

转载 【转载】微服务如何做负载均衡

6. 容器化和自动伸缩:使用容器化技术(如Docker)和自动伸缩技术,可以将应用程序部署到多个服务器上,实现负载均衡。当请求量增加时,可以自动增加服务器数量,当请求量减少时,可以自动减少服务器数量。3. 软件负载均衡器:软件负载均衡器通常位于应用程序服务器上,可以使用开源的Nginx、HAProxy等软件负载均衡器。每个服务器都有一个解析的IP地址,当收到请求时,DNS服务器将请求解析到多个服务器中的一个。2. 硬件负载均衡器:硬件负载均衡器通常位于数据中心,负责将请求分配到不同的服务器。

2025-03-13 16:42:13 50

转载 【转载】CICD 持续集成与持续交付

CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。出于安全原因,24 小时后/etc/gitlab/initial_root_password 会被第一次 gitlab-ctl reconfigure 自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码。

2025-03-13 16:41:10 54

原创 docker常用命令

这些命令是Docker操作的基础,掌握这些命令可以帮助用户高效地管理Docker容器和镜像。

2025-03-05 20:05:52 156

原创 java接入 ai绘图

在Java中接入AI绘图,通常指的是使用机器学习模型或图形库来生成图像。

2025-03-04 17:06:32 272

转载 【转载】Java对接AI大模型(一)【Langchain4j】

测试过后的同学应该发现了,我们需要等待很久,最后才把输出的结果给到我们.这样对用户的体验肯定是不友好的.我们平常使用的一些ai大模型,是可以感受到他是慢慢的打印出来回复你的答案,而不是一口气讲所有的文本返回回来.去执行上述测试的小伙伴应该发现了,控制台没有任何的日志输出,我们不知道用户具体输入了什么,对于排查问题来讲肯定是不友好的.Langchain4j为我们提供了日志的开关,让我们可以查看到日志的打印.接下来我们需要注入对话服务的模型,这列我们以阿里百炼的模型作为基础模型.

2025-03-04 17:04:20 175

原创 java接入 ai大模型

在Java中接入大型语言模型(LLM,例如OpenAI的GPT系列)可以通过多种方式实现,主要依赖于OpenAI提供的API。以下是一些步骤和示例代码,帮助你在Java项目中接入和使用这些模型。

2025-03-04 17:01:22 1075

转载 【转载】怎么用deepseek 编写程序代码开发软件

自从用DeepSeek接管了模板代码,我终于有时间研究领域驱动设计。现在同事还在为的复杂配置抓狂时,我的智能仓储接口已经自动生成。原文链接:https://www.zhihu.com/question/11231090993/answer/99079673652。

2025-03-04 16:54:06 608

转载 【转载】Kafka集群安装

你可以通过命令:./bin/kafka-topics –zookeeper 【zookeeper server】 –list 来查看所有topic 此时你若想真正删除它,可以如下操作: (1)登录zookeeper客户端:命令:./bin/zookeeper-client (2)找到topic所在的目录:ls /brokers/topics (3)找到要删除的topic,执行命令:rmr /brokers/topics/【topic name】即可,此时topic被彻底删除。

2025-02-19 19:31:20 54

转载 【转载】kafka的安装和使用

这个参数用于设置是否自动创建topic,如果请求一个topic时发现还没有创建, kafka会在broker上自动创建一个topic,如果需要严格的控制topic的创建,那么可以设置auto.create.topics.enable为false,禁止自动创建topic,看自己需求。------------------------------------------- 消息模式 相关 -------------------------------------------# 设置zk的连接地址及端口。

2025-02-19 19:27:29 307

转载 【转载】Spring Boot 整合 Kafka 详解

2024-10-22 20:22:43.041 INFO 36496 --- [-consumer-0-C-1] c.o.s.kafka.consumer.MyKafkaConsumer : 消息消费成功,消息内容:第一条 kafka 消息。#earliest:分区已经有提交的offset从提交的offset开始消费,如果没有提交的offset,从头开始消费,latest:分区下已有提交的offset从提交的offset开始消费,没有提交的offset从新产生的数据开始消费。

2025-02-19 19:22:36 63

原创 Java线程如何实现锁

在Java中,实现线程间的同步和锁主要有以下几种方式:synchronized 关键字: 关键字可以用于方法或者代码块,确保一次只有一个线程执行该段代码。用于方法时,锁定当前实例对象。用于静态方法时,锁定当前类的Class对象。用于代码块时,需要指定一个对象作为锁。ReentrantLock (重入锁): 是 包中的一个类,提供了比 关键字更灵活的锁定机制。支持公平锁和非公平锁。支持中断锁定的线程、尝试获取锁等高级功能。ReadWriteLock (读写锁): 提供了读锁和写锁的分离,允许多个读线程同时

2025-02-19 18:48:56 300

原创 JUC线程池: ThreadPoolExecutor详解

和newFixedThreadPool创建的线程池不同,newCachedThreadPool在没有任务执行时,当线程的空闲时间超过keepAliveTime,会自动释放线程资源,当提交新任务时,如果没有空闲线程,则创建新线程执行任务,会导致一定的系统开销;线程池中的核心线程数,当提交一个任务时,线程池创建一个新线程执行任务,直到当前线程数等于corePoolSize, 即使有其他空闲线程能够执行新来的任务, 也会继续创建线程;线程空闲时的存活时间,即当线程没有任务执行时,该线程继续存活的时间;

2025-02-19 18:43:44 582

原创 springboot启动流程

当SpringBoot应用程序启动时,它会根据配置文件中的信息自动创建Tomcat或Jetty等Web容器,并将Spring容器注册到Web容器中,使得SpringBoot应用程序可以直接以Web应用程序的形式运行。‌:SpringBoot会自动扫描项目中的类,如果这些类中有@Configuration注解,SpringBoot将会读取这个类中被@Bean注解标记的方法去生成Bean实例并注入到Spring容器中。项目启动时,首先会读取项目中的配置文件,主要是。‌:SpringBoot内置。

2025-02-17 09:52:44 307

转载 【转载】Redis的四种部署方案

这篇文章介绍Reids最为常见的四种部署模式,其实Reids和数据库的集群模式差不多,可以分为 Redis单机模式部署、Redis主从模式部署、Redis哨兵模式部署、Cluster集群模式部署,其他的部署方式基本都是围绕以下几种方式在进行调整到适应的生产环境,最常见的还是集群模式的部署接下来我们来主要分析和学习一下的部署方式和利弊。约定信息:系统:Linux CentOS 7.9Redis版本:Redis 7.2.2方案一:单机模式部署编译部署# 设置内核参数[root@redis ~]# ec

2025-02-17 09:37:33 212

转载 【转载】Redis常用命令

type 命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)、list(列 表)、hash(哈希)、set(集合)、zset(有序集合),但这些只是 Redis 对外的数据结构,实际上 Redis 针对每种数据结构都有自己的底层内部编码实现,而且是多种实现,这样 Redis 会 在合适的场景选择合适的内部编码。一个集合中最多可以存储 个元素。求出给定有序集合中元素的交集并保存进目标有序集合中,在合并过程中以元素为单位进行合并,元 素对应的分数按照不同的聚合方式和权重得到新的分数。

2025-02-17 09:33:56 13

原创 Java int数组转list

在Java中,将int数组转换为List可以通过多种方式实现。

2025-02-13 18:00:25 371

转载 【转载】使用SpringBoot+Redis实现分布式锁

分布式锁,即分布式系统中的锁,分布式锁是控制分布式系统有序的对共享资源进行操作,在单体应用中我们通过锁实现共享资源访问,而分布式锁,就是解决了分布式系统中控制共享资源访问的问题。可能初学的小伙伴就会有疑问,Java多线程中的公平锁、非公平锁、自旋锁、可重入锁、读写锁、互斥锁这些都还没闹明白呢?怎么又出来一个分布式锁?其实,可以这么理解:Java的原生锁是解决多线程下对于共享资源的操作,而分布式锁则是多进程下对于共享资源的操作。分布式系统中竞争共享资源的最小粒度从线程升级成了进程。

2024-12-26 18:24:07 342

原创 Spring Boot Redis锁

方法会检查锁是否存在并且是由请求者持有,然后释放锁。这里使用了UUID生成唯一值来避免释放其他客户端持有的锁的问题。方法尝试获取锁,如果锁被成功获取,它会设置一个唯一的值,并设置过期时间。在Spring Boot中使用Redis实现分布式锁,可以使用。以下是一个简单的使用。

2024-12-26 18:22:57 172

原创 Redis锁有哪些

‌:这是一种简单的独占锁,通过原子性地设置一个键及其值来实现。这种锁没有自动释放机制,如果获取锁的客户端崩溃或出现异常,可能会导致死锁。‌:通过使用WATCH监控键的变化,并使用MULTI和EXEC原子性地执行命令,可以实现简单的锁机制。‌:这是一种基于Redis的分布式锁框架,提供高可用和容错功能,适用于跨多个服务器实例协调锁。‌:这是一种基于Redis的分布式协调锁算法,使用多个Redis实例来提高可用性和容错性。‌:通过使用Lua脚本原子性地执行多个Redis命令,可以用于创建自定义锁机制。

2024-12-26 18:19:44 391

转载 【转载】JAVA stream应用

原文链接:https://blog.csdn.net/xinx98/article/details/130012712。二、根据某个参数查询List中匹配的数据(多个对象集合)一、根据某个参数查询List中匹配的数据(单个对象)1.针对某个参数进行排序(默认顺序)1.对LIst<对象>类型的进行去重。三、根据某个参数对List进行排序。1.对LIst类型的进行去重。五、对List进行参数累加。2.针对某个参数进行倒序。四、对List进行循环。六、对List进行去重。

2024-12-21 21:12:07 28

原创 java list 按照某个字段查找

在Java中,可以使用Stream API来按照某个字段查找List中的元素。以下是一个示例,假设我们有一个。类用来安全地处理可能为空的结果。如果找到了匹配的对象,的字段,我们想要根据这个字段在List中查找。方法来过滤出名字匹配的Person对象,会执行一个操作,否则不会发生任何事情。来找到第一个匹配的对象(如果存在)。在这个例子中,我们使用了。

2024-12-21 20:26:58 354

原创 java list 按照某个字段排序

可以使用Collections.sort()方法对Java List按照某个字段排序。假设有一个名为personList的List,其中的元素为Person对象,Person对象的某个字段为age,可以按照age字段来排序。以上是三种不同的实现方法,它们都可以实现对Java List按照某个字段排序。

2024-12-21 20:23:09 1624

php乘风多用户流量统计

php 乘风多用户流量统计php 乘风多用户流量统计php 乘风多用户流量统计php 乘风多用户流量统计php 乘风多用户流量统计php 乘风多用户流量统计php 乘风多用户流量统计

2010-04-14

空空如也

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

TA关注的人

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