当前位置: 首页 > 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:用于将字节流适配为字符流。
http://www.lryc.cn/news/205636.html

相关文章:

  • 华为OD机考算法题:寻找最大价值的矿堆
  • wf-docker集群搭建(未完结)
  • uni-app 在 APP 端的版本强制更新与热更新
  • 实在智能受邀参加第14届珠中江数字化应用大会,AI赋能智能制造,共话“湾区经验”
  • Qt 窗口的尺寸
  • 游戏数据分析对于运营游戏平台的重要性
  • 微信群发消息的正确打开方式,让你的社交更高效!
  • HTML5语义化标签 header 的详解
  • SpringCloud复习:(2)@LoadBalanced注解的工作原理
  • vue钩子函数以及例子
  • redis场用命令及其Java操作
  • UG\NX二次开发 同时设置多个对象的高亮状态 UF_DISP_set_highlights
  • Qt+树莓派4B 手动设置系统日期和时间
  • 用大顶堆和小顶堆实现优先队列
  • PDCA项目开发环境搭建说明
  • Git简明教程
  • 数据结构顺序表(C语言版)
  • 新手如何备考学习PMP?
  • [卷积神经网络]FasterNet论文解析
  • 知识图谱+推荐系统 文献阅读
  • shell_39.Linux参数测试
  • 3D模型格式转换工具HOOPS Exchange助力SIMCON搭建注塑项目
  • Linux_虚拟内存机制
  • 淘宝官方开放平台API接口获得店铺的所有商品、商品id、商品标题、销量参数调用示例
  • Java Spring 通过 AOP 实现方法参数的重新赋值、修改方法参数的取值
  • Real3D FlipBook jQuery Plugin 3.41 Crack
  • Pytorch:model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别
  • Linux CentOS 8(firewalld的配置与管理)
  • C复习-指针
  • Runnable和Thread的区别,以及如何调用start()方法