- 博客(639)
- 收藏
- 关注
原创 @FeignClient调用超时
的配置是调用方为自己定义的“调用规则”配置文件位置:在调用方(如job)的Nacos中。下的服务名必须与一致(即被调用方的服务名,如bejoy-wms只有这样,调用方的Feign客户端才能正确识别“调用哪个服务时用这些规则”,避免因配置不匹配导致的超时问题。
2025-10-30 18:07:54
671
原创 idea中已经被git缓存追踪的文件,如何让git重新忽略
背景: 对于no changes added tocommit列表中不需要提交到git的内容,已经在.gitignore文件中配置了/tagret目录下文件忽略,但是没忽略,执行命令gitstatus 显示在target目录下的.class的文件已经处于了no changes added tocommit列表,怎么将这些文件也忽略掉出现这种情况,可能是因为在配置.gitignore之前,target目录下的.class文件已经被 Git 追踪了。
2025-09-24 09:24:01
597
原创 怎么知道Redis 6+ 是否启用 ACL
说明 Redis 必须启用了 ACL(否则无法通过“用户名+密码”认证)。(替换为你的 Redis 地址和端口)。该命令会列出所有用户的 ACL 配置。在 Redis 服务器的终端中执行。通常在 Redis 安装目录下(如。只要 Redis 6+ 能通过。
2025-09-23 20:26:19
624
原创 Redission3.11能连接Redis6+的吗,怎么连接
Redisson 3.11 能连接 Redis 6+,但需注意(Redisson 3.11 对 ACL 的支持是基础兼容,需确保连接参数格式正确)。
2025-09-23 20:24:04
575
原创 nacos的配置中心配置文件列表 和项目是多子模块的时候,项目中每个模块是怎么匹配具体自己在nacos中的配置文件?
nacos的配置文件列表 和项目结构如上图: 项目和配置文件如图,项目中每个模块是怎么匹配具体自己的配置文件的项目中每个模块(如bejoy-authData IDGroup。
2025-09-22 17:27:02
428
原创 IDEA中 .gitignore忽略文件中忽略了某个文件夹,比如.idea/ 但是里面的文件还是显示在idea的提交区域。怎么处理?
背景:IDEA中 .gitignore忽略文件中忽略了某个文件夹,比如.idea/ 但是里面的文件还是显示在idea的提交区域。怎么处理?如下图:执行git status查询当前文件的跟踪状态:要解决当前 Git 状态和 IDEA Commit 面板中仍显示相关文件的问题,需按以下步骤处理(核心是,让.gitignore。
2025-09-22 10:01:07
702
原创 同一个sql为何在不同测试环境和生产数据库执行结果不一样,Expression #21 of SELECT list is not in GROUP BY clause and contains no
背景,同一个sql,在两个不同的环境执行情况不一样,一个报错,一个不报错,是怎么回事出现这种差异的核心原因是sql_mode,具体来说是是否启用了模式。
2025-09-17 19:10:27
1028
原创 SFTP服务器可以通过同一个登录到SFTP服务器的账号密码连接上控制台吗
对于基于 SSH 的 SFTP 服务,账号默认可能具有控制台连接能力,但也可能被管理员限制;对于独立的 SFTP 服务器软件,通常默认不支持通过 SFTP 账号密码连接控制台,少数情况可通过特定配置实现。如果不确定某个 SFTP 服务器是否支持,可以联系服务器管理员进行确认。
2025-08-27 18:21:01
565
原创 Maven 依赖传递与排除基础逻辑
父模块的排除规则,子模块显式声明依赖时可直接继承,简化配置。父模块的排除仅影响自身,子模块需自己声明排除。利用可有效验证依赖排除效果,排查问题。合理运用依赖排除,能优化项目依赖结构,避免冲突,提升构建稳定性。大家可根据实际项目需求,灵活调整父模块与子模块的依赖配置,让 Maven 依赖管理更高效。
2025-08-27 18:19:34
992
原创 连接未释放的风险这个的解决方案、Pipe closed的解决方案
单例模式的SFTPUtil会“长期存在”,但 SFTP 连接本身无法“一直连着”(受服务器超时、网络影响)。通过在操作前自动检测连接状态并智能重连,可解决问题,让单例模式更稳定。
2025-08-26 16:12:13
1116
原创 从双重检查锁定的设计意图、锁的作用、第一次检查提升性能的原理三个角度,详细拆解单例模式的逻辑
是否每次返回新实例:否,全局仅 1 个实例(单例模式)。锁的作用:保证多线程下仅创建 1 个实例,线程安全。潜在问题:单例与多参数冲突、sftp静态变量线程不安全、连接未释放。若业务需要连接不同 SFTP 服务器,或多线程操作sftp,建议调整单例逻辑或增加线程安全处理。
2025-08-26 16:08:58
752
原创 最经典的单例模式例子解析
双重检查:通过两次,平衡“线程安全”和“性能”。类锁:保证多线程下仅创建 1 个实例,且修改对其他线程可见。第一次无锁检查:让大部分调用(实例已创建时)跳过锁逻辑,显著提升性能。volatile:禁止指令重排序,避免对象未初始化时被其他线程访问。这套组合拳,让单例模式在多线程环境下既安全又高效,是经典的“懒汉式单例”实现方案。
2025-08-26 15:43:21
811
原创 多线程while (executor.getTaskCount() != executor.getCompletedTaskCount()) {}多线程阻塞安全吗?存在什么问题
在已经使用阻塞主线程等待所有子线程完成的情况下,再用。
2025-08-07 20:49:53
327
原创 多线程 future.get()的线程阻塞是什么意思?
在多线程中,get(),才会继续执行get()之后的代码。简单说,就是“谁调用get(),谁就停下来等”。
2025-08-07 20:43:25
422
原创 多线程问题,主线程是否会等待所有子线程执行完毕之后,才会往下继续执行&如果不会后的解决方案
背景:如果是这样的,主线程会等到所有子线程都执行完毕之后,再执行下面的批量保存吗?我想子线程都处理完之后,形成的List才是全部数据,此时再去保存才可以不会等待子线程执行完毕**,而是会直接执行saveBatch方法,导致保存的List可能不包含所有子线程添加的数据。
2025-08-07 20:35:41
703
原创 多线程问题,子线程同时操作全局变量,使用后需要清空吗 ?
必须手动清空:全局List不会自动清空,若不处理会导致数据叠加。清空时机:在批量保存成功后清空,确保数据已持久化。线程安全:若多线程同时操作List,推荐用并在保存后替换引用(方案2),或严格保证清空时无线程写入。按此逻辑调整后,就能避免下次使用List时数据重复叠加的问题。
2025-08-07 20:32:53
1328
原创 对公账户与对私账户详解:概念、区别与使用场景
考虑因素选择对公账户选择对私账户主体类型企业/组织/个体户自然人资金规模>50万/年<50万/年业务性质B2B交易C2C服务合规要求需发票/报税个人消费发展计划融资/上市个人理财黄金法则企业经营必用公户:确保合规性和可持续发展个人生活使用私户:保障资金灵活性和隐私公私转账要规范:保留完整凭证和记录账户架构要规划:根据业务规模设计账户体系当您注册公司后,第一要务就是开立基本存款账户,这是企业经营的基石账户。
2025-08-05 10:53:32
5158
原创 动态密码句柄在第三方支付系统中的具体应用场景和流程是怎样的?
在第三方支付系统中,动态密码句柄主要用于加强支付安全以及对敏感操作的身份验证,以下是具体应用场景和流程:
2025-08-05 10:39:48
439
原创 动态密码句柄一般存在于哪些系统或场景中?
动态密码句柄的核心价值是在高安全校验场景中,为“敏感操作发起”和“动态密码校验”建立唯一关联,确保操作的连续性、合法性,防止重放攻击、中间人攻击,以及误操作导致的安全风险。只要系统涉及资金变动、核心数据修改、高权限操作,且需要二次动态校验身份/操作合法性时,都可能引入动态密码句柄机制。
2025-08-05 10:38:53
864
原创 动态密码句柄是什么意思,一般用来干什么
动态密码句柄的核心价值是在高安全校验场景中,为“敏感操作发起”和“动态密码校验”建立唯一关联,确保操作的连续性、合法性,防止重放攻击、中间人攻击,以及误操作导致的安全风险。只要系统涉及资金变动、核心数据修改、高权限操作,且需要二次动态校验身份/操作合法性时,都可能引入动态密码句柄机制。
2025-08-05 10:33:31
931
原创 nacos作为配置中心的配置到底应该加在application.yml文件中还是加在bootstrap.yml中
*目前遇到的问题:**项目中有一处通过@value获取值的地方,将nacos作为配置中心的配置放到application.yml中就获取不到,导致项目启动不起来,放到bootstrap.yml 项目启动就能启动起来,也就是这个能获取到nacos中的配置。
2025-07-09 16:45:19
804
原创 【技术难题】el-table的全局数据排序实现示例,不受分页影响,以及异步请求带来的页面渲染问题
摘要 该代码实现了一个商品列表的全局排序功能。前端使用Vue.js框架,通过Element UI的表格组件展示商品数据,当用户点击表头排序时触发sortChange方法。该方法发送排序请求到后端,并根据返回结果更新表格数据。后端采用Java Spring Boot框架,接收排序参数后使用自定义比较器CustomComparator对商品列表进行升序或降序排列,最后返回排序后的结果。整个流程包含前端交互、API请求、后端排序处理和数据更新等环节,实现了完整的排序功能。
2025-06-24 20:15:30
1024
原创 RedisCommandExecutionException: NOPERM this user has no permissions to access one of the keys used
背景,使用redis在Java代码中执行lua脚本,提示没权限报错分析及解决办法:从你给出的错误信息可以看出,这是一个 Redis 操作权限不足的错误。下面为你详细分析可能的原因以及对应的解决办法。从你给出的错误信息可以看出,这是一个 Redis 操作权限不足的错误。下面为你详细分析可能的原因以及对应的解决办法。
2025-05-08 10:12:33
1534
原创 Apache Velocity代码生成简要介绍
Apache Velocity 是一个基于 Java 的模板引擎,它允许将 Java 代码与 HTML、XML 或其他文本格式分离,实现视图与数据的解耦。在 Web 开发中,Velocity 常用于生成动态网页内容;在其他场景下,也可用于生成配置文件、邮件模板等。通过 Java 代码将数据传递给 Velocity 模板引擎,模板文件中使用 Velocity 指令进行变量定义、对象属性访问、循环遍历和条件判断,最终生成动态的 HTML 文件。这种方式使得视图和数据分离,提高了代码的可维护性和可扩展性。
2025-05-06 16:33:25
851
原创 前端请求传参与后端匹配的接收方式&Content-Type类型
是HTTP请求头中的⼀个标头,⽤于指示请求或响应中包含的实体的媒体类型,可以出现在请求或响应标头中。它告诉服务器如何处理客户端传过来的数据(通知服务器客户端正在发送的数据类型)、客户端如何处理响应中的数据。get请求的 headers 中是没有 content-type 这个字段的。content-type 是⽤来指定消息体的格式的,get请求⼀般没有消息体,所以,get 请求⼀般不⽤设置 content-type。
2025-04-17 15:51:14
2384
转载 后端controller中请求是POST方式,而且请求的接收入参是一个实体User,这个写注解 @RequestBody 跟不写注解,前台传参有什么区别
入参处理这块不是很复杂,主要是要和前端的Header中的Content-Type对应,本次DEMO只讲了String类型的入参处理,后面会分享文件,数组等复杂类型的入参处理. 还有一种入参是@PathVariable的形式,这种在实际入开发中使用的少之又少,可以学习,不推荐实际开发中使。原始文章链接:https://cloud.tencent.com/developer/article/1546885。入参通常来说分两个情况,一种是Get, 一种是POST。
2025-04-17 10:35:22
135
原创 【经验】SrpingBoot项目分多个模块,某个模块使用了 spring-boot-starter-web,因此需要继承 spring-boot-starter-parent,为什么?
针对于 关于在 Spring Boot 项目里,当模块使用了后,通常建议继承。
2025-04-16 15:34:43
923
原创 VUE项目中的package.json中的启动脚本
vite build和都是 Vite 构建工具的内置功能,前者是默认的生产环境构建命令,后者则允许你通过指定环境模式,灵活地为不同环境进行针对性的构建。
2025-04-14 17:26:21
640
原创 在vue项目中package.json中的scripts 中 dev:“xxx“中的xxx什么概念
如果项目有自定义的构建脚本,xxx可以是执行该脚本的命令。例如,你编写了一个名为的 Node.js 脚本用于启动开发环境,那么scripts。
2025-04-14 17:23:59
740
原创 【权限】v-hasPermi=“[‘monitor:job:add‘]“ 这个属性是怎么控制能不能看到这个按钮
el.parentNode && el.parentNode.removeChild(el) 这行代码的意思是,如果 el.parentNode 存在(即 el 有父节点),则从 DOM 中移除 el。这是因为在 Vue 中,使用 v-hasPermi 指令时,如果用户没有相应的权限,我们希望从 DOM 中移除这个元素,从而避免用户看到没有权限的按钮或链接。在这段代码中,el 是一个 DOM 元素,el.parentNode 是获取这个 DOM 元素的父节点。因此, 的父节点是 ,而 的父节点是 或。
2025-04-14 15:20:09
922
原创 切面变成@AfterReturning(pointcut=““,returning=“josnResult“) 中的参数解释
pointcut参数用于定义切入点,确定哪些方法会触发后置返回通知。returning参数用于指定一个参数名,该参数将接收目标方法的返回值,方便在通知方法中对返回值进行处理。execution匹配粒度execution的匹配粒度最细,它可以精确到具体的方法签名。within的匹配粒度较粗,它是基于类或包的范围进行匹配。的匹配粒度取决于注解的使用情况,它是基于方法上的注解进行匹配。应用场景execution适用于需要精确控制哪些方法被拦截的场景。within。
2025-03-26 10:26:10
1136
原创 【云原生之K8s】k8s中某个服务的节点pods的什么时候会自动扩容? 扩容是指什么,加一个pods节点吗,扩容的形式有哪些?
在 Kubernetes(K8s)中,Pod 的自动扩容是一种重要的弹性伸缩机制,能根据实际负载动态调整 Pod 的数量。下面为你详细介绍Pod 自动扩容的触发条件以及扩容的具体含义。
2025-03-20 15:56:09
1039
原创 【K8S】ImagePullBackOff状态问题排查。
是在使用 Kubernetes(K8s)时经常遇到的一种错误状态,下面为你详细介绍其含义、可能的原因及解决办法。
2025-03-19 15:06:51
2304
原创 【日常经验】mybstis使用Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘remark1‘ in ‘field list‘
如果我写成这样,那mybatisPlus解析的查询结果列是依赖于前面的返回实体PO呢 还是依赖于入参中的实体PO呢?分析:MyBatis-Plus 解析查询结果列依赖返回实体 PO 还是入参实体 PO。首先,MyBatis-Plus查询结果映射主要看返回的实体类。执行查询时,会根据返回的实体类字段,结合 @TableField等注解,确定数据库列映射。入参主要用于条件构造,比如查询条件,不影响结果列解析。例如,返回的 PO有哪些字段,就按这些字段去映射结果集。入参是查询条件,和结果映射无关。
2025-03-10 10:44:43
356
原创 sa-token全局过滤器:写法一和写法二注册的Bean,一个是返回FilterRegistrationBean,一个是返回SaServletFilter ,两种写法都会过滤每一个请求吗 。有什么区别
Boot的文档,当注册一个Filter类型的Bean时,默认情况下,该过滤器会匹配所有的请求(即/*),并且顺序为最低优先级。例如,写法一可能通过FilterRegistrationBean的配置和SaServletFilter内部的配置共同决定拦截的路径,而写法二仅依赖SaServletFilter内部的配置。Boot的默认order值。此外,写法二中直接返回SaServletFilter作为@Bean,可能无法正确设置order,导致顺序不符合预期,从而影响过滤器的执行顺序,进而影响权限验证的逻辑。
2025-03-04 22:55:16
1146
原创 sa-token全局过滤器之写法优化(包含设置Order属性)
背景:在手写登录的过程中需要继承sa-token框架,并使用sa-token的过滤器功能,那全局过滤器怎么写呢?我们一起来看看吧。根据sa-token的官方文档:如下图所示:下面是最简单的一种sa-token过滤器的实现方式,这种写法简单,但是会有一些问题。第二种,设置Order的写法:这种是先创建了FilterRegistrationBean对象,同时给这个对象set值的时候,new 了一个SaServletFilter对象,并同时设置上了相关属性逻辑。或者。
2025-03-04 22:48:29
1313
原创 【日常经验-前端】this.$router.replace({ name: ‘home‘ }) 和 window.location.href = “user/register“ 有什么区别,路由寻找
修改router中的path为 /common/register 是可以跳转的,成功跳转的浏览器路径如下图所示 :由此可以看出,浏览器地址中是跳转时写的内容,如果写的是path,则按照path来找,如果写的是name ,按照name的内容,在index中定义的路由中寻找。因为我在router/index.js中定义的是path 是/register 而不是带common的,如果我将path修改成/common/register是可以跳转的。在Vue应用程序中有着不同的用途和效果。在这段Vue代码中,
2025-02-15 17:34:12
1356
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅