当前位置: 首页 > news >正文

JDK - 常用的设计模式

  1. 单例模式

    • Runtime 类:Java 运行时环境是单例的,可以通过 Runtime.getRuntime() 方法获得实例。
    • Calendar 类:Calendar.getInstance() 方法返回的是一个单例的 Calendar 实例。
    • 数据源连接池:连接池的管理通常采用单例模式,例如 DataSource
  2. 工厂模式

    • Boolean 类:Boolean.valueOf(boolean) 方法返回一个缓存的 Boolean 对象。
    • java.util.Calendar 类:使用 Calendar.getInstance() 方法来获取一个 Calendar 实例。
    • java.util.Collection 接口:Collections.emptyList()Collections.singleton() 等工厂方法创建不可变集合。
  3. 观察者模式

    • Swing 和 AWT 中的事件处理:UI 组件的事件监听机制是观察者模式的一个典型应用。
    • Java 观察者模式:java.util.Observerjava.util.Observable 接口。
  4. 装饰器设计模式

    • Java IO 类:InputStreamOutputStream 的各种子类(如 BufferedInputStreamFileInputStream)都使用了装饰器模式来扩展功能。
    • java.io.InputStreamReaderjava.io.OutputStreamWriter:用于字符编码转换的装饰器。
    • java.util.Collections 类:提供了多个静态工厂方法,用于返回不可变集合的装饰器,如 Collections.unmodifiableList()
  5. 策略模式

    • java.util.Comparator 接口:用于排序的策略模式,在集合排序时经常使用。
    • java.util.concurrent.Executor 接口:定义了执行任务的策略,如 ThreadPoolExecutor
  6. 模板方法模式

    • java.util.Collections 类:提供了一系列静态方法,如 sort()binarySearch(),它们使用模板方法来实现通用算法。
  7. 适配器模式

    • java.util.Arrays 类:通过 asList() 方法将数组适配为 List
    • java.io.InputStreamReaderjava.io.OutputStreamWriter:用于将字节流适配为字符流。

相关文章:

JDK - 常用的设计模式

单例模式 : Runtime 类:Java 运行时环境是单例的,可以通过 Runtime.getRuntime() 方法获得实例。Calendar 类:Calendar.getInstance() 方法返回的是一个单例的 Calendar 实例。数据源连接池:连接池的管理通常采用单例模…...

华为OD机考算法题:寻找最大价值的矿堆

题目部分 题目寻找最大价值的矿堆难度难题目说明给你一个由 0(空地)、1(银矿)、2(金矿)组成的的地图,矿堆只能由上下左右相邻的金矿或银矿连接形成。超出地图范围可以认为是空地。 假设银矿价值…...

wf-docker集群搭建(未完结)

系列文章目录 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、redis集群二、mysql集群三、nacos集群1. 环境要求2. 拉取镜像2.1. 拉取镜像方式配置集群2.2. 自定义nacos镜像配置集群 3 自定义…...

uni-app 在 APP 端的版本强制更新与热更新

整包更新与热更新的区别 ① 整包更新是指下载完整 apk 文件进行覆盖安装 ② 热更新是指把 app 有改动的地方打包进 wgt 文件,只更新 wgt 文件中的内容,不进行整包安装,在用户视角也叫做省流量更新 版本号规则约束 建议严格遵循 Semantic …...

实在智能受邀参加第14届珠中江数字化应用大会,AI赋能智能制造,共话“湾区经验”

制造业是实体经济的主体,是技术创新的主战场,是供给侧结构性改革的重要领域。抢占新一轮产业竞争制高点,制造业的数字化转型已成为行业升级的必由之路。 10月21日,第14届“珠中江”(珠海、中山、江门)数字…...

Qt 窗口的尺寸

默认尺寸 对于一个Qt的窗口(继承于QWidget),获取其窗体尺寸的方法size(); 以一个Qt创建Qt Widgets Application项目的默认生成代码为基础,做如下测试 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent…...

游戏数据分析对于运营游戏平台的重要性

游戏数据分析对于运营游戏平台具有至关重要的意义,它可以提供深入的见解,帮助了解玩家行为、偏好和互动,从而优化游戏体验,提高玩家参与度和留存率。 首先,通过游戏数据分析,运营者可以了解玩家在游戏中的表…...

微信群发消息的正确打开方式,让你的社交更高效!

在当今的社交媒体时代,微信已经成为了我们生活中必不可少的一部分。而微信的群发消息功能,让我们可以方便地将信息一次性发送给多个联系人。然而,微信的群发消息功能有一个限制,即每次只能群发200个联系人。这对于需要发送消息给大…...

HTML5语义化标签 header 的详解

🌟🌟🌟 专栏详解 🎉 🎉 🎉 欢迎来到前端开发之旅专栏! 不管你是完全小白,还是有一点经验的开发者,在这里你会了解到最简单易懂的语言,与你分享有关前端技术和…...

SpringCloud复习:(2)@LoadBalanced注解的工作原理

LoadBalanced注解标记了一个RestTemplate或WebClient bean使用LoadBalancerClient来进行负载均衡。 LoadBalancerAutoConfiguration类给带注解的RestTemplate添加了拦截器:LoadBalancerInterceptor. 具体流程如下: 首先定义一个LoadBalancerInterceptor…...

vue钩子函数以及例子

Vue.js 是一个基于组件化的前端框架,它提供了一些钩子函数,用于控制组件在不同阶段的行为和处理。以下是 Vue.js 常用的钩子函数以及它们的作用和示例: beforeCreate:在实例被创建之前调用。此时组件的数据、方法等还没有被初始化…...

redis场用命令及其Java操作

目录 1. Redis入门 1.1 Redis简介 1.2 Redis下载与安装 1.2.1 Redis下载 1.2.2 Redis安装 1.3 Redis服务启动与停止 1.3.1 服务启动命令 1.3.2 客户端连接命令 1.3.3 修改Redis配置文件 1.3.4 Redis客户端图形工具 2. Redis数据类型 2.1 五种常用数据类型介绍 2.2 …...

UG\NX二次开发 同时设置多个对象的高亮状态 UF_DISP_set_highlights

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 captainliubang 订阅本专栏,非常感谢。 简介 UG\NX二次开发 同时设置多个对象的高亮状态 UF_DISP_set_highlights 效果 代码(在for循环中逐个设置多个对象…...

Qt+树莓派4B 手动设置系统日期和时间

文章目录 前言一、设置日期二、设置时间 前言 某些设备需要在无网络环境下工作,系统时间和日期无法通过网络实时同步,此时就需要人为设置. 一、设置日期 QString m_date,m_time;QDateEdit *dateEdit new QDateEdit(this); dateEdit->setFixedSize(250,60); connect(date…...

用大顶堆和小顶堆实现优先队列

大顶堆小顶堆(或大根堆小根堆) 利用大顶堆实现优先队列,所谓大顶堆,容器内部元素是有序的,而且是按从大到小排序的(小顶堆刚好相反,从小到大)。容器只有一个出口一个入口&#xff0…...

PDCA项目开发环境搭建说明

PDCA项目开发环境搭建说明 环境准备 JDK 15.0 ; IDEA Community Edition 2021.3 版本要对应,不然会报错 Jdk 安装步骤:https://blog.csdn.net/qq_34913677/article/details/108894727 IDea 安装说明:https://blog.csdn.net/dream…...

Git简明教程

1.Git的定位 在我们自己开发项目的过程中,经常会遇到这样的情况,为了防止代码丢失,或者新变更的代码影响到原有的代码功能,为了在失误后能恢复到原来的版本,不得不复制出一个副本,比如:“坦克大战1.0”“坦…...

数据结构顺序表(C语言版)

目录 1.实现的接口及其功能2.代码块 1.实现的接口及其功能 //初始化顺序表void initSL(SL* p); //销毁顺序表 void DestorySL(SL* p); //头插 void PushFont(SL* p, SeqListType x); //尾插 void PushBack(SL* p, SeqListType x); //头删 void PopFont(SL* p); //尾删 void Pop…...

新手如何备考学习PMP?

一、PMP学习7步走攻略 1、熟悉考试大纲: PMP考试大纲是备考的基础,考生需要详细熟悉考试大纲,了解各个知识领域的重点和难点。 2、制定学习计划: 根据考试大纲和个人情况,制定学习计划,合理分配学习时间…...

[卷积神经网络]FasterNet论文解析

一、概述 FasterNet是CVPR2023的文章,通过使用全新的部分卷积PConv,更高效的提取空间信息,同时削减冗余计算和内存访问,效果非常明显。相较于DWConv,PConv的速度更快且精度也非常高,识别精度基本等同于大型…...

FanControl 267版:Windows电脑风扇噪音终极解决方案

FanControl 267版:Windows电脑风扇噪音终极解决方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/F…...

为Cursor AI编程助手配置安全规则:防范代码生成风险

1. 项目概述:为什么我们需要为Cursor定制安全规则如果你是一名开发者,并且已经开始使用Cursor这样的AI编程助手,那你大概率已经体会过它带来的效率革命。它能帮你生成代码、重构函数、甚至解释复杂的逻辑。但效率提升的同时,一个隐…...

Linux主机资产标识实战指南

Linux主机资产标识实战指南本文面向具备一定 Linux 基础的技术人员,围绕主机资产标识展开,重点讨论主机命名、标签规范和资产映射。在中级运维和系统管理工作中,这类主题常常与配置变更、资源状态、权限边界、自动化任务和业务影响交织在一起…...

Consul-K8s实战:Kubernetes与Consul服务网格的无缝集成指南

1. 项目概述:当Consul遇见Kubernetes如果你正在Kubernetes集群里管理微服务,并且已经听说过或者正在使用HashiCorp Consul来做服务发现和配置管理,那么hashicorp/consul-k8s这个项目绝对是你绕不开的工具。简单来说,它不是一个独立…...

遥感图像处理实战:用eCognition多尺度分割搞定地物分类(附样本点与特征提取全流程)

遥感图像智能解译实战:eCognition多尺度分割与地物分类全流程解析 清晨的阳光透过窗帘缝隙洒在桌面上,我打开最新接收的卫星影像——这是一片混合了城市建筑、绿地和农田的复杂区域。作为遥感分析师,我们每天面对的都是这样充满信息量的图像&…...

DuckDuckGo AI本地代理服务:开源工具部署与API调用指南

1. 项目概述:一个为DuckDuckGo AI聊天功能提供本地化服务的开源工具如果你和我一样,是个重度搜索用户,同时又对AI聊天功能有高频需求,那你肯定对DuckDuckGo不陌生。作为一个主打隐私保护的搜索引擎,它最近也跟上了潮流…...

终极指南:如何使用ViGEmBus虚拟游戏控制器驱动程序提升Windows游戏体验

终极指南:如何使用ViGEmBus虚拟游戏控制器驱动程序提升Windows游戏体验 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾经遇到过想在Win…...

成本数据多系统自动采集与分析实操指南:基于2026大模型Agent的超自动化实践

在2026年的数字化转型深水区,企业对于“成本”的理解已从静态的财务报表演进为实时的流式数据。然而,即便是在大模型技术全面爆发的今天,数据孤岛依然是阻碍成本精细化管理的首要顽疾。成本数据往往碎片化分布在ERP、MES、WMS、供应链平台及各…...

56.自定义协议

lesson43client加个while decode防止请求积压协议不仅可以用在网络,文件也是面向字节流,可以用在文件守护进程化:父进程创建管道,兄弟进程都可以看见这个管道,关闭对应读写端就可以实现通信。UID是代表谁创建的4-2课件…...

数据标准化(拟合的时候使用非常重要)

一、函数作用这个函数是数据标准化(Z-Score 标准化) 函数,专门对两组数据 x_raw(自变量)做标准化处理,并返回标准化后的数据 记录标准化参数的对象。具体做了这 4 件事:计算 x_raw 的均值和标准…...