![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java天下第一
LongWarren
共同进步
展开
-
装饰模式
装饰模式一、定义装饰模式是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能),属于结构型模式。装饰模式在我们生活中应用比较多如给煎饼加鸡蛋;给蛋糕加上一些水果;给房子装修等,为对象扩展一些额外的职责。和静态代理最大的区别就是职责不同,静态代理不一定要满足is-a的关系,静态代理会做功能增强,同一个职责变得不一样,装饰器更多考虑是扩展二、适用场景1.用于扩展一个类的功能或给一个类添加附加职责2.动态的给一个对象添加功能,这些功能可以在动态的撤销原创 2020-08-31 20:21:23 · 144 阅读 · 0 评论 -
委派模式和策略模式
一、委派模式1.1、定义委派模式不属于GOF23中设计模式中。委派模式的基本作用就是负责任务的调用和分配任务,何代理模式很像,可以看做是一种特殊情况下的静态代理的全权代理,但是代理模式注重过程,二委派模式注重结果。spring中DispatcherServlet其实就是委派模式。1.2、实例老板boos给项目经理leader下达任务,项目经理会根据实际情况给每个员工派发任务,待员工把工资任务完成之后,再由项目经理汇报工资进度和结果给老板。Iemployee员工接口/** * <p>原创 2020-08-31 17:45:01 · 256 阅读 · 0 评论 -
代理模式
代理模式一、概念代理模式是指为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介作用,代理模式属于结构型设计模式。使用代理模式主要有两个目的:一保护目标对象,二增强目标对象。二、JDK动态代理代理的目标接口,相亲public interface Person { public void findLove();}代理目标实现,要相亲的人public class JDKCustomer implements Person { @Overri原创 2020-08-31 13:25:35 · 152 阅读 · 0 评论 -
单例模式
单例模式饿汉式单例public class HungrySingleton { private static final HungrySingleton HUNGRY_SINGLETON = new HungrySingleton(); private HungrySingleton(){} public static HungrySingleton getInstance(){ return HUNGRY_SINGLETON; }}publi原创 2020-08-26 23:17:43 · 151 阅读 · 0 评论 -
JWT讲解
1、导入jar包<dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.4.0</version></dependency>2、demo,使用时自己发...原创 2020-01-07 19:15:56 · 128 阅读 · 0 评论 -
@Cacheable 缓存 @CachePut:缓存更新 @CacheEvict:缓存删除
@Cacheable 缓存说明:在支持Spring Cache的环境下,对于使用@Cacheable标注的方法,Spring在每次执行前都会检查Cache中是否存在相同key的缓存元素,如果存在就不再执行该方法,而是直接从缓存中获取结果进行返回,否则才会执行并将返回结果存入指定的缓存中。// @since 3.1 可以标注在方法上、类上 下同@Target({ElementType.ME...原创 2020-01-05 16:17:30 · 13963 阅读 · 0 评论 -
@Cacheable key的使用
key属性是用来指定Spring缓存方法的返回结果时对应的key的。该属性支持SpringEL表达式。当我们没有指定该属性时,Spring将使用默认策略生成key。我们这里先来看看自定义策略,至于默认策略会在后文单独介绍。 自定义策略是指我们可以通过Spring的EL表达式来指定我们的key。这里的EL表达式可以使用方法参数及它们对应的属性。使用方法参数时我们可以直接使用“#参数名...转载 2020-01-05 15:56:55 · 15937 阅读 · 0 评论 -
Springboot整合swagger2
1、pom<!-- 引入 swagger2--><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${springfox.version}...原创 2020-01-05 13:50:56 · 108 阅读 · 0 评论 -
守护线程及守护进程在java中的用法
所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。守护线程和用户线程的没啥本质的区别:唯一的不同之处就在于虚拟机的离开:如果用户线程已经全部退出运行了,只剩下守护线程...转载 2019-04-06 08:21:06 · 489 阅读 · 0 评论 -
java中的Thread.join()
Thread.join();其实就是主线程调用子线程对象的一个方法,然后主线程一直wait到子线程死亡才从方法中出来原创 2019-04-06 08:14:23 · 169 阅读 · 0 评论