一、思路使用接口限流的主要目的在于提高系统的稳定性,防止接口被恶意打击(短时间内大量请求)。比如要求某接口在1分钟内请求次数不超过1000次,那么应该如何设计代码呢?下面讲两种思路,如果想看代码可直接翻到后面的代码部分。1.1 固定时间段(...
一、为什么会出现跨域问题出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏...
在使用Springboot的时候,都要涉及到服务的停止和启动,当我们停止服务的时候,很多都是kill -9 直接把程序进程杀掉,这样程序会有一些没有执行完的程序就会直接退出。第一种Springboot提供的actuator的功能,它可以执行...
一、初始化问题先看一下Java初始化类的顺序:父类的静态字段 > 父类静态代码块 > 子类静态字段 > 子类静态代码块 > 父类成员变量...
需求大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败,则全部回滚。在Spring中可以使用@Transactional...
使用环境:SpringBoot+FastDfs+thumbnailatorthumbnailator:maven依赖:<dependency> <groupId>ne...
1.定义配置文件信息有时候我们为了统一管理会把一些变量放到yml配置文件中例如用 @ConfigurationProperties 代替@Value使用方法定义对应字段的实体@Data //指定前缀 @ConfigurationProp...
编译简单就是把代码跑一哈,然后我们的代码 .java文件 就被编译成了 .class 文件反编译就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,可以看到你的代码写的啥。比较常用的反编译工具JD-GUI ,直...
开发目的:提高百万级数据插入效率。采取方案:利用ThreadPoolTaskExecutor多线程批量插入。采用技术:springboot2.1.1、mybatisPlus3.0.6、swagger2.5.0、Lombok1.18.4、po...
一、访问权限问题众所周知,java的访问权限主要有四种:private、default、protected、public,它们的权限从左到右,依次变大。但如果我们在开发过程中,把有某些事务方法,定义了错误的访问权限,就会导致事务功能出问题,...