随笔分类 - JAVA
摘要:策略模式是属于设计模式中的行为模式中的一种,策略模式主要解决选项过多的问题,避免大量的if else 和 switch下有太多的case。 策略模式的重心不是如何实现算法,而是如何组织、调用这些算法,从而让程序结构更灵活,具有更好的维护性和扩展性。 1.创建抽象策略接口 public interfa
阅读全文
摘要:1.类加载器 Java虚拟机的类加载过程是由类加载器(ClassLoader)来实现的。类加载器负责将类装载到内存中,并为其创建一个Class对象。Java虚拟机定义了三种类加载器,分别为Bootstrap ClassLoader、Extension ClassLoader、System Class
阅读全文
摘要:一、延时队列的应用 什么是延时队列?顾名思义:首先它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费。 延时队列在项目中的应用还是比较多的,尤其像电商类平台: 1、订单成功后,在30分钟内没有支付,自动取消订单 2、外卖平台发送订餐通知,下单成功
阅读全文
摘要:@Autowired和@Resource都是Spring/Spring Boot项目中,用来进行依赖注入的注解。他们的区别主要是下面几点: 1.来源不同; 2.依赖查找的顺序不同; 3.支特的参数不同; 4.依赖注入的用法不同: 一、来源不同。 @Autowire 是来自 spring 的注解,@R
阅读全文
摘要:一、回顾一下Future。 一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。 JDK5新增了Future接口,用于描述一个异步计算的结果。 虽然 Future 以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,我们必须使用Future.get()的方式阻塞调用线
阅读全文
摘要:一、先来看看自定义的函数式接口使用。 @FunctionalInterface interface MyFunction { void run(); } public class Test { public static void main(String[] args) { MyFunction f
阅读全文