• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
思想人生从关注生活开始
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  架构设计类与算法

上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页
访问者模式Visitor Pattern-23种常用设计模式快速入门教程

摘要:1.访问者模式定义 访问者模式是一种行为型设计模式,它可以让我们在不改变对象结构的情况下,定义作用于对象结构中不同类型元素的新操作。 2.访问者模式优点 它可以为一组类型提供一致的功能界面,它可以支持对类型的扩展,它可以支持多种不同的访问方式。 3.访问者模式缺点 它可能会导致系统变得非常复杂,它可 阅读全文
posted @ 2023-03-03 10:49 JackYang 阅读(42) 评论(0) 推荐(1)
命令模式Command Pattern-23种常用设计模式快速入门教程

摘要:1.命令模式定义 命令模式是一种行为型设计模式,它将一个请求封装为一个对象,从而可以使用不同的请求对客户进行参数化,还可以支持撤销操作。 2命令模式优点 它可以将调用操作的对象和知道如何实现该操作的对象解耦,它支持撤销操作,它可以将一组操作组合在一起,它可以增加新的命令很容易。 3.命令模式缺点 它 阅读全文
posted @ 2023-03-03 10:39 JackYang 阅读(47) 评论(0) 推荐(1)
迭代器模式Iterator Pattern-23种常用设计模式快速入门教程

摘要:1.迭代器模式定义 迭代器模式是一种行为型设计模式,它可以让我们在不暴露集合内部结构的情况下,对集合的元素进行遍历操作。 2.迭代器模式优点 它支持以不同的方式遍历一个集合,它支持对集合的多种遍历,它可以为遍历不同的集合提供统一的接口。 3.迭代器模式缺点 它的迭代行为是依赖于集合的内部结构而变化的 阅读全文
posted @ 2023-03-03 10:30 JackYang 阅读(50) 评论(0) 推荐(1)
深入浅出分析设计模式的优点与缺点

摘要:一、简介 1.设计模式定义 设计模式是一组有用的解决方案,用于解决特定类型的软件设计问题。它们通常提供了一种抽象出来的方式,来表达应用程序中常见问题的解决方案,从而帮助开发者更有效地解决问题。设计模式的用途是帮助开发者解决软件设计问题,提高开发效率,降低开发成本,提高代码质量和可维护性,以及更好地管 阅读全文
posted @ 2023-03-03 00:12 JackYang 阅读(1001) 评论(3) 推荐(2)
原型模式(Prototype Pattern)-23种常用设计模式快速入门教程

摘要:1.原型模式定义 原型模式是一种创建型设计模式,它使用一个已经存在的实例作为原型,通过复制该原型来创建新的实例。 2.原型模式优点 它提供了一种简单的方式来创建复杂的对象,它可以减少系统中的类的数量。 3.原型模式缺点 它假定类的创建过程是可配置的,而这不是总是可能的。 4.原型模式示例代码 传统设 阅读全文
posted @ 2023-03-02 19:51 JackYang 阅读(73) 评论(4) 推荐(1)
解释器模式(Interpreter Pattern)-23种常用设计模式快速入门教程

摘要:1.解释器模式定义 解释器模式是一种行为型设计模式,它可以将一个语言的句子转换为另一个语言的句子,用于实现特定的语言应用程序。 2.解释器模式优点 它可以让我们使用不同的语言来表达不同的概念,它可以极大地简化编程任务,它可以实现语言的可扩展性和可维护性。 3.解释器模式缺点 它可能会使系统变得非常复 阅读全文
posted @ 2023-03-02 19:46 JackYang 阅读(155) 评论(2) 推荐(1)
建造者模式(Builder Pattern)-23种常用设计模式快速入门教程

摘要:1.建造者模式定义 建造者模式是一种创建型设计模式,它将一个复杂的构造过程封装到一个接口,使得该接口用于复杂对象的创建,建造者模式可以使客户端不必知道产品内部组成的细节。 2.建造者模式优点 它可以使客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产 阅读全文
posted @ 2023-03-02 19:41 JackYang 阅读(130) 评论(2) 推荐(1)
单例模式(Singleton Pattern)-23种常用设计模式快速入门教程

摘要:1.单例模式定义 单例模式是一种创建型设计模式,它确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 2.单例模式优点 它可以节省资源,提高性能,避免对资源的多重占用,提供一个全局访问点,可以全局访问一个实例。 3.单例模式缺点 当想要生成多个实例时,不能使用单例模式。 4.单例模式示 阅读全文
posted @ 2023-03-02 19:32 JackYang 阅读(81) 评论(2) 推荐(2)
抽象工厂模式(Abstract Factory Pattern)-23种常用设计模式快速入门教程

摘要:1.抽象工厂模式定义 是一种创建型设计模式,它定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类。 2.抽象工厂模式优点 在工厂方法模式中,工厂方法用来处理对象的创建,它的优点在于使用工厂方法将对象的创建和对象的使用分离。 3.抽象工厂模式缺点 类的数量增加, 阅读全文
posted @ 2023-03-02 19:22 JackYang 阅读(58) 评论(2) 推荐(2)
23种常用设计模式快速入门教程

摘要:一、简介 扩展阅读 常用设计模式UML图示 常用23种设计模式Java经典实现(使用常用电商业务订单、购物车,商户,支付,优惠券为例) JavaScript版本的23种常用设计模式快速入门教程 1.设计模式定义 设计模式是一组有用的解决方案,用于解决特定类型的软件设计问题。它们通常提供了一种抽象出来 阅读全文
posted @ 2023-03-02 17:14 JackYang 阅读(913) 评论(1) 推荐(1)
BitSet使用指南-Java快速入门教程

摘要:1. 概述 在本教程中,我们将了解如何使用BitSets来表示位向量。 首先,我们将从不使用布尔数组背后的基本原理开始。然后在熟悉BitSet内部之后,我们将仔细研究它的API。 2. 位数组 为了存储和操作位数组,有人可能会争辩说我们应该使用布尔数组作为我们的数据结构。乍一看,这似乎是一个合理的建 阅读全文
posted @ 2023-02-24 12:11 JackYang 阅读(1297) 评论(1) 推荐(1)
boolean 与boolean数组内存布局-Java快速进阶教程

摘要:1. 概述 在这篇快速文章中,我们将看到在不同情况下 JVM 中布尔值的足迹是多少。 首先,我们将检查 JVM 以查看对象大小。然后,我们将了解这些尺寸背后的基本原理。 扩展阅读 Java字节码-Java快速进阶教程 JVM规范定义运行时数据区详解-Java快速进阶教程 什么是 Java 中的 JV 阅读全文
posted @ 2023-02-24 11:40 JackYang 阅读(158) 评论(1) 推荐(1)
Dijkstra算法概述-常用的算法快速入门

摘要:1. 简介 很多时候,在编写软件时,我们需要能够找到图中两点之间的最佳路径。这在电脑游戏中非常常用,但也用于谷歌地图等地图软件,也可以在许多其他类型的软件中找到用途。 Dijkstra算法是一种非常流行的路径查找算法,用于查找同一图中两点之间的最短路径。 2. 什么是寻路? 路径查找是一种用于图遍历 阅读全文
posted @ 2023-02-23 12:46 JackYang 阅读(156) 评论(0) 推荐(0)
Java程序计算标准偏差-Java快速入门教程

摘要:1. 概述 标准差(符号为 sigma – σ)是数据围绕平均值的扩散的度量。 在这个简短的教程中,我们将了解如何在 Java 中计算标准偏差。 2. 计算标准偏差 标准差是用公式平方根计算的 ( ∑ ( Xi – ų ) ^ 2 ) / N,其中: ∑是每个元素的总和 Xi 是数组的每个元素 ų 阅读全文
posted @ 2023-02-23 12:31 JackYang 阅读(1591) 评论(0) 推荐(0)
旅行推销员问题Java演练-Java快速入门教程

摘要:1. 简介 在本教程中,我们将了解模拟退火算法,并展示基于旅行推销员问题 (TSP) 的示例实现。 2. 模拟退火 模拟退火算法是一种启发式算法,用于解决具有较大搜索空间的问题。 灵感和名字来自冶金退火;它是一种涉及材料加热和受控冷却的技术。 通常,模拟退火在探索解空间并降低系统温度时会降低接受更差 阅读全文
posted @ 2023-02-23 12:27 JackYang 阅读(92) 评论(0) 推荐(0)
volatile和线程安全-Java快速进阶教程

摘要:1. 概述 虽然 Java 中的volatile关键字通常可以确保线程安全,但情况并非总是如此。 在本教程中,我们将了解共享volatile变量可能导致争用条件的情况。 2. 什么是volatile变量? 与其他变量不同,volatile变量是写入主存储器和从主存储器读取的。CPU 不缓存volat 阅读全文
posted @ 2023-02-22 14:25 JackYang 阅读(208) 评论(0) 推荐(0)
Volatile关键字使用指南-Java快速进阶教程

摘要:1. 概述 在没有必要同步的情况下,编译器、运行时或处理器可能会应用各种优化。尽管这些优化通常是有益的,但有时它们可能会导致微妙的问题。 缓存和重新排序是在并发上下文中可能会让我们感到惊讶的优化之一。Java 和 JVM 提供了许多控制内存顺序的方法,volatile关键字就是其中之一。 在本教程中 阅读全文
posted @ 2023-02-22 14:17 JackYang 阅读(98) 评论(0) 推荐(0)
Java 中的易失性变量与原子变量-Java快速进阶教程

摘要:1. 概述 在本教程中,我们将了解volatile关键字和原子类之间的区别以及它们解决的问题。首先,有必要知道Java如何处理线程之间的通信以及可能出现的意外问题。 线程安全是一个关键主题,它提供了对多线程应用程序内部工作的深入了解。我们还将讨论争用条件,但我们不会太深入地讨论这个主题。 2. 并发 阅读全文
posted @ 2023-02-22 13:25 JackYang 阅读(69) 评论(1) 推荐(0)
同步 Java 集合简介-Java快速入门教程

摘要:1. 概述 集合框架是Java的关键组件。它提供了大量的接口和实现,使我们能够以简单的方式创建和操作不同类型的集合。 尽管使用普通的不同步集合总体上很简单,但在多线程环境(也称为并发编程)中工作时,它也可能成为一个令人生畏且容易出错的过程。 因此,Java 平台通过在Collections类中实现的 阅读全文
posted @ 2023-02-22 13:14 JackYang 阅读(94) 评论(0) 推荐(0)
Java 中的不可变对象-Java快速进阶教程

摘要:1. 概述 在本教程中,我们将学习是什么使对象不可变,如何在 Java 中实现不可变性,以及这样做有什么好处。 2. 什么是不可变对象? 不可变对象是其内部状态在完全创建后保持不变的对象。 这意味着不可变对象的公共 API 保证了它在其整个生命周期中的行为方式相同。 如果我们看一下类 String, 阅读全文
posted @ 2023-02-22 12:56 JackYang 阅读(296) 评论(0) 推荐(0)

上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3