内核 模式
Java观察者模式-SpringBoot实现观察者模式
观察者模式 一、Java观察者模式 Java观察者模式是一种设计模式,用于实现对象之间的一对多依赖关系。在观察者模式中,当一个对象的状态发生变化时,它的所有依赖对象(观察者)都会自动收到通知并进行相应的更新。 观察者模式由以下几个核心组件组成: 主题(Subject):也称为被观察者或可观察对象,它 ......
建造者模式
一、概念 建造者模式使用简单的对象一步一步构建一个复杂的对象。 应用场景:在软件系统中,有时需要创建一个复杂对象,其通常由各个部分的子对象用一定的算法构成。由于需求的变化,这个复杂对象的各个部分会有所不同,但是它们组合在一起的算法是相对稳定的。 二、实现 我们假设一个快餐店的商业案例,其中,一个典型 ......
Java设计模式之责任链模式
1.1.概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的 天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址 ......
Composite 组合模式简介与 C# 示例【结构型3】【设计模式来了_8】
〇、简介 1、什么是组合设计模式? 一句话解释: 针对树形结构的任意节点,都实现了同一接口,他们具有相同的操作,可以通过某一操作来遍历全部节点。 组合模式通过使用树形结构来组合对象,用来表示部分以及整体层次。组合模式属于结构型模式,多用于递归。 官方意图描述:将对象组合成树形结构,以表示“部分-整体 ......
设计模式之 Observer Pattern观察者模式
观察者模式Observer Observer模式为组件向相关接收方【广播】消息提供了灵活的方法; 该模式定义了对象一到多的依赖关系,这样当对象改变状态时,将自动通知并更新他所有的依赖对象; 优点 抽象了主体与Observer之间的耦合关系; 支持广播方式的通信 适用 对一个对象的修改涉及其他对象的修 ......
从内核世界透视 mmap 内存映射的本质(源码实现篇)
本文基于内核 5.4 版本源码讨论 通过上篇文章 《从内核世界透视 mmap 内存映射的本质(原理篇)》的介绍,我们现在已经非常清楚了 mmap 背后的映射原理以及它的使用方法,其核心就是在进程虚拟内存空间中分配一段虚拟内存出来,然后将这段虚拟内存与磁盘文件映射起来,整个 mmap 系统调用就结束了 ......
Java设计模式之工厂设计模式
1.1.概述 需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。 具体类的设计如下: 在java中,万物皆对象,这些对 ......
JDK 21新特性---记录模式匹配
记录模式匹配 Record Classes 在JDK 16中加入了Record Class,它自动生成了构造函数、访问器、equals、hashCode、toString等方法,简化代码的编写,类似于lombok插件的@Data注解。 类简化对比: public class MyRecord { p ......
备忘录模式
备忘录模式 案例引入 游戏角色状态恢复问题 游戏角色有攻击力,防御力等,在大战BOSS前保存自身的状态(攻击力,防御力),当大战BOSS后攻击力和防御力下降,从备忘录对象恢复到大站前的状态。 传统方式实现案例 创建一个游戏角色类对应的状态类,给每个游戏角色对象,对应一个对应状态类的对象,用来保存状态 ......
笔记1:环境安装及烧录模式
1.需要安装ADB工具 2.使用RKDevTool.exe 烧录固件 K3568 开发板需要进入 Loader 或 Maskrom 模式才可执行烧写操作。进入 Loader 模式的方法:首先按住开发板上的音量+(V+) 按键(具体位置请参考按键示意图 3.2.3) 不松,给开发板上电或复位,此时 R ......
Bridge 桥接模式简介与 C# 示例【结构型2】【设计模式来了_7】
〇、简介 1、什么是桥接模式? 一句话解释: 通过一个类的抽象,与另一个类的抽象关联起来,当做桥。此后不管两个抽象类的实现有多少种,均可以通过这个桥来将两个对象联系起来。 桥接,顾名思义就是用桥来连接河两岸,将原本不关联的两部分联系起来,且不影响两岸的各自演化,演化出来的不同对象仍可以通过这个桥连接 ......
【转】内核的时间函数
因为需要在kernel tee driver中做个获取时间的测试,才有了这次搜索。 这篇比较符合需求:https://www.dingmos.com/index.php/archives/38/,感谢这位博主! 问题分析中看到的一些点: auth_token_table.h中获取时间: explic ......
一文打尽设计模式(C++实现)
https://blog.csdn.net/leacock1991/article/details/111713017 文章目录 我从哪里来(设计模式的由来) 我是谁(设计模式是什么) 我要到哪里去(设计模式的作用) 我该如何做(怎么学习设计模式) 关于设计原则与文章推荐 最后说点啥 点击链接访问具 ......
Java设计模式之适配器模式
1.1.概述 如果去欧洲国家去旅游的话,他们的插座如下图最左边,是欧洲标准。而我们使用的插头如下图最右边 的。因此我们的笔记本电脑,手机在当地不能直接充电。所以就需要一个插座转换器,转换器第1面插 入当地的插座,第2面供我们充电,这样使得我们的插头在当地能使用。生活中这样的例子很多,手机 充电器(将 ......
linux 内核五大模块:网络通信
网络通信 网络通信是一种把不同计算机或网络设备连接到一起的技术,本质上是跨系统的进程间通信,必须要通过网络(硬件)才能进行。随着高并发、分布式、云计算、微服务等技术的普及,网络的性能也变得越来越重要。 一、网络模型 1.1 OSI模型 为了解决网络互联中异构设备的兼容性问题,并解耦复杂的网络包处理流 ......
学习笔记-设计模式-创建型模式-单例模式
单例模式 一个类只有一个实例,并提供一个全局访问此实例的点,哪怕多线程同时访问。 单例模式主要解决了一个全局使用的类被频繁的创建和消费的问题。 单例模式的案例场景 数据库的连接池不会反复创建 spring中一个单例模式bean的生成和使用 在我们平常的代码中需要设置全局的一些属性保存 七种单例模式的 ......
linux 内核五大模块
linux linux内核五大模块:进程调度、进程通信、内存管理、文件管理、网络通信 进程调度 进程是linux系统资源分配的基本单位,并采用动态优先级的进程高级算法,保证各个进程使用处理机的合理性。进程调度模块主要是对进程使用的处理机进行管理和控制。 【进程创建】: 在Linux环境编程时,一般采 ......
Java设计模式之建造者模式
1.1.概述 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 • 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况。 • 由于实现了构建和装配的解耦。不同的构建器,相同的装配, ......
redis哨兵模式
目录Redis 高可用哨兵模式sentinel 介绍什么是 sentinel?sentinel 的构造sentinel 的功能sentinel 如何发现主库和从库发现其他 sentinel多个 sentinel 之间连接检测实例的状态故障转移 FAILOVER 步骤选举规则Sentinel 自动故障 ......
Redis订阅发布模式
目录Redis 订阅发布模式消息队列消息队列的使用原因消息队列产品拓展VMware 集群化产品Linux 虚拟化产品Redis 发布消息的两种模式任务队列模式(queuing)发布 - 订阅模式 (publish-subscribe)Redis 发布订阅实践订阅发布模型一个发布者多个订阅者模型多个发 ......
设计模式 (1): 5 种创建型模式 (结合代码详解)
目录1 单例模式饿汉单例懒汉单例双重检验单例静态内部类单例破坏单例 (反射、反序列化)枚举类单例2 工厂模式简单工厂模式工厂方法模式3 抽象工厂模式实现抽象工厂模式对比三种工厂模式如何选择工厂方法和抽象工厂?4 建造者模式5 原型模式 1 单例模式 需考虑的问题: 是否线程安全 是否延迟创建 有无破 ......