内核 模式

访问者模式:访问数据结构并处理数据

访问者模式是Java中的一种行为型设计模式,它允许你定义在不改变被访问对象(如类、接口等)结构的前提下,对其内部的元素访问和操作。该模式适用于需要对一个复杂对象结构(如代码中的类层次结构)进行多种不同操作的场景。 > 示例代码 ```java // 定义被访问者接口 interface Elemen ......
数据 数据结构 访问者 模式 结构

观察者模式:发送状态变化通知

观察者模式是一种行为设计模式,它允许对象在发生特定事件时通知其他对象。这些被通知的对象被称为观察者,而通知它们的对象称为主题或可观察对象。该模式使用了松散耦合的原则,因此主题和观察者之间没有太多的依赖关系。 > 示例代码: ```java import java.util.ArrayList; im ......
观察者 状态 模式

kafka消费模式

消费者消费方式:订阅与分配 1、KafkaConsumer.subscribe():为consumer自动分配partition,有内部算法保证topic-partition以最优的方式均匀分配给相同group下的不同consumer。 2、KafkaConsumer.assign():为consu ......
模式 kafka

【回调详解】内核回调的详细图解【未完成】

1、进程回调 进程回调是内核下的全局变量,存放到PspCreateProcessNotifyRoutine中,该变量是个数组;该数组中已经存放函数的具体个数,则存放到全局变量PspCreateProcessNotifyRoutineCount中。 PspCreateProcessNotifyRout ......
内核

在 Apple silicon Mac 上 DFU 模式修复或恢复 macOS 固件

搭载 Apple 芯片的 Mac 电脑 DFU 模式全新安装 macOS Ventura 请访问原文链接:,查看最新版。原创作品,转载请保留出处。 作者主页:[sysin.org](https://sysin.org) Mac computers with Apple silicon,简称 Appl ......
固件 silicon 模式 Apple macOS

mobaX下修改putty默认回显模式的方法

mobaX下修改putty默认回显模式的方法 mobaX在某些情况下回车不正常,回显C^M。并且需要每次开启窗口后修改live terminal configuration中的line discipline options选项全部设置为force off。 解决方法是修改MobaXterm.ini, ......
模式 方法 mobaX putty

对称点模式(symmetric dot pattern, SDP)-matlab版

近年来,一种直观的信号表示方法--对称点模式(symmetric dot pattern, SDP)被用于信号分析和模式识别。与一些常规方法不同,SDP是一种基于极坐标系的图像表示方法,可以直接将原始信号转换为镜像对称雪花图像,实现简单,计算量小,且对噪声鲁棒。模式之间的识别和区分与信号之间的幅度和 ......
symmetric pattern 模式 matlab dot

leetcode:vim模式下esc代码区失焦问题

# 问题 刷力扣时用的vim模式编码,当按下esc退出插入模式的时候,发现编辑的焦点直接从代码区退出了,还想继续往下敲代码就只能再次点鼠标 ![](https://img2023.cnblogs.com/blog/1562252/202306/1562252-20230615095452544-14 ......
leetcode 模式 代码 问题 esc

驱动开发:内核解锁与强删文件

在某些时候我们的系统中会出现一些无法被正常删除的文件,如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉,而所谓的解锁其实就是释放掉文件描述符(句柄表)占用,文件解锁的核心原理是通过调用`ObSetHandleAttributes`函数将特定句柄设置为可关闭状态,然后在调用`ZwClose`将其... ......
内核 文件

设计模式之工厂模式

一、工厂模式概述 工厂模式(Factory Pattern)是一种创建型设计模式,旨在提供一种统一的方式来创建对象,将对象的实例化过程封装在一个单独的类中。工厂模式通过定义一个公共的接口来创建对象,但允许子类决定实例化哪个类。这样可以将对象的实例化与客户端代码的耦合度降到最低,同时也提供了一种可扩展 ......
模式 设计模式 工厂

spring中用到哪些设计模式

1.工厂模式,这个很明显,在各种BeanFactory以及ApplicationContext创建中都用到了; 2.模版模式,这个也很明显,在各种BeanFactory以及ApplicationContext实现中也都用到了; 3.代理模式,在Aop实现中用到了JDK的动态代理; 4.单例模式,这个 ......
设计模式 中用 模式 spring

状态模式:用类表示状态

在不使用状态模式之前,我们经常通过 ```java if(state1) { // do state1 something } else if(state2) { // do state2 something } else { // do other something } ``` 在状态设计模式中 ......
状态 模式

模式识别复习提纲

# 一、设计系统 ## 1、基本步骤 > 1.特征选择(关心的信息) > > 2.近邻测度(是否相似) > > 3.聚类准则(优化目标) > > 4.聚类算法(依照近邻测度,追求聚类准则) > > 5.结果验证(逼近正确结果) > > 6.结果判定(专家判定) # 二、聚类 ***要求理解掌握各种模 ......
提纲 模式

Java8-Predicate 策略模式的替代品消灭 if else

使用策略模式消灭if else,可以利用Java8的新特性来实现策略模式。 利用Java8的Predicate消灭 if else。首先定义一个map,key是不同的服务代码,value是需要做校验的条件,然后针对不同的服务代码做校验。当然Supplier、Consumer都可以做类似的实现。 `` ......

抽象工厂模式-04

### 概述 抽象工厂 (abstract factory) 模式又称 Kit 模式,由一个抽象工厂类、多个抽象产品类以及这些抽象类的多个具体子类构成。每个具体工厂类可以创建每个抽象产品类的某个具体子类。 **优点**:高内聚低耦合,符合“开闭原则”。 **缺点**:难以添加新的产品类,这涉及到更改 ......
工厂 模式 04

建造者模式-05

### 概述 建造者模式 (Builder Pattern) 又称生成器模式(视翻译而定)。该模式由一个抽象建造者类、多个具体建造者类、被创建的复杂类、指挥者(director)类构成。抽象建造者类定义被创建类的创建步骤;具体创建者类根据不同目的实现创建步骤;被创建类定义自身的复杂属性成员;指挥者类 ......
模式 05

策略模式:整体替换算法

策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在策略模式中,我们定义了多个算法,并将每个算法封装在一个独立的类中(__策略类__),以便在运行时根据需要进行切换。这使得算法与调用其算法的客户端代码分离,从而实现了更高的灵活性和可维护性。 主要实现方式:1 策略接口 -> n * 具体策略 ......
算法 整体 策略 模式

单例模式学习

1、例子 如果单例对象是类的static成员,那么在程序结束时不会调用类的析构函数,如下: #include <iostream> using namespace std; class A{ private: static A* m_ins;//声明,静态指针成员 A(){} public: sta ......
模式

驱动开发:内核ShellCode线程注入

还记得`《驱动开发:内核LoadLibrary实现DLL注入》`中所使用的注入技术吗,我们通过`RtlCreateUserThread`函数调用实现了注入DLL到应用层并执行,本章将继续探索一个简单的问题,如何注入`ShellCode`代码实现反弹Shell,这里需要注意一般情况下`RtlCreat... ......
线程 内核 ShellCode

【操作系统】【系统结构】Linux 内核 vs Windows 内核

1 前言 Windows 和 Linux 可以说是我们比较常见的两款操作系统的。 Windows 基本占领了电脑时代的市场,商业上取得了很大成就,但是它并不开源,所以要想接触源码得加入 Windows 的开发团队中。 对于服务器使用的操作系统基本上都是 Linux,而且内核源码也是开源的,任何人都可 ......
内核 系统 Windows 结构 Linux

minikube配置网络为calico BGP模式

[TOC] ## 序言 > 原本没有想写这么一篇文章,因为每次下班回家晚上都会学习会,家里机器条件没那么好,搞三台到四台虚拟机出来做K8S测试还是比较困难的,所以这里就用了minikube来进行搭建。 > 想利用minikube搭建kubernetes 1.27.2,但是受网络影响,只能安装到kub ......
minikube 模式 calico 网络 BGP

三种架构模式简介(MVC、MVP、MVVM)

一 简介 手机终端随着每年的更新换代,其性能也飞速增长。依附于此的 Android 应用规模也愈发复杂。截止 2023 年 4 月,最新版本 8.0.32 微信 apk 大小为 238MB,而对比 2011 年微信 1.0 版本 apk 包大小仅为 457KB,短短 12 年增长了 533 倍。 随 ......
架构 模式 简介 MVVM MVC

开发模式:原型模式、曳光弹模式

## 起因 软件开发过程中,很关键的一步就是要确定需求,然而需求并不是一成不变的。由于用户需求不明确,产品设计不合理,技术上无法实现等等原因导致需求的改动是很常见的,那么如何在开发过程中帮助确立真正的需求并减少需求改动导致的返工就是今天要讨论的主题。 ## 开发模式介绍 ### 原型模式 原型模式是 ......
模式 曳光弹 原型

1、Android中MVC、MVP和MVVM架构模式的区别

架构模式为项目文件提供了模块化,并确保所有的代码在单元测试中得到覆盖。它使开发人员很容易维护软件,并在未来扩展应用程序的功能。MVC(模型-视图-控制器)、MVP(模型-视图-展示者)和MVVM(模型-视图-视图模型)是开发人员中最流行和行业公认的安卓架构模式。 模型-视图-控制器(MVC)模式 M ......
架构 Android 模式 MVVM MVC

S3C2440内核蜂鸣器驱动解读

# S3C2440内核函数 首先介绍需要的一些头文件的位置 linux-2.6.32.内核重要文件目录: linux-2.6.32.2/arch/arm/mach-s3c2410/include/mach/regs-gpio.h linux-2.6.32.2/arch/arm/plat-s3c24x ......
蜂鸣器 内核 S3C2440 C2440 2440

STM32cubeIDE CAN回环模式

配置如下 经过分频,选择位段1和位段2之后波特率回自己计算 CAN总线的频率实在PCLK上 CAN是有接收和发送中断的但是需要在STM32CUBEIDE中自己加入滤波器。 void CAN_Config(void) { CAN_FilterTypeDef sFilterConfig; /*配置CAN ......
回环 cubeIDE 模式 STM CAN

ZYNQ 裸机模式下修改默认uart端口

## 背景 调试ZYNQ 裸机code, 调用 printf()后在UART端口无法看到打印信息输出,查看原理图后发现,板子用的UART 1作为默认串口调试接口,UART 0分配给了RS485使用,因此需要修改默认的STD 接口到UART 0,那么如何修改呢? ## 修改默认STD的UART 接口 ......
裸机 端口 模式 ZYNQ uart

解释器模式:语法规则也是类

解释器模式是一种行为型设计模式,它定义了一种语言并解析该语言中的表达式。这种模式用于将一个表达式文法表示成一个抽象语法树,从而使得我们可以通过对语法树进行遍历来解释整个表达式。 在解释器模式中,包含以下几个角色: - 抽象表达式(AbstractExpression):定义了一个抽象的解释操作,具体 ......
解释器 语法 规则 模式

456.132模式

问题描述 456. 132 模式 (Medium) 给你一个整数数组 nums ,数组中共有 n 个整数。 132 模式的子序列 由三个整数 nums[i]、 nums[j] 和 nums[k] 组成,并同时满足: i < j < k 和 nums[i] < nums[k] < nums[j] 。 ......
456.132 模式 456 132