目录1、Dubbo已有线程池2、自定义线程池1、Dubbo已有线程池dubbo在使用时,都是通过创建真实的业务线程池进行操作的。目前已知的线程池模型有两个和java中的相互对应:fix: 表示创建固定大小的线程池。也是Dubbo默认的使用方式,默认创建的执行线程数为200,并且是没有任何等待队列的。所以在极端的情况下可能会存在问题,比如某个操作大量执行时,可 ......
366
0
0
2023-01-31
简介在实现登录功能时,一般为了安全都会设置验证码登录,为了防止某个用户用特定的程序暴力破解方式进行不断的尝试登录。常见验证码分为图片验证码和短信验证码,还有滑动窗口模块和选中指定物体验证方式。下面通过Java来实现图片验证码实例。效果展示如上图所示,图片验证码由4个数字和一些彩色的干扰线段组成,点击图片可以更新验证码,只有输入的验证码与图片中的数字一致才能通 ......
277
0
0
2023-01-31
目录一、前言二、在nacos上创建配置文件创建配置文件配置说明发布并检查配置文件三、 修改项目配置与动态读取配置文件添加 nacos 动态配置依赖在controller与service中使用动态配置四、 动态配置网关的使用一、前言使用动态配置的原因: properties 和 yaml 是写到项目中的,好多时候有些配置需要修改,每次修改就要重新启动项目,不仅 ......
294
0
0
2023-01-31
目录何为线程安全的类?基于条件的同步策略状态发布与所有权实例封闭正确地拓展同步策略同步容器复合操作不受同步容器保护同步容器的迭代问题警惕隐含迭代的操作并发容器ConcurrentHashMapCopyOnWriteArrayList阻塞队列 & 生产者 — 消费者模式双端队列和工作窃取阻塞和中断方法同步工具类闭锁信号量栅栏在并行任务中构建高效的缓存何 ......
307
0
0
2023-01-31
目录一、IDEA自带打包插件二、maven插件打包2.1 制作瘦包(直接打包,不打包依赖包)2.2 制作瘦包和依赖包(相互分离)2.3 制作胖包(项目依赖包和项目打为一个包)2.4 制作胖包(transform部分自定义)三、SpringBoot项目打包四、Scala项目打包五、groovy项目打包总结一、IDEA自带打包插件内容:此种方式可以自己选择制作胖 ......
315
0
0
2023-01-31
目录1.什么是RSA2.RSA算法2.1 生成公钥和私钥2.2 使用公钥加密信息2.3 使用私钥解密信息4.RSA的应用:数字签名5.RSA的安全性6.为什么要写这文章7.前端代码8.后端代码1.什么是RSA计算机中常用的加密技术分为两类:对称加密、非对称加密。RSA属于非对称加密。加密、解密过程使用不同的秘钥,分为公钥、私钥。公钥可以公开,私钥不可以。对称 ......
553
0
0
2023-01-31
目录一、使用Jrebel插件二、 devtools实现热加载1.1.引入devtools的maven依赖1.2.设置IDEA1.3 修改一下application.properties配置1.4.LiveReload插件1.5.最后测试一下在实际的开发过程中,我们经常修改代码之后,手动的重启项目,手动刷新浏览器查看修改效果。那么有没有一种方式能够快速的、自动 ......
410
0
0
2023-01-31
目录前言MapStruct简介MapStruct入门1. 引入依赖2. 需要转换的对象3. 创建转换器4. 验证5. 自动生成的实现类MapStruct进阶场景1:属性名称不同、(基本)类型不同场景2:统一映射不同类型场景3:固定值、忽略某个属性、时间转字符串格式场景4:为某个属性指定转换方法场景5:多个参数合并为一个对象场景6:已有目标对象,将源对象属性覆 ......
361
0
0
2023-01-31
目录Date类毫秒值的概念与作用构造方法无参构造有参构造成员方法getTime()currentTimeMillis方法DateFormat和SimpleDateFormat类构造方法成员方法使用这两个成员方法及其细节练习 总结Date类java.util.Date:表示日期和时间的类,Date 表示特定的瞬间,精确到毫秒。毫秒值的概念与作用毫秒: ......
320
0
0
2023-01-31
目录前言一、获取接口的所有实现类1、枚举2、业务接口2.1 实现类3、ApplicationContextAware接口实现类4、获取到所有实现类使用前言有时候,根据业务逻辑的需求,需要获取到某个接口的所有实现类,然后根据业务类型来执行不同的实现类方法。有点类似策略模式。如果没有用到 Spring的话,可以使用 ServiceLoaderl类JDK自带的一个 ......
429
0
0
2023-01-31
目录一、业务背景二、分析流程加锁超时问题解决方案:增加一个「续时」三、设计方案四、实操相关属性类配置核心切面拦截的操作五、开始测试六、总结一、业务背景有些业务请求,属于耗时操作,需要加锁,防止后续的并发操作,同时对数据库的数据进行操作,需要避免对之前的业务造成影响。二、分析流程使用 Redis 作为分布式锁,将锁的状态放到 Re ......
315
0
0
2023-01-31
自增变量主要是对 i++ 和 ++i 的理解public class Test01 { public static void main(String[] args) { // 变量自增 i++ ++i的理解 int i = 1; i = i++; // int j = i ......
337
0
0
2023-01-27
# 内嵌tomcat端口号 server.port=8081 server.servlet.context-path=/ # 数据库配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhos ......
326
0
0
2023-01-24
Java设计模式设计模式:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。面向对象设计原则都是为了高内聚低耦合原则。编程时基本都要遵守单一职责原则分类原则:一种人只干一种事。举例:(比较简单就不代码了)人可以干的事情有很多:敲代码、唱歌、跳舞、打篮球....以人设置成一个类,里面的方法就太多太杂了。所以可以有多个类:程序员(敲代码)、音乐 ......
437
0
0
2023-01-20
最近在看七牛云许式伟的架构课, 重温了面向对象五大设计原则(SOLID),扣理论文字找出处。(当然许老板是不可能深聊这么低级的内容,🤡)注意区分设计原则和设计模式。 设计原则更为抽象和泛化; 设计模式也是抽象或泛化的良好实践,但是它们提供了更具体和实用的底层建议。面向对象5大设计原则Single Responsiblity Principle单一职责原则Op ......
344
0
0
2023-01-19