【六袆 - Design Pattern】Strategy Pattern;策略模式;

文章探讨了JDK8中多个类和接口如何使用策略模式,如Comparator的排序策略,HttpServlet的请求处理策略,Filter的请求过滤,Logger的日志级别处理,Pattern的正则匹配,FileFilter的文件过滤,ExecutorService的并行任务执行,以及Lock的锁机制等。每个接口或类都允许根据具体需求实现不同的算法策略。
摘要由CSDN通过智能技术生成

JDK8源码使用的策略模式列举

  • java.util.comparator接口用于对对象进行排序。Comparator接口的compare()方法将两个对象作为参数,并返回一个整数值,表示这两个对象的相对顺序。比较器'接口有许多不同的实现,每个实现都有不同的排序算法。例如,java.util.Collections.reverseOrder()`方法返回一个比较器,对对象进行反向排序。

  • javax.servlet.http.HttpServlet类是一个可以用来处理HTTP请求的Servlet。HttpServlet类的service()方法接受一个HttpServletRequest对象和一个HttpServletResponse对象作为参数。service()方法将请求委托给不同的方法,这取决于请求方法。例如,当请求方法是GET时,调用doGet()方法,而当请求方法是POST时,调用doPost()方法。

  • javax.servlet.Filter接口用于过滤HTTP请求和响应。Filter接口的doFilter()方法接收一个HttpServletRequest对象、一个HttpServletResponse对象和一个FilterChain对象作为参数。doFilter()方法可以修改请求或响应,也可以将请求转发给另一个Servlet。

  • java.util.logging.Level枚举被用来表示日志消息的严重程度。java.util.logging.Logger类有一个log()方法,需要一个Level对象作为参数。log()方法根据消息的严重程度,将消息委托给不同的方法。例如,当消息的严重程度为SEVERE时,log()方法调用severe()方法,当消息的严重程度为INFO时,调用info()方法。

  • java.util.regex.Pattern类用于表示正则表达式。模式 "类的 "matches() "方法接收一个 "CharSequence "对象作为参数,并返回一个布尔值,表示正则表达式是否与该序列匹配。有许多不同的Pattern类的实现,每一个都实现了不同的正则表达式引擎。例如,java.util.regex.Pattern.compile()方法返回一个使用默认正则表达式引擎的模式。

  • java.io.FileFilter接口用于过滤文件。FileFilter接口的accept()方法接收一个File对象作为参数,并返回一个布尔值,表明该文件是否应该被接受。文件过滤器接口有许多不同的实现,每个实现都有不同的文件过滤算法。例如,java.io.File.listFiles()方法返回一个由指定的文件过滤器所接受的文件阵列。

  • java.util.concurrent.ExecutorService接口被用来并行执行任务。ExecutorService接口的submit()方法接受一个Runnable对象作为参数并返回一个Future对象。未来 "对象可以用来获得任务的结果,或者取消任务。ExecutorService接口有许多不同的实现,每一个都实现了不同的并行执行算法。例如,java.util.concurrent.Executors.newFixedThreadPool()方法返回一个使用固定数量线程的执行器服务。

  • java.util.concurrent.Callable接口用于表示一个可以返回结果的任务。Callable接口的call()方法不需要参数,返回一个Result对象。Result对象可以用来获得任务的结果,或者抛出一个异常。有许多不同的Callable接口的实现,每一个都实现了不同的任务执行算法。例如,java.util.concurrent.Callable.run()方法返回一个代表任务执行时间的结果。

  • java.util.concurrent.locks.Lock接口用于锁定一个对象。Lock接口的lock()方法获取对象的锁,而unlock()方法释放对象的锁。Lock'接口有许多不同的实现,每个实现都有不同的锁算法。例如,java.util.concurrent.locks.ReentrantLock`类是一个可以被同一个线程多次获取和释放的锁。


持续更新… …

图解策略模式

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值