JAVA开发
文章平均质量分 78
JAVA开发相关
夏天i(Joker)
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
idea远程debug 断点调试
本文介绍了Spring Boot项目实现远程调试的完整流程。首先创建一个简单的API接口用于测试,然后在pom.xml中配置支持远程调试的参数,包括调试模式、传输方式和端口号等。接着将项目打包为jar,启动时添加远程调试参数。在IDEA中配置远程调试连接信息,包括主机和端口。最后通过Postman调用接口,验证断点调试功能,确认调试输出显示在jar启动窗口而非IDEA控制台,实现远程调试的目的。原创 2025-11-03 11:39:04 · 367 阅读 · 0 评论 -
API 接口AOP、Redis限流【固定窗口、滑动窗口、漏桶、令牌桶】
我们使用Spring中的RedisTemplate的原子整型来实现该功能,在接口第一次触发时,设置增加键值,并将键的有效期设置为单位时间,后续接口访问调用getAndIncrement()方法获取当前值,并将redis中值增加1,然后判断当前值是否超过访问阈值,如果超过则直接丢弃请求。漏桶算法刚好和令牌桶算法相逆,漏桶算法为以恒定的速度从桶中漏出水滴,而我们调用接口为向桶中加水滴,当桶中容量未满时,则表示接口调用量未达到阈值,放行,若桶中容量已满,无法增加水滴进入,则表示拦截请求。原创 2024-05-21 17:20:00 · 1407 阅读 · 0 评论 -
SpringBoot 获取 SFTP文件服务器文件【一看就会】
springBoot 整合 SFTP,创建连接、关闭连接、判断是否存在、创建文件夹、删除文件夹、删除文件、文件上传、读取文件、测试功能...原创 2024-04-01 10:47:58 · 1472 阅读 · 0 评论 -
MurmurHash算法
MurmurHash:(multiply and rotate) and (multiply and rotate) Hash,乘法和旋转的hash 算法。原创 2024-02-28 15:30:29 · 4540 阅读 · 0 评论 -
长链接转短链接
最典型的就是微博和短信,如果一个参数很多路径很深的长链接发出去的话,基本上你这个微博或短信就没法再添加其他文字信息了。另外用短链在内容排版上也更美观,不想看到长长的一串各种参数的url。原创 2024-01-22 17:46:26 · 4312 阅读 · 0 评论 -
将多张图片进行合并(水平,垂直,重叠),背景色控制,透明度控制
对多张图片合并成一张PNG(可垂直,水平,重叠),可设置背景,透明度等原创 2024-01-22 09:37:07 · 874 阅读 · 0 评论 -
Tomcat部署Activiti官方 流程设计器【数据库更换为Mysql !!!】
将wars文件夹下三个war文件复制到tomcat的webapps目录下,启动tomcat即可自动部署,首次部署需要初始化数据库,时间可能比较长,默认用的是自带的内存数据库h2,也可以修改为我们自己的数据库。原创 2023-12-13 22:59:54 · 1376 阅读 · 0 评论 -
SpringBoot / Vue 对SSE的基本使用(简单上手)
SSE技术是基于单工通信模式,只是单纯的客户端向服务端发送请求,服务端不会主动发送给客户端。服务端采取的策略是抓住这个请求不放,等数据更新的时候才返回给客户端,当客户端接收到消息后,再向服务端发送请求,周而复始。注意:因为EventSource对象是SSE的客户端,可能会有浏览器对其不支持。是 HTML5 遵循 W3C 标准提出的客户端和服务端之间进行实时通信的协议。浏览器建立的连接中会看到服务器推送到客户端的消息内容及ID等基础信息。是 HTML5 的一部分,提供了一种双向通信的机制。原创 2023-09-07 11:06:55 · 15816 阅读 · 3 评论 -
i18n 国际化 多语言 SpringBoot 整合
可以根据业务空间系统配置语言不同,返回不同语言的响应,如多语言邮件,多语言短信,以及提示等原创 2022-09-28 17:20:43 · 2967 阅读 · 3 评论 -
(切面)打印request与response + (过滤器)唯一链路日志TraceId生成及打印
异步方法的日志打印 THREAD_ID异步方法会开启一个新线程,我们想要是异步方法和主线程共用同一个traceId,首先先新建一个任务适配器MdcTaskDecorator原创 2022-08-31 17:52:27 · 2256 阅读 · 0 评论 -
SpringBoot 整合 log4j2 + 彩色打印
一定要注意项目中原本的依赖,可能会有冲突,因为使用log4j2依赖一定要排除原本项目中的log4j、logback相关依赖。原创 2022-08-31 17:45:57 · 7597 阅读 · 2 评论 -
OpenFeign / SpringBoot 响应使用gzip压缩(含例子)
feign支持对请求与响应进行GZIP压缩,以减少通信中的性能损耗.原创 2022-08-15 10:42:16 · 5102 阅读 · 0 评论 -
SpringBoot 集成swagger基本配置
createRestApi():创建API应用apiInfo() 增加API相关信息通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,注:apis(RequestHandlerSelectors.basePackage("controller的包路径")apiInfo():创建API的基本信息(Swagger页面头部显示)...原创 2022-05-12 11:37:21 · 1521 阅读 · 0 评论 -
Spring Security认证授权-权限验证使用教程(二)
Spring Security认证授权-权限验证使用教程(二)原创 2022-05-12 11:21:25 · 2086 阅读 · 1 评论 -
Spring Security认证授权-权限验证使用教程(一)
spring security核心组件有:SecurityContext、SecurityContextHolder、Authentication、Userdetails 和 AuthenticationManager等原创 2022-05-12 11:12:02 · 6700 阅读 · 0 评论 -
SpringBoot 整合RabbitMQ 【死信队列 - 延时队列 - 看完这篇就够了】
Direct Exchange直连型交换机,根据消息携带的路由键将消息投递给对应队列。 大致流程,有一个队列绑定到一个直连交换机上,同时赋予一个路由键 routing key 。然后当一个消息携带着路由值为X,这个消息通过生产者发送给交换机时,交换机就会根据这个路由值X去寻找绑定值也是X的队列。Fanout Exchange扇型交换机,这个交换机没有路由键概念,就算你绑了路由键也是无视的。 这个交换机在接收到消息后,会直接转发到绑定到它上面的所有队列。Topic Exchange主题交.翻译 2022-05-12 10:22:26 · 2037 阅读 · 0 评论 -
spring 事务@Transactional
Spring 事务@Transactional简介Transactional的参数说明事务隔离级别事务传播行为事务超时事务的只读属性事务的回滚规则编程式事务管理Spirng 编程式事务管理概述:基于底层API的编程式事务管理:声明式事务管理Spirng 声明式事务管理概述:自定义实现 类似spring事务功能简介需要执行多条sql语句、要么都成功要么都失败。保证数据的完整性、一致性。SpringBoot数据库事务处理两种方式:第一种:编程式事务管理,推荐使用TransactionTemplate。原创 2021-05-12 16:31:30 · 357 阅读 · 0 评论 -
@Scheduled 定时任务同一时间执行问题
@Scheduled 定时任务同一时间执行问题springBoot 定时任务@scheduled同时执行新建测试类问题解析解决方法其他springBoot 定时任务@scheduled同时执行在使用过程中,发现多个任务设计同一时间执行会出现只有一个任务在执行其它任务都无法执行的情况。新建测试类由于项目为SpringBoot框架为了让定时任务生效需要在启动类上面加上@EnableScheduling以开启对定时任务的支持package com.joker;import org.springfra翻译 2021-05-06 18:17:30 · 3525 阅读 · 0 评论 -
线程基础知识
线程基础知识程序、进程、线程基本概念程序进程线程单核CPU与多核CPU并行与并发创建线程的两种方式1.继承Thread类方式2.实现Runnable接口方式3.两种方式对比线程的优先级线程的分类线程的生命周期线程安全问题线程的同步方式一:同步代码块方式二:同步方法方式三:Lock锁单例模式懒汉式改造成线程安全的双重检查锁线程的死锁问题线程的通信wait()与sleep()的区别新增创建线程方式一、 callable 接口二、 使用线程池线程池相关API程序、进程、线程基本概念程序是为完成特定任务、使用原创 2021-06-05 18:06:28 · 674 阅读 · 0 评论
分享