自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(928)
  • 资源 (5)
  • 收藏
  • 关注

原创 k8s云原生环境搭建笔记——第二篇

考虑到文件查找步骤的描述较多,我本次直接给大家提供这些yaml文件的百度网盘链接,然后kube-state-metrics版本是。然后执行如下指令,该指令将会执行目录下的所有yaml文件。如果遇到问题了,可以查看上述几个容器的日志,尤其是看下。如果无法下载镜像,或者后续执行有问题,都可以使用。,大家可以寻找任何自己想要的内容,本次我选择的是。输入之后就可以修改密码了,比如我修改的密码是。然后确定镜像版本,比如我本次使用版本信息是。上,然后使用以下指定实现名称空间的更换。然后就可以登录grafana首页了。

2024-01-14 01:19:23 7923 1

原创 k8s服务部署核心流程:以Jenkins为核心,从Gitee拉取代码,然后进行maven构建,之后使用docker命令打镜像,并推送镜像到harbor仓库,之后远程调用k8s命令创建服务

这样来说,我们可以把yaml文件从jenkins所在虚拟机发送到k8s主节点所在虚拟机了,然后在k8s主节点上执行kubectl命令就可以创建服务了。jenkins首先将从git仓库拉取代码到虚拟机,这个时候我们需要将代码打包成jar包,假设我们需要搭建一主一从的k8s集群,那就需要安装VMvare和Centos7(),也可以使用gitee或者github进行测试,我本次使用gitee进行测试,点击保存之后就可以构建多分支流水线了,由于本次我只使用一个分支。一个最简单的devops流程已经在标题中写明了,

2024-01-10 17:19:15 2370

转载 Kafka学习文档

目录一、概念1、名词解释1.1、生产者1.1.1、概念图1.1.2、简单解释1.1.3、详细解释1.1.4、概念解读1.1.4.1、连接信息:bootstrap.servers1.1.4.2、拦截器:interceptor.classes1.1.4.3、键序列化:key.serializer1.1.4.4、值序列化:value.serializer1.1.4.5、分区器:partitioner.class1.1.4.6、缓存区大小:buffer.memory1.1.4.7、批次拉取大小:batch.size

2023-11-29 21:41:09 1684

原创 Redis学习文档

目录一、概念1、特征2、关系型数据库和非关系型数据库的区别3、键的结构4、Redis的Java客户端5、缓存更新策略5.1、概念5.2、代码6、缓存穿透6.1、含义6.2、解决办法6.3、缓存空值代码举例6.4、布隆过滤器代码举例7、缓存击穿7.1、概念7.2、解决办法7.3、互斥锁代码举例7.4、逻辑过期代码举例8、缓存雪崩8.1、含义8.2、解决办法9、Lua脚本9.1、Lua教程9.2、Lua介绍9.2.1、概念9.2.2、Redis为Lua语言内置的lua函数9.2.3、在Redis-cli中执行L

2023-11-29 01:05:50 3885

原创 RabbitMQ学习文档(环境安装篇)

RabbitMQ学习文档

2023-08-27 18:30:09 926

原创 《Maven实战》读后感

目录一、一些思考1、为什么平时编写的Java项目也叫做Maven项目?2、平常的Java项目目录为什么长这样,可以改变目录结构吗?3、对于Maven项目来说,Maven能帮我们做什么?4、为什么一定需要Maven私服,不要行不行?5、为什么在执行mvn package之前必须要执行mvn clean呢?6、为什么在pom.xml中一般都会配置maven-compiler-plugin插件,并且设置source和target的值呢?7、如何配置pom.xml、settings.xml,才能把项目打成jar包推

2023-07-16 22:30:36 19288

转载 尚硅谷云原生学习笔记(173~XXX集)

Chart.yaml:元数据描述信息templates:k8s中用到的yaml信息,yaml文件中很多用的都是变量名,来自于中values.yaml:配置信息,k8s所有的yaml文件属性值很多都是来自于这里。

2023-04-02 22:30:01 2170 21

转载 尚硅谷云原生学习笔记(144~172集)

注解nginx.ingress.kubernetes.io/canary的作用:在上面ingress普通版本示例中,我们看到这两个spec中的内容都是相同的,不过我们执行下面yaml文件的时候没有报错,原因是我们通过注解指明了当前ingress版本是金丝雀版本,用以完成灰度发布功能,所以执行过程中不会报错三个注解的优先级对比:分别是nginx.ingress.kubernetes.io/canary-by-header。

2023-03-05 21:12:19 1953

转载 尚硅谷云原生学习笔记(76~143集)

传统部署时代:在物理服务器上运行应用程序无法为应用程序定义资源边界,一旦某个应用程序出现问题,将会导致该虚拟机上的全部应用程序都会受到影响,所以应用程序的资源隔离性不是很好导致资源分配出现问题,毕竟没做限制就无法控制虚拟化部署时代需要安装虚拟机,安装不方便,伸缩性不好虚拟机运行需要占用内存和存储空间容器部署时代应用程序伸缩扩容很方便应用程序的部署、迁移都很方便可以很好控制容器对内存和存储空间的占用,并且能起到很好的物理隔离作用。

2023-02-20 13:57:51 3429

转载 尚硅谷云原生学习笔记(1-75集)

尚硅谷云原生学习笔记

2023-01-17 12:26:46 6322 11

转载 MinIO学习文档(Java版)

我们下面的yaml文件用到了名称空间,所以需要先把该名称空间创建出来在安装minio之前,以下几点需要先说明一下yaml文件内容修改说明:大家只用把写注释的地方改成自己的,其他地方都不用变安装命令:大家可以把下面yaml文件内容复制到中,然后上传到linux中,之后通过命令来安装端口解释:对于端口部分解释一下,端口是供浏览器访问UI页面的,而端口是供客户端连接的访问链接:安装完成之后,可以通过来访问minio,其中ip就是虚拟机ip,而端口就是端口对应的nodePort端口,比如下面yaml文件中的就是登录

2022-12-03 22:45:48 11700 10

转载 k8s云原生环境搭建笔记——第一篇

来说,我们将所有image的值前面的docker.io/去掉了,毕竟我们已经将calico镜像导入了,就不用去docker.io下载镜像了。的master主节点中的最后结果,记得用你自己的初始化结果哈,然后在所有worker节点执行即可。service地址区间、pod地址区间和master节点的ip只要不重复就可以了,由于我的是。根据上面的命令,可以找到kube-proxy的pod名称,比如我上面的就是。就可以了,如果pod一直不满足要求,那就可以使用。文件,但是还想和大家说一下该文件的来源,首先在。

2022-10-30 16:47:40 3317

转载 Mybatis学习文档

JDBC:Hibernate 和 JPA:Mybatis:1.2、applicationContext-datasource.xml配置在下面这个目录中会详细说明核心配置文件,因此我们下面只将配置内容进行截图:https://gitee.com/mkdxm61/mybatis-spring-study-demo2.2、application.properties配置常用配置说明:常用配置1截图说明:常用配置2截图说明:常用配置3截图说明:在下面这个目录中会详细说明核心配置文件,因此我们下面只将配

2022-08-10 20:48:18 1087

原创 RabbitMQ学习文档(进阶篇(Demo使用SpringBoot编写))

2022-05-03 23:52:28 2515

原创 RabbitMQ学习文档(进阶篇(Demo使用Spring编写))

目录一、依赖二、代码1、死信队列1.1、TTL过期1.1.1、生产者1.1.2、普通消费者1.1.3、死信消费者1.2、队列长度有限1.2.1、生产者1.2.2、普通消费者1.2.3、普通消费者1.3、消费者拒绝1.3.1、生产者1.3.2、普通消费者1.3.3、死信消费者2、优先级队列2.1、生产者2.2、消费者3、自定义延迟交换机3.1、生产者3.2、消费者4、备份交换机4.1、生产者4.2、普通消费者4.3、备份消费者一、依赖<dependency> <groupId&g

2022-05-02 22:39:20 2572 2

原创 RabbitMQ学习文档(入门篇(Demo使用SpringBoot编写))

目录一、依赖二、代码编写1、Hello World!(简单队列)1.1、RabbitMQ配置类代码1.2、生产者代码1.3、消费者代码2、Work queues(工作队列 / 任务队列)2.1、RabbitMQ配置类代码2.2、生产者代码2.3、消费者代码3、Work queues(工作队列 / 任务队列)3.1、RabbitMQ配置类代码3.2、生产者代码3.3、消费者代码4、Publish/Subscribe(发布订阅模式)4.1、RabbitMQ配置类代码4.2、生产者代码4.3、消费者代码5、Rou

2022-05-01 23:24:49 2676

原创 Elasticsearch:RestHighLevelClient的简单使用

目录一、引入依赖二、代码1、添加索引结构到es2、获取索引信息3、删除索引4、添加数据到索引中5、局部更新索引中的数据6、根据文档id查询索引中的数据7、根据文档id删除索引中的数据8、批量插入数据到索引中9、批量删除索引中的数据10、高级查询之查询全部数据11、高级查询之term精准匹配12、高级查询之分页查询13、高级查询之排序查询14、高级查询之source获取部分字段内容15、高级查询之should匹配16、高级查询之filter过滤查询17、高级查询之模糊查询18、高级查询之高亮查询19、高级查询

2022-04-07 00:49:06 22444 16

转载 docker学习文档

docker学习文档

2022-02-04 19:00:27 3714 8

原创 宋红康版JVM笔记

JVM上篇:内存与垃圾回收篇:链接:https://pan.baidu.com/s/1FjOSkdf2u0K57Ord6MPXpA提取码:cp6h声明:该PPT文档制作者为 哔哩哔哩用户@中二黄大仙,如果PPT中缺少某页,请务必私信我,我来添加上,然后在重新分享给大家,谢谢!JVM中篇:字节码与类的加载篇:持续更新中,敬请期待JVM下篇:性能监控与调优篇:持续更新中,敬请期待...

2021-02-23 00:45:56 56780 183

原创 Elasticsearch:学习文档(来自谷粒商城项目的ES 7.4.2)

一、基本介绍1、索引、类型、文档:es和mysql类似,es中的索引、类型、文档分别对应mysql中的库、表、数据,不过es中的文档中的数据是以json格式来写的,一行就是一串json格式的字符串,json中的属性可以认为是mysql中的列名,json的值可以认为就是mysql中的属性2、倒排索引我们把数据存在es之后,es会将数据进行分析,然后将数据进行分词,例如红海行动分成了红海、行动,而探索红海行动被分成了探索、红海、行动,然后红海特别行动被分成了红海、特别、行动等等,之后把这些词放在表左边,

2021-01-02 14:42:30 3750 1

转载 尚硅谷MySQL高级JAVA版

视频地址1:https://www.bilibili.com/video/BV1KW411u7vy视频地址2:http://www.atguigu.com/download_detail.shtml?v=30补充资料(某些方面比本文档更全面):链接:https://pan.baidu.com/s/1l7DJygXIh96_v-hIFDPSBg 提取码:1sak1.MySQL环境1.1.环境安装# 查看Linux服务器上是否安装过MySQLrpm -qa | grep -i mysql # 查询出

2020-10-14 10:26:48 931 1

原创 Kafka 与 RabbitMQ 并发消费完整指南

RabbitMQ 与 Kafka 并发机制本质不同:RabbitMQ 通过 concurrency × 实例数 动态扩展,无分区限制,适合灵活扩容;Kafka 并发受分区数制约,上限为 min(concurrency × 实例数, 分区数),需先扩分区再调线程。RabbitMQ 支持动态线程伸缩,Kafka 固定并发。配置上,两者均支持全局与注解级差异化设置,但 Kafka 不支持 max-concurrency。关键在于:RabbitMQ 看实例与线程,Kafka 看分区数。

2026-09-20 11:20:32 160

原创 Kafka 可靠消息投递:核心机制总结

Kafka 可靠投递依赖 PID、Sequence、幂等性与事务机制。生产者通过唯一 PID 与递增 Sequence 保证消息顺序,Broker 校验 Sequence 防止重复或乱序;结合 acks=all、min.insync.replicas=2 等配置确保数据持久化;max.in.flight.requests.per.connection 控制流水线并发,配合重试与超时机制实现最终一致性。事务支持跨分区原子写入,结合 TransactionCoordinator 实现 Exactly-Once

2026-09-19 17:39:24 96

原创 Kafka:基于 Outbox 的可靠消息投递完整方案

核心:生产者用 outbox 保证消息不丢,消费者用幂等表保证不重复,消费者死信全量搬运回原 topic。固定租约,不搞心跳,死信不落库。两端靠 关联。不追求绝对不重复,而是 at-least-once + 消费端幂等 = exactly-once 效果。2.2 实体类2.3 Mapper 接口2.4 Mapper XML2.5 业务侧:业务 + outbox 同事务2.6 投递器:抢占 + 异步发送 + 回调2.7 回收器2.8 死信监控2.9 人工重投两个关键:B

2026-09-19 17:27:02 112

原创 RabbitMQ:基于 Outbox 的可靠消息投递完整方案

核心:业务和消息同库同事务 → 投递器扫表发 MQ → confirm 确认 → 租约回收 → 死信人工兜底。1.2 实体类1.3 Mapper 接口1.4 Mapper XML1.5 业务侧:业务 + outbox 同事务1.6 投递器1.7 回收器1.8 RabbitMQ 配置1.9 生产者死信监控投递器重试用尽后,记录变成 。它不会自己恢复,需要监控告警提醒人工处理。监控频率不能太频繁,避免重复告警骚扰。策略:为什么这样设计:生产者死信不是 MQ 里的消息,而是数据库

2026-09-18 23:43:14 348

转载 Spring MVC 拦截器源码深度解析:从配置到匹配

Spring 容器启动↓DelegatingWebMvcConfiguration 被 Spring 管理(通过 @Import 或 Boot 自动配置)↓@Autowired setConfigurers(List<WebMvcConfigurer>) 收集所有 WebMvcConfigurer↓存入 WebMvcConfigurerComposite.delegates↓。

2026-09-09 21:26:14 32

转载 Spring MVC 异常处理全链路:从抛出到响应

实现了Ordered接口,getOrder()返回0。而其他两个 Resolver 的Order值更大,所以它排在列表的最前面,在遍历时第一个被执行。维度优先级规则Resolver 执行顺序(Order=0)>异常处理位置局部(Controller 内部)> 全局(异常类型匹配精确匹配 > 父类匹配 > 接口匹配 >Throwable全局 Advice 排序@Order数值越小优先级越高(默认最低优先级)

2026-09-09 17:32:24 31

转载 Spring Boot Web 核心原理:从启动到请求处理全链路

日常开发中,我们熟练使用和,但对于 Spring Boot 如何启动 Tomcat、为什么 Controller 方法能被自动调用、参数如何绑定、异常如何被全局拦截,往往缺乏一个完整的认知。本文将从源码角度,完整梳理从启动组件装配请求处理到异常处理的全链路流程。组件扫描目标启动时产物中的方法构建(URL →映射表)中的缓存全局增强逻辑;预置 30+ 个参数解析器和返回值处理器解决“找谁干活”(根据 URL 找到对应方法)。解决“怎么干活”(拿到方法后,如何解析参数、如何调用、如何返回),同时解决。

2026-09-09 16:04:41 34

原创 Electron学习文档

在 Electron 中,进程模型继承自 Chromium 的多进程架构,三者各司其职:架构示意图:1.1.2、为什么不能直接在渲染进程中使用 Node.js?早期 Electron 允许通过 在渲染进程中直接使用 、 等模块。但这是一个严重的安全隐患:Electron 的默认安全策略(12.0 版本起):因此,预加载脚本成了渲染进程与主进程之间唯一的安全通道。Vue 触发事件,主进程执行任务,无需返回结果。1. window.api.sendLog('点击了按钮')2. ipcRenderer.s

2026-08-15 18:55:59 398

原创 聊一下二维码登录这件事

大概两年前,我就想实现二维码登录功能。但当时一直没想清楚完整的实现逻辑,手头也没有合适的参考项目,再加上自己对前端不太熟悉,这件事就搁置了。最近我系统学习了一些前端知识,也在关注开源项目时发现了 Lucky Im,它里面正好有一套完整的二维码登录实现。于是我就萌生了把这个功能移植到自己项目里的想法。之前学习 Uniapp 的时候,我做了一个微信小程序(配合一个管理后台来维护数据),正好可以作为“扫码端”。而后台管理系统则扮演浏览器“客户端”的角色。这样一来,两端就齐了,我便动手把整套二维码登录流程在自己的项

2026-06-30 16:19:54 420

原创 关于vite.config.js,谈一下我的认识~

配置项用途port: 80使用默认 HTTP 端口,访问更简洁(但不推荐用于生产)host: true允许局域网访问,方便多设备调试open: true自动打开浏览器,提升启动体验/dev-api代理解决跨域问题,将前端请求转发到后端,并去除前缀代理代理 SpringDoc 接口文档,方便前端查看 API若依的这种配置是前后端分离项目的标准实践:前端开发时通过 Vite 代理将请求转发到后端,避免跨域问题;生产环境则由 Nginx 或后端网关处理。😊。

2026-06-27 15:27:14 508

原创 通过咸虾米项目的开发经历,了解Uniapp项目整体开发过程(微信小程序名称:月色东升壁纸)

本文记录了作者从Java后端开发者转型全栈开发的完整历程。一年前因前端知识欠缺而放弃的小程序项目,通过系统学习HTML/CSS/JavaScript、Vue框架后,选用Uniapp实现多端适配开发。文章详细分享了学习路径(B站咸虾米教程)、设计工具(即时设计)的使用技巧、微信小程序注册流程,以及如何基于若依框架自建SpringBoot后端服务。作者不仅重写了所有接口,还完成了数据库设计、前后端联调,并实践了小程序上线全流程(包括ICP备案)。整个过程涵盖了原型设计、开发环境配置、接口对接、项目部署等全栈开发

2026-06-17 21:36:35 405

转载 Grid容器布局

2. 定义显式网格轨道常用值:示例:3. 定义网格区域名称(配合grid-area使用,解决复杂布局问题)4. 设置间隙5. 对齐所有项目(单元格内)默认值 (拉伸填满单元格)。生效条件:网格总尺寸 < 容器尺寸。(默认):按行填充:按列填充:尝试填充空洞(可能打乱顺序)触发隐式网格的条件:常见误区:关键点:完整语法: 是 和 的简写,完整语法为:其中:常见误区解释:写法: 等价于: 行为:示例:在一个 3 列的网格中,这个项目会被放到第二列(即第2列线到第3列线

2026-05-13 20:42:03 90

转载 Vue3(尚硅谷)

打包大小减少。初次渲染快, 更新渲染快。内存减少。使用代替实现响应式。重写虚拟的实现和。(组合):与与…新的内置组件:…其他改变:新的生命周期钩子 选项应始终被声明为一个函数移除支持作为 的修饰符…:点击我看目录(第一步:安装nodejs)第1步: 请在CMD窗口执行以下命令:第2步: 请在CMD窗口执行以下命令,用于验证安装效果如果输出一下内容,那就说明脚手架安装成功进入创建项目的目录,在地址栏输入然后回车:执行命令(例如:),然后根据提示创建项目即可在项目中的终端下,执行如下命令:执行结果如下:在

2026-04-25 11:54:46 65

转载 TypeScript(尚硅谷)

TypeScript 由微软开发,是基于JavaScript的一个扩展语言TypeScript 包含了 JavaScript 的所有内容,即:TypeScript 是 JavaScript 的超集TypeScript 增加了:静态类型检查、接口、泛型等现代开发特性,因此更适合大型项目的开发TypeScript需要编译成 JavaScript ,然后交给浏览器或者其他 JavaScript 运行环境执行// 限制person1对象必须有name属性,其中age为可选属性(?

2026-04-19 22:47:31 67

转载 Vue2(尚硅谷)——第二篇

:点击我看目录(第一步:安装nodejs)第1步: 请在CMD窗口执行以下命令:第2步: 请在CMD窗口执行以下命令,用于验证安装效果如果输出一下内容,那就说明脚手架安装成功进入创建项目的目录,在地址栏输入然后回车:执行命令(例如:),然后根据提示创建项目即可在项目中的终端下,执行如下命令:执行结果如下:在浏览器中访问http://localhost:8080即可官网链接:https://cli.vuejs.org/zh/config/#vue-config-js在脚手架项目中,已经隐藏了配置,而是使

2026-04-18 15:05:35 113

转载 Vue2(尚硅谷)——第一篇

1、采用组件化模式,提高代码复用率,并且让代码更好维护2、声明式编码,让编程人员无需直接操作DOM,提高开发效率3、使用虚拟DOM+Diff算法,尽量复用DOM节点下面我给出谷歌浏览器的:在谷歌浏览器地址栏输入,然后敲击回车按键,然后就会进入扩展程序页面,打开右上角的开发者模式直接将百度网盘下载的拖到上述页面,然后加载即可在上述扩展程序页面()中找到插件,点击详情按钮然后在详情页面,按照我下面的截图设置对应几项内容找到一个Vue2网页,然后看图标是否点亮,另外点击F12,查看控制台是否出现Vue选

2026-04-13 18:51:31 94

转载 手动打包已安装的谷歌浏览器插件—来自DeepSeek

打包成功后,你会在该路径的上一级目录(即 Extensions 文件夹下的 ID 文件夹里)看到生成的 .crx 文件和 .pem 密钥文件。这个 .crx 文件就是可以分享的插件安装包。进入后你会看到一个或多个版本号的文件夹(例如 5.3.4_0)。选择最新的版本文件夹,复制它的完整路径。打开后,你会看到许多以 ID 命名的文件夹。找到刚才记录的那个 ID 对应的文件夹并打开。在 “扩展程序根目录” 一栏中,粘贴刚才复制的文件夹路径。找到你要导出的 Vue Devtools,记录下它的。

2026-03-15 15:24:07 311

转载 Ajax(黑马程序员)

11111111111111111111111111111

2026-03-12 19:18:40 76

转载 JavaScript(黑马程序员)——第二篇

本文介绍了JavaScript中的BOM(浏览器对象模型)基础概念和定时器使用方法。主要内容包括:1)BOM的核心概念,window对象作为顶级对象,其属性和方法可直接调用;2)两种定时器函数:setTimeout(延迟执行一次)和setInterval(间隔重复执行)的语法、用法及关闭方法;3)VS Code的Error Lens插件用于实时提示JS代码错误。通过代码示例展示了定时器的具体应用场景和效果。文章为前端开发者提供了BOM基础知识和实用技巧的简明指南。

2026-03-06 13:13:02 150

ES数据迁移~~~~~~~~~~~~~~

ES数据迁移~~~~~~~~~~~~~~

2024-04-19

悦听播放器player.zip

使用vue和网易云音乐的api实现的播放器效果,这是在哔哩哔哩上面看black horse的教程做出来的

2020-09-14

music.html

下载该文件之后直接在浏览器打开,然后在左上角输入歌曲/歌手名称,点击回车,之后就可以看到相关的文件了,这样就可以收听和下载音乐和mv了,设置的都是0积分,多余的积分都是csdn加上去的

2020-09-14

helloVue.zip

第一次编写的vue文件,里面包含相关的html代码和几张图片资源,希望未来自己能成为一个优秀的java程序员!

2020-09-13

mingming.sql

Oracle中自带的三张表,包括emp、dept、salgrade,直接使用PLSQL工具导出来的,绝对原汁原味

2020-05-04

空空如也

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

TA关注的人

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