自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue/JS项目的package.json文件 和java项目里面的pom文件

package.json 本质上就是 Java 世界的 “pom.xml”更加轻量和灵活脚本功能更强大生态系统更多样化配合 lock 文件确保依赖一致性。

2026-01-20 16:30:33 461

原创 pom为什么要有插件配置?

Maven的设计哲学是"约定优于配置",它预先定义了一套标准生命周期(clean、compile、test、package、install、deploy),但这些生命周期阶段。

2025-12-10 11:41:59 306

原创 RocketMQ订阅组机器订阅关系不一致问题

ConsumerGroup(订阅组/消费者组):RocketMQ 中同一类消费者的集合,核心作用是实现负载均衡(组内实例分摊消费 Queue)和广播消费。同一组内的消费者需遵循订阅规则一致的约束。实例:应用程序的独立运行副本(进程级)。订阅关系:消费者实例订阅消息的规则,核心包含“订阅的 Topic”和“Tag 过滤条件”(如消息积压:Topic 下的 Queue 中消息无法被及时消费,导致消息在 Queue 中持续堆积的现象。

2025-11-05 19:27:24 620

原创 rocketmq 的核心概念讲解

Spring Cloud Stream 是更高层次的抽象,通过“绑定器(Binder)”适配不同消息中间件,屏蔽底层差异,适合微服务架构中统一消息编程模型。基于 Spring Boot 封装,通过注解简化配置,自动管理生产者/消费者生命周期,适合 Spring Boot 项目快速集成。原生客户端直接调用 RocketMQ 底层 API,需手动管理生产者/消费者生命周期,适合对底层细节有强控制需求的场景。这些可选概念用于增强消息的灵活性和可维护性,但不影响消息的基本传输流程。

2025-11-05 17:48:37 966

原创 支持rocketmq的java框架有哪些

框架/API抽象层级易用性灵活性与Spring集成度推荐场景高高低极高需要与消息中间件解耦的微服务架构中高中极高大多数 Spring Boot 项目(首选)低低高低(需自己封装)非Spring项目、深度定制、性能极致优化。

2025-11-04 16:09:31 896

原创 在测试环境中,RocketMQ生产了大量的消息,消息堆积了废消息,且消费者方法断线不在消费,如何清除消息

在测试环境中清理 RocketMQ 的堆积消息,有多种快速有效的方法。

2025-11-03 18:01:34 855

原创 java程序产生RocketMQ消息,怎么查询到RocketMQ消息堆积

Java 程序可以通过 RocketMQ 提供的 API 来查询消息堆积情况,并根据堆积程度来决定是否停止发送消息。这是一种非常重要的自我保护和生产端限流策略。

2025-11-03 17:57:59 418

原创 ETL核对

本身就是缩写,全称是 Extract, Transform, Load(抽取、转换、加载)。指的是在ETL(抽取、转换、加载)过程的各个阶段,对数据的进行检查与验证的一系列活动。它的核心目的不是简单地搬运数据,而是。

2025-11-03 17:26:16 482

原创 离线数仓核心工作流程

离线数仓的核心工作流程围绕“数据接入-处理-存储-应用”展开,核心是通过分层处理让原始数据变成可用于分析的资产,全程以批量、离线方式推进,具体步骤如下:

2025-11-03 17:23:44 256

原创 压测主要关注的指标

理解这些指标的关联关系,能够帮助您快速定位系统瓶颈,制定有效的优化策略。

2025-11-03 13:21:10 364

原创 java接口限流方案以及应用框架

spring-boot-starter-data-redis-reactive 是 Spring Boot 提供的一个 Starter 依赖,用于集成响应式 Redis 客户端,支持基于响应式编程模型(如 Reactor)操作 Redis 数据库。它是 Spring Data Redis 针对响应式编程场景的实现,与传统的同步阻塞式 Redis 客户端(如 Lettuce、Jedis)相比,核心特点是非阻塞、异步、基于事件驱动,适合高并发、低延迟的场景。:前4次请求成功,后续因QPS超限被限流。

2025-10-31 16:19:49 709

原创 redis的zset实现窗口限流的原理以及java应用

key 是 ZSet 的“容器标识”:一个 key 对应一个独立的 ZSet,不同 key 之间的 ZSet 互不干扰。member 是 ZSet 内的“唯一元素”:同一 key 下,member 不可重复,是定位具体元素的核心。score 是 member 的“排序依据”:Redis 自动按 score 升序维护 ZSet,支撑范围查询、排序等操作。这些特性使 zset 在需要排序和范围查询的场景中表现出色,例如:排行榜、窗口限流、延迟队列、范围统计等。

2025-10-31 14:48:07 659

原创 提升扫表效率的5个实用方案

如果数据量大(百万级),会存在什么问题?

2025-10-30 16:35:55 202

原创 java的定时任务框架以及相关代码应用示例

/ 配置执行器客户端@Bean// 定义任务(@XxlJob注解指定任务标识)@Component@XxlJob("demoJobHandler") // 任务标识,需与调度中心配置一致// 获取任务参数XxlJobHelper.log("任务执行:" + param);// 日志记录// 业务逻辑...

2025-10-30 15:08:26 1439

原创 java中的加密解密原理详解

加密算法分为对称加密和非对称加密,是可逆的,能解出密文

2025-10-30 10:55:52 966

原创 Vuex 中 Action 基本概念和Action 处理异步数据的核心机制,以及 async/await的使用

在 Action 前添加async关键字,内部用await等待异步操作完成,代码会按“同步的形式”执行异步逻辑。actions: {// 用 async 定义 Action(自动返回 Promise)try {// 用 await 等待接口请求完成${// 用 async 定义 Action(自动返回 Promise) async fetchUserAction(context , userId) {try {

2025-10-29 16:06:04 858

原创 Vuex的基础知识,核心概念

Vuex 是 Vue 官方提供的,用于集中管理 Vue 应用中多个组件共享的状态(如用户信息、全局配置、缓存数据等),解决组件间数据共享和通信的复杂问题。其核心设计思想是“”(Single Source of Truth),即所有共享状态集中存储在一个全局对象中,便于管理和追踪。

2025-10-29 15:33:56 1048

原创 VUE的生命周期钩子,vue2和vue3的生命周期钩子的核心差异

生命周期钩子(Lifecycle Hooks)是Vue框架中,用于让开发者在组件的不同阶段(如初始化、挂载、更新、销毁等)插入自定义逻辑(如数据请求、事件监听、资源清理等)。

2025-10-29 13:24:43 850

原创 Vue 3 的<script setup> 和 Vue 2 的 Options API的关系

优点是结构清晰,适合简单组件;但复杂组件中,同一业务逻辑可能分散在多个选项中(如一个表单验证逻辑可能涉及。,通过“逻辑组合”的方式组织代码,允许将相关的逻辑(如数据、方法、副作用)聚合在一起,而非按选项拆分。以下通过“计数器”和“用户信息展示”两个例子,直观对比两者的写法差异。简化了组合式 API 的写法(无需手动返回变量、自动暴露给模板等)、生命周期钩子等)拆分为不同的选项对象,所有逻辑通过。基于“选项式”设计,将组件逻辑按照功能(如。基于 Vue 3 推出的。

2025-10-28 17:45:18 317

原创 ASCII编码和Unicode编码

特性ASCIIUnicode字符数量128个超过14万个编码空间7位 (0-127)21位 (0-10FFFF)适用范围英文为主全球所有文字存储效率固定1字节变长(1-4字节)Java实现US-ASCIIUTF-8UTF-16。

2025-10-27 15:57:41 247

原创 Java 中的 Base64

Base64 是一种用 64 个可打印字符(A-Z, a-z, 0-9, +, /)来表示二进制数据的方法。核心概念:任意二进制数据(如图片、文件、加密后的密文等)。由 64 个特定 ASCII 字符组成的文本字符串。将每 3 个字节(24 位)的二进制数据,重新分组为 4 个 6 位的数据块。每个 6 位的数据块可以表示 0-63 的数值,这个数值再根据一个索引表映射到对应的可打印字符。类/接口方法描述返回基本 Base64 编码器返回基本 Base64 解码器。

2025-10-24 15:43:35 516

原创 java中的byte

byte: 是 Java 的一种基本数据类型(primitive type)。它占用1个字节(8位)的存储空间,取值范围是-128 到 127。它是一个有符号的二进制补码整数。byte数组: 是一个由多个byte类型元素按顺序组成的集合。

2025-10-24 11:43:57 497

原创 linux开机自启动java服务

3.1rontab的一个特殊时间关键字,表示 “每当系统重启时” 触发后续命令,替代了常规的。3.2 restart.sh里面有服务重启脚本命令。# 方法3:按 o 键(在下方新开一行)# 方法1:按 i 键(插入模式)# 方法2:按 a 键(追加模式)分 时 日 月 周时间格式。

2025-10-22 16:27:28 300

原创 Vue 组件的自定义标签的用法和示例

在 Vue 中,组件的自定义标签是组件化开发的核心概念之一,通过自定义标签可以将页面拆分为可复用的独立模块。

2025-10-21 13:46:20 1392

原创 restful交互和不是restful交互的区别

特性RESTful非RESTful (RPC)核心概念资源动作/过程URL设计名词(资源标识)/users/123动词(方法名)/getUserHTTP方法严格使用(GET, POST, PUT, DELETE等)随意使用(通常只用GET/POST)接口统一性高,所有资源操作方式一致低,每个接口都是独立的函数状态管理无状态可以有状态可缓存性高,天然支持HTTP缓存低,因为多是POST请求耦合度相对松散,客户端只需知道资源结构相对紧密,客户端需知道具体方法适用场景CRUD密集型应用。

2025-10-20 18:04:04 686

原创 Java中POM管理的声明

简单来说,POM管理的声明就是告诉Maven如何构建和管理你的项目。声明式配置:你只需要声明“做什么”(比如需要什么依赖,用什么Java版本编译),而不需要写脚本“怎么做”。Maven会帮你处理复杂的下载、路径、顺序等问题。依赖管理:自动解决依赖关系,避免“JAR包地狱”。你只需声明直接依赖,Maven会处理传递性依赖。标准化和可重复性:任何一个有POM文件的项目,在任何机器上(只要安装了Maven)都能以完全相同的方式被构建。这使得团队协作和持续集成非常方便。项目信息集中化。

2025-09-25 11:24:35 810

原创 VUE的中 computed: { ...mapState([‘auditObj‘]), }写法详解

Vuex 是 Vue.js 官方的状态管理模式库,用于集中管理 Vue 应用中多个组件共享的状态;是Vue 组件选项中的计算属性,会根据依赖进行缓存,只有当依赖的数据发生变化时才会重新计算。Vue 会自动追踪数据变化,并更新依赖该数据的 DOM,无需手动操作 DOM。2 和方法的调用区别【Computed (有缓存)/Methods (无缓存)】是 Vuex 的核心容器,它封装了应用的。中的属性映射到组件的计算属性(属性时,避免重复编写。的对象,相当于组件中。是 Vuex 提供的。:存储共享状态的数据。

2025-09-03 14:23:28 551

原创 JavaScript 中的const

ES6(ECMAScript2015)是JavaScript的重要标准版本,为现代前端框架(React/Vue/Angular)提供核心支持。其关键特性包括:块级作用域变量let/const、箭头函数(自动绑定this)、模板字符串(支持表达式)、解构赋值(对象/数组)、扩展运算符等。特别强调const的特殊性:保证变量标识符不可重新赋值,但允许修改对象/数组内容。对象解构赋值语法能从对象中提取属性值到对应变量,并提供默认值容错机制。这些特性大幅提升了JS的开发效率和代码可读性。

2025-09-03 10:21:10 434

原创 sqlsever的sql转postgresql的sql的方言差异

可以使用KDTS将SQL Server数据库迁移至PG。特有函数多用cast和substring进行兼容转换。两者都是定义输出列的方式,不能同时使用)

2025-08-15 18:05:01 434

原创 spring中异步任务注解@Async和@scheduled的使用

Scheduled(fixedRate = 30 * 60 * 1000) // 每30分钟执行一次。") // 每天凌晨1点执行。@EnableScheduling // 启用定时任务支持。都是 Spring 中处理异步任务的注解,但它们的。@EnableAsync // 启用异步支持。@Async // 异步执行。:每次方法调用都会提交新任务到线程池。:需要显式调用被注解的方法。

2025-08-15 15:46:19 801

原创 sql的关键字 limit 和offset

- 或简写为 LIMIT 0, 10 (MySQL风格)ORDER BY employee_id -- 必须排序才能保证分页顺序稳定!-- 跳过前10条,取接下来的10条。指定在开始返回记录之前要跳过多少行记录。它定义了结果集的起始点。表有 100 条记录,我们想每页显示 10 条 (子句来确保分页结果的顺序稳定和可预测。结果:返回第 11 到第 20 条记录。结果:返回第 1 到第 10 条记录。指定查询最多返回多少行记录。

2025-08-14 18:46:40 531

原创 mysql的LIMIT 用法

常见用法。

2025-07-11 17:02:26 216

原创 如何搭建一个VUE项目

安装 Node.js (LTS 版本 ≥ 18.0)

2025-07-08 17:35:52 335

原创 Java IO流体系设计原因解析(为什么不能直接简单的输入输出流)

世界是复杂的数据来源(文件、网络、内存、管道...)、数据类型(二进制字节、文本字符、基本类型、对象...)、所需功能(缓冲、编码转换、数据序列化、压缩、加密...)千差万别。单一职责原则一个类只做一件事,让代码更清晰、更可维护、更易复用。开闭原则通过装饰器模式,系统对扩展开放(可以添加新功能的装饰器),对修改关闭(不需要修改现有的基础流和装饰器)。装饰器模式通过组合动态添加功能,避免了因功能组合导致的多重继承或类层次结构爆炸的问题。核心功能(如文件读写)与优化功能(如缓冲)分离,允许按需组合。

2025-07-03 15:46:58 748

原创 java中字节和字符有何区别,为什么有字节流和字符流?

java中字节和字符,字节流和字符流

2025-07-03 11:24:49 558

原创 深克隆java对象的方式

深克隆是指创建一个新对象,并递归复制原对象及其引用的所有对象,使得新对象与原对象完全独立,修改其中一个不会影响另一个。

2025-06-06 15:33:59 654

原创 Spring Boot/Spring应用中配置自定义RedisTemplate

Key序列化:使用便于调试和管理Value序列化:配置了(虽然被注释)将对象序列化为JSON格式可读性强占用空间相对较小其他语言客户端可以读取使用Jackson序列化并启用在JSON中嵌入类型信息(@class字段)可以反序列化为原始类型但有潜在的安全风险(反序列化漏洞)Key的可读性:自定义配置使用字符串序列化,极大提升了key的可读性和管理便利性Value的格式:自定义配置倾向于使用JSON而非Java原生序列化,更适合现代应用开发互操作性。

2025-06-06 15:22:15 888

原创 讲解:Java I/O 流体系,并举例每个类的使用

Java I/O流体系总结 Java I/O流体系分为字节流(InputStream/OutputStream)和字符流(Reader/Writer)两大类。

2025-06-06 15:16:38 1036

原创 了解Hadoop

扩展数据计算spark:基于内存:spark核心+sparkSQL+sparkStreaming+MLlib+Graphx。localFS单机存储、SQL单机计算。

2024-12-24 10:51:47 416

原创 k8s总结

2、ks8s核心组件:node是节点(可以是物理机也可以是虚拟机)、pod最小的调度单位,是容器的抽象,有svc管理容器网络转发,封装一组pod,有configMap配置环境,secret处理敏感信息,有volumes挂载持久化的数据。1、k8s是部署、拓展、管理容器的容器编排引擎。kubectl是用来和集群环境进行交互的命令行工具。kubectl get nodes查看运行的节点。kubectl get all 查看所有资源。kubectl get pod查看pod。

2024-12-20 22:11:31 448

空空如也

空空如也

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

TA关注的人

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