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

news2024/10/7 2:11:50

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


持续更新… …

图解策略模式

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenPCDet系列 | 5.4 PointPillars算法——AnchorHeadSingle模型预测头模块

文章目录 AnchorHeadTemplate模块1. AnchorGenerator2. ResidualCoder3. AxisAlignedTargetAssigner AnchorHeadSingle模块1. AnchorHeadSingle初始化2. AnchorHeadSingle训练前向传播3. AnchorHeadSingle测试前向传播 OpenPCDet的整个结构图: PointPillars算法属…

人人可用的开源数据可视化分析工具

大家好,我是互联网架构师! 在互联网数据大爆炸的这几年,各类数据处理、数据可视化的需求使得 GitHub 上诞生了一大批高质量的 BI 工具。 借助这些 BI 工具,我们能够大幅提升数据分析效率、生成更高质量的项目报告,让用…

UE4/5中DataTable数据表的使用

我们在UE中经常要对配置数据进行编辑,用好UE自己的DataTable自然对日常使用有所帮助。 1.蓝图使用流程 1.1 DataTable创建 使用数据表首先得创建自定义结构体,这样才好定义每一行的格式,例如这里创建如下: 然后右键选择创建Da…

LiveGBS流媒体平台GB/T28181功能-NVR硬件下级平台级联上来的通道如何过滤过滤通道类型

LiveGBS流媒体平台GB/T28181功能-NVR硬件下级平台级联上来的通道如何过滤过滤通道类型 1、上来的通道多了怎么办?2、过滤通道类型2.1、设备单独过滤2.2、全局过滤通道类型 3、过滤指定通道国标编号4、搭建GB28181视频直播平台 1、上来的通道多了怎么办? 下级平台或是NVR设备…

个人黄金投资好做吗?黄金投资交易优势体现在哪些方面

黄金的高保值性深受市场喜爱,它兼具商品和货币的双重属性。不仅实物黄金备受青睐,就连黄金投资交易也受到市场喜爱。黄金投资交易优势主要有哪些要点呢? 黄金投资交易优势一、稀有性 黄金的价值是固有的、内在的,具有千年不朽的稳…

跟庄买股票得新技巧(2023.05.16)(第二弹)

北向资金(也叫聪明的钱),它如何潜伏的(上周) 设么,你投诉大叔不写代码?好吧给你北向资金的代码 { 选股条件: 北向资金流入是昨天的两倍以上 } 百分比:REF(GPJYVALUE(6,1,1),1)>…

HttpClient5如何设置代理

文章目录 说明原始HttpClient代理HttpClient总结 说明 在这篇文章中会对HttpClient5如何进行代理进行说明,我的HttpClient版本是5.2.1。在进行代理之前请先准备好代理服务器。 原始HttpClient 下面是没有进行代理设置的代码,尝试去访问openai接口 Tes…

监控室值班人员脱岗睡岗识别算法 yolov7

监控室值班人员脱岗睡岗识别算法基于Yolov7深度学习神经网络算法,监控室值班人员脱岗睡岗识别算法模型可以7*24小时不间断自动人员是否在工位上(脱岗睡岗玩手机),若人员没有在工位,系统则立即抓拍告警,算法…

GBASE南大通用携手长亮科技 重磅推出金融数据仓库联合解决方案

随着数字化转型进程深入,金融企业对数据赋能的需求更加迫切,如何融合内外部业务数据,实现数据纵向贯通、横向穿透,让数据资源真正成为业务发展的新引擎;同时,信创浪潮风起云涌,数据库作为底层软…

深度学习语义分割篇——FCN源码解析篇

🍊作者简介:秃头小苏,致力于用最通俗的语言描述问题 🍊往期回顾:深度学习语义分割篇——FCN原理详解篇 🍊近期目标:写好专栏的每一篇文章 🍊支持小苏:点赞👍&…

分享Python采集66个菜单导航,总有一款适合您

分享Python采集66个菜单导航,总有一款适合您 Python采集的66个菜单导航下载链接:https://pan.baidu.com/s/11ElCiEa6OesmPxY6U9320w?pwdvdok 提取码:vdok jQuery手风琴滑动下拉菜单展开收缩代码 JS树形结构下拉列表菜单选择代码 简单的…

人脸识别2:InsightFace实现人脸识别Face Recognition(含源码下载)

目录 1. 前言 2. 项目安装 3. 人脸识别系统 (1)人脸检测和关键点检测 (2)人脸校准 (3)人脸特征提取 (4)人脸比对(1:1) (5)人脸搜索(1:N) &#xff08…

将数组中的“缺失值”“正无穷大”“负无穷大”替换为指定的数值np.nan_to_num()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将数组中的“缺失值”“正无穷大” “负无穷大”替换为指定的数值 np.nan_to_num() 选择题 下列说法错误的是? import numpy as np a np.array([11,-22,np.nan,np.inf,-np.inf]) print(&q…

Cefsharp113.1.40版本功能体验(支持MP3,不支持H264)-winform

下载包本地更新:NuGet Gallery | CefSharp.WinForms 113.1.40 因许可问题,不支持H264/AAC。Due to licensing issues default builds do not support proprietary codecs like H264/AAC, sites like Netflix/Twitter/Instagram/Facebook/Spotify/Apple Music wont play vide…

MS CoCo数据集

一、前言 Ms CoCo数据集是一个非常大型且常用的数据集,可以做的任务有目标检测、图像分割、图像描述等 数据集地址:链接 描述数据集的论文地址:链接 有一点需要注意:数据集的物体类别分为80类和91类两种,其中object80类…

ThingsBoard自定义万能查询节点entity query node

1、概述 大家好,我又更新干货了,还是那句话,我绝不分享那些照抄官网翻译的东西来骗订阅,我觉得那是浪费时间,要搞就搞干货,今天给大家分享ThingsBoard如何自定义规则节点,而且是万能查询节点,这是本人经过多次研究搞出来的,这个节点有什么特别之处呢?这个节点几乎可…

vue脚手架:路由的配置和使用

一、路由的配置和使用 1、引入router 在创建项目的时候可以默认用Vue脚手架中的自动生成路由文件或者自己下载(注意vue和vue-router版本的对应关系) 2、创建路由组件并引入: 在views文件夹中创建2个.vue文件作为路由组件: 引…

报表开发组件FastReport Mono v2023.1 - 支持与My Reports Cloud集成

FastReport Mono v2023.1现已推出! 最新版中更新了与 My Reports Cloud 的部分集成、来自 JasperReports 的模板转换器等功能,同时修复了10余处问题,点击下方免费试用哦~ FastReport Mono v2023.1现已推出! 今天将为大家带来FastReport Mono v2023.1更新…

【k8s】【ELK】基于节点DaemonSet运行日 志Agent实践【待写】

1.日志收集场景分析与说明 部署架构说明 对于那些将日志输出到&#xff0c;stdout与stderr的Pod&#xff0c; 可以直接使用DaemonSet控制器在每个Node节点上运行一个 <font colorred>filebeat、logstash、fluentd </font>容器进行统一的收集&#xff0c;而后写入…

使用doop识别最近commons text漏洞的污点信息流

作者&#xff1a;vivo 互联网安全团队 - Chen Haojie 本文基于笔者对doop静态程序分析框架源代码和规则学习&#xff0c;并结合对目前漏洞公开技术细节的学习&#xff0c;修改增强doop app only模式下的分析规则后&#xff0c;实现通过doop工具识别commons text rce漏洞&#…