logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

设计模式之责任链模式(Chain Of Responsibility)

4)职责链模式常被用在框架开发中,用来实现框架的过滤器、拦截器功能,让框架的使用者在不修改源码的情况下,添加新的过滤拦截功能。3)客户类(Client)角色:创建处理链,并向链头的具体处理者对象提交请求,它不。1)抽象处理者(Handler)角色:定义一个处理请求的接口,包含抽象处理方法和。处理本次请求,如果可以处理请求则处理,否则将该请求转给它的后继者。并且每个类只需要处理自己该处理的工作,不能

文章图片
#设计模式#责任链模式
java实现一个kmp算法

Kmp 算法是由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,改进字符串匹配的算法;Kmp 算法的核心是利用匹配失败的信息,尽量减少模式串与主串的匹配次数,以达到。Kmp 算法的时间复杂度是O(m+n),m=模式串的长度,n=主字符串的长度。1、什么是KMP算法。

文章图片
#java#算法#开发语言
Shiro学习(三):shiro整合springboot

由 配置类 ShiroWebFilterConfiguration 初始化 ShiroFilterFactoryBean 时可以发现,过滤器。,所以需要我们手动装载 SecurityManager 去覆盖Springboot 自动装载的 SecurityManager。另外在 shiro-spring-boot-web-starter 包下的文件 spring.factores 中的配置类。只会注

#spring boot#学习#java
Sentinel(二):Sentinel流量控制

II)Wam Up:根据codeFactor(冷加载因子,默认3)的值,从“阈值/codeFacotor” 开始,2)给请求资源 “testA” 添加流控规则,testA 关联 testB,并配置testB的QPS为1。给请求testA配置流控,阈值类型选择 “QPS”,单机阈值配置为 1,流控模式选择“直接”,然后在浏览器或PostMan 中快速访问 “/testA”,当达到限流上限后的请求直接

#sentinel
synchronized锁升级过程

synchronized 上锁,其实锁信息是加在对象头中的 markdown,对象中的前四个字节表示markdown;的方式,尽可能的把自身的LR设置到 markdown中,若设置成功,makrdown会有。有多个线程竞争synchronized锁时,先把偏向锁撤销,通过自旋的竞争(自旋锁)升级。不一定,偏向锁只有在单线程环境中效率最高;偏向锁每重入一次,在线程栈中都会生成一个LR,但这个LR的值

文章图片
#java#jvm#开发语言
设计模式之单例模式

态域,从而创建SingleStaticClass的实例,由于是静态的域,因此只会在虚拟机装载类的。频繁的创建和销毁时,而且创建或销毁时性能又无法优化,此时单例模式的优。饿汉式在jvm加载类时就会创建全局的实例,实例的引用用final修饰,表示实例创建成功。这个模式的优势在于,getInstance方法并没有被同步,并且只是执行一个静态域的访问,在系统中,若要求一个类只有一个对象,如果出现多个对象就

文章图片
#单例模式
到底了