自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何在Linux修改jar包中的内容

cp application-dev.yml BOOT-INF/classes/application-dev.yml 替换文件。2.使用jar xvf jar 目标文件名(copy上面查出的全路径) 将目标文件及所在jar包中的目录解压到当前路径。4.使用jar uvf jar名称 目标文件名(和步骤(2)中的目标文件名相同) 将新目标文件替换到jar包中。3.修改目标文件的内容,或者将要新的目标文件替换掉提取出来的目标文件。

2024-07-02 15:00:51 209

原创 【开箱即用】@EnableScheduling 定时任务

SpringBoot 最简单的定时任务实现

2024-02-20 14:30:03 342

原创 【开箱即用】RestTemplate工具类,可以传输附件

RestTemplate工具类

2024-01-23 11:19:10 745

原创 【开箱即用】SpringBoot引入*.properties配置

【代码】【开箱即用】SpringBoot引入*.properties配置。

2023-10-25 17:04:57 92

原创 【开箱即用】websocket 工具类

【代码】【开箱即用】websocket 工具类。

2023-10-25 17:02:13 246 1

原创 日常常用注解

【代码】日常常用注解。

2023-10-09 16:56:25 61

原创 HandlerInterceptorAdapter拦截器的使用,开箱即用。

在SpringBoot中我们可以使用HandlerInterceptorAdapter这个适配器来实现自己的拦截器。这样就可以拦截所有的请求并做相应的处理。

2023-09-21 15:48:15 204 1

原创 结合hutool的JWT工具类,开箱即用。

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。

2023-09-21 13:58:29 372 1

原创 【Redis】SpringBoot快速整合Redis,开箱即用。

1. 引入依赖 <!--Redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--使Redis连接

2023-09-20 10:35:25 68 1

原创 接口返回值统一处理工具类

添加了Swagger的注解。接口返回值状态码常量。

2023-09-19 16:16:19 50

原创 SpringBoot 读取配置文件信息的三种办法

通过@ConfigurationProperties(prefix = “demo.user”)配置类的形式创建一个实体类。使用 org.springframework.core.env.Environment。使用@Value(“${}”)

2023-09-15 13:44:19 122

原创 用@Qualifier+JdbcTemplate实现多数据源

配置文件:application.properties中进行相关配置,我们先配两个不同的数据源。JdbcDataSource 的配置。

2023-09-14 09:47:11 273 1

原创 Orcale unix时间戳转成时间格式

【代码】Orcale unix时间戳转成时间格式。

2023-09-01 09:42:38 506 1

原创 【Redis】持久化+分布式锁底层原理

Redlock 只有建立在「时钟正确」的前提下,才能正常工作,如果你可以保证这个前提,那么可以拿来使用。但是时钟偏移在现实中是存在的:第一,从硬件角度来说,时钟发生偏移是时有发生,无法避免。例如,CPU 温度、机器负载、芯片材料都是有可能导致时钟发生偏移的。第二,人为错误也是很难完全避免的。所以,Redlock尽量不用它,而且它的性能不如单机版 Redis,部署成本也高,优先考虑使用主从+ 哨兵的模式实现分布式锁(只会有很小的记录发生主从切换时的锁丢失问题)。

2023-08-16 10:55:45 61 1

原创 【Redis】高级特性和应用(慢查询、Pipeline、事务、发布/订阅、Stream)

参数:slowlog-log-slower-than就是时间预设阀值,它的单位是微秒(1秒=1000毫秒=1 000 000微秒),默认值是10 000,假如执行了一条“很慢”的命令(例如keys *),如果它的执行时间超过了10 000微秒,也就是10毫秒,那么它将被记录在慢查询日志中。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录下来,Redis也提供了类似的功能。慢查询的阈值设置,慢查询记录存放位置设置。

2023-08-07 19:31:06 255 1

原创 【布隆过滤器】的三种实现方式

布隆过滤器的三种实现方式。

2023-08-03 17:36:25 1169

原创 【Redis】高级数据结构

operation 是位运算的操作,有 AND,OR,XOR,NOT。resultKey 是把运算结构存储在这个 key 中,key1 和 key2 是参与运算的 key,参与运算的 key 可以指定多个。现代计算机用二进制(位)作为信息的基础单位,1个字节等于8位,例如“big”字符串是由3个字节组成,但实际在计算机存储时将其用二进制表示,“big”分别对应的ASCII码分别是66、73、71,对应的二进制分别是100 0010、100 1001和 100 0111。但是缺点是返回的结果具有概率性。

2023-08-03 16:07:42 259

原创 【Redis】入门与应用

我们要首先理解一点,我们把Redis称为KV数据库,键值对数据库,那就可以把Redis内部的存储视为存在着一个巨大的Map,对Map的操作无非就是get和put,然后通过key操作这个key所对应的value,而这个value的类型可以多种多样,也就是Redis为我们提供的那些数据结构,比如字符串(String)、哈希(Hash)等等。这些年李老师的经历,我发现,很多技术人都有一个误区,那就是,只关注零散的技术点,没有建立起一套完整的知识框架,缺乏系统观,但是系统观其实是至关重要的。

2023-07-31 17:57:44 128

原创 常用的限流算法

假设我们仍然设定1秒内允许通过的请求是200个,但是在这里我们需要把1秒的时间分成多格,假设分成5格(格数越多,流量过渡越平滑),每格窗口的时间大小是200毫秒,每过200毫秒,就将窗口向前移动一格。图中将窗口划为5份,每个小窗口中的数字表示在这个窗口中请求数,所以通过观察上图,可知在当前时间快(200毫秒)允许通过的请求数应该是70而不是200(只要超过70就会被限流),因为我们最终统计请求数时是需要把当前窗口的值进行累加,进而得到当前请求数来判断是不是需要进行限流。那么令牌桶算法是怎么突发流量的呢?

2023-07-27 11:31:57 53 1

原创 【Sentinel】简单入门以及整合SpringBoot、OpenFeign和RestTemplate

Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。丰富的应用场景:Sentinel承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。完备的实时监控:Sentinel提供了实时的监控功能。

2023-07-25 20:19:51 461

原创 【Gateway】简单入门及使用

网关作为流量的入口,常用的功能包括路由转发,权限校验,限流等Spring Cloud Gateway 是Spring Cloud官方推出的第二代网关框架,定位于取代 Netflix Zuul。相比 Zuul 来说,Spring Cloud Gateway 提供更优秀的性能,更强大的有功能。Spring Cloud Gateway 是由 WebFlux + Netty + Reactor 实现的响应式的 API 网关。它不能在传统的 servlet 容器中工作,也不能构建成 war 包。

2023-07-24 11:26:55 798 1

原创 【OpenFeign】实现远程HTTP调用

是一个http请求调用的轻量级框架,是以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求。方式一:让父子上下文ComponentScan重叠(强烈不建议使用)/*** 日志级别* 通过源码可以看到日志等级有 4 种,分别是:* NONE:不输出日志。* BASIC:只输出请求方法的 URL 和响应的状态码以及接口执行的时间。

2023-07-19 17:56:03 736

原创 【Nacos】作为配置中心的使用

如果服务器在客户端的请求发出后没有新的数据更新,连接将一直保持打开状态,这样服务器就可以在有新的数据更新时立即将更新推送给客户端,从而实现实时的数据通知。这种长轮询机制实现了客户端和服务器之间的实时通信,使得Nacos能够实时感知配置的变化,并将最新的配置推送给订阅的客户端,从而实现动态配置的更新和实时通知。客户端在收到服务器响应后,会处理返回的配置更新,并根据需要再次发起长轮询请求,以便持续接收后续的配置更新。当有配置更新时,Nacos服务器将更新的配置信息作为响应返回给客户端。

2023-07-18 22:32:15 3181 1

原创 【Nacos】作为注册中心的使用

Nacos官网地址Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

2023-07-17 15:11:08 391 2

Sentinel 集成Nacos持久化

Sentinel 集成Nacos持久化,能把Sentinel的配置持久化到Nacos的配置中心上,这样项目重启后就不需要重新配置Sentinel。 1.打开根目录下的 pom.xml ,修改 sentinel 的版本我的是 1.8.6 2.修改resources下的application.properties配置文件,配置Nacos地址和配置中心的命名空间 3.进入项目根目录,cmd,执行命令 mvn clean package 4.然后会生成一个 jar 包,这个 jar 包就是 sentinel 控制台 5.执行命令,启动控制台:

2023-07-26

空空如也

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

TA关注的人

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