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`类是一个可以被同一个线程多次获取和释放的锁。
持续更新… …