内核 模式

使用单例模式并跨线程传递数据实践

背景 程序接入一个手柄作为输入设备,手柄摇杆的位置值可能被其他任务(可能不止一个)所使用。 解决方案 由于只有其他任务只会使用手柄数据,而不会写入,对其他任务来说,手柄数据是只读的。可以使用一个任务读取手柄数据,而其他任务通过接口读取即可。手柄对象设计采用单例模式,数据采集任务中通过一个手柄对象去读 ......
线程 模式 数据

类型转换、格式化、适配器模式

1、说在最前面,tomcat每次启动都会自动把webapps下的项目重新发布,导致启动时间越来越长,刚开始我双击tomcat,把timeouts里的start时间加长了,但是等待时间越来越长,就想着能不能每次只启动一个项目。经过一番搜索(虽然最后还是没怎么搞懂),参考https://blog.csd ......
适配器 类型 模式 格式

通过条件竞争实现内核提权

条件竞争漏洞(Race Condition Vulnerability)是一种在多线程或多进程并发执行时可能导致不正确行为或数据损坏的安全问题。这种漏洞通常发生在多个线程或进程试图访问和修改共享资源(如内存、文件、网络连接等)时,由于执行顺序不确定或没有适当的同步措施,导致竞争条件的发生并且条件竞争... ......
内核 条件

Ubuntu 自动升级内核后网络不通

Ubuntu 22.04 自动升级内核后网络不通,现象是没有网络设备,有线和无线都没有。启动上一个内核检查,发现驱动在 linux-modules-extra-xxx-generic 里面,然而这个包并未安装,虽然手动安装可以解决,但更好的方案是安装 linux-generic-hwe-22.04, ......
内核 Ubuntu 网络

关闭vscode受限模式

我们知道,使用vscode每次打开一个文件或者文件夹都会弹出受限模式,而在受限模式下有的功能不可用,需要信任该文件或者文件夹,所以我们需要手动关闭受限模式。 打开设置 搜索security、关闭受限模式 ......
模式 vscode

Linux 内核的龙芯现已支持KVM支持

导读 在已发布的多个 Linux 内核版本中,龙芯工程师都致力于为 LoongArch 架构实现更多内核功能。到目前为止,LoongArch CPU 的性能虽然无法与 x86_64 或 Arm 硬件相比,但正在慢慢变得更加实用,此外架构支持方面已经越来越成熟。 根据龙芯工程师最新提交的代码,Linu ......
内核 Linux KVM

杜撰23种设计模式--原型模式

原型模式的深浅克隆 首先有person这个概念 什么是深克隆和浅克隆? 浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。 浅克隆只复制指向某个对象的引用,而不复制对象本身,新旧对象还是共享同一块内存,修改对象会改到原对象 深克隆:创建 ......
模式 设计模式 原型

杜撰23种设计模式--工厂方法模式

简单工厂的最大优点是在工厂类中完成了必要的逻辑判断,根据客户端的条件动态实例化相关的类即可。 但是缺点也在这里,如果我要添加一个case选择,就需要修改原有的类,等于说对扩展开发了的同时也对修改开放了,违反了开放封闭原则。 工厂方法模式,通过抽象工厂的选择,定义一个用于创建对象的接口,让子类决定实例 ......
模式 设计模式 工厂 方法

杜撰23种设计模式--代理模式

静态代理: 静态代理模式,realSubject和Proxy 都要继承同一个接口。 可以通过实现同一个方法做到代理类代替被代理类的效果。 原方法有一个普通的sailBook方法。 在代理类中重写了sailBook并进行了方法的增强。在代理类中要留一个原有方法的引用,以此来运用被代理类的方法。 可以在 ......
模式 设计模式

杜撰23种设计模式--装饰器模式

、 接口car,定义共有行为 Component ConcreteComponent 具体的构件,是每辆车都有的行为。 Decorator 继承与汽车装饰器的两个具体的装饰器: 最终的实现: 如果只有一个ConcreteComponet类而没有抽象的Component类, Decorator也可以直 ......
模式 设计模式

策略模式

策略模式 考虑一个场景,顾客买东西计算商品的总金额。如果活动的计算方式不同,应该如何写? 比如打折,满减,积分活动。 思路一:简单工厂模式,把打折的模式进行分类抽象。满减,打折等等传参不同归为不同的计算模式,然后工厂类去根据参数生产对应的实例。 实例返回的参数可以用多态思想 例如不同模式返回的对象是 ......
策略 模式

企业集成模式-引言

书名:企业集成模式 副标题:设计、构建及部署消息传递解决方案 作者:Gregor Hohpe ; Boddy Woolf 译者:荆涛 王宇 杜枝秀 书号:ISBN 7-5083-4114-7 版次:2006.3 北京第一版 3006.3 第一次印刷 前言 这是一本有关使用消息传递进行企业集成的书。我 ......
引言 模式 企业

设计模式创建者模式 Builder

解决复杂对象创建以及装配问题 GOF 中描述的 Builder 模式 UML 图中,客户端(也就是你)使用 Director(导演)来解决对象创建工作。 Director 在这个过程中,安排 Builder 做一些预先设计好的对象创建流程。 实现 Builder 后,可以水平扩展无数个 Builde ......
模式 创建者 设计模式 Builder

go中介模式

Go设计模式--中介者,最后的模式! 原创 _卡尔文 网管叨bi叨 2023-05-22 08:45 发表于北京 收录于合集#用Go学设计模式24个 大家好,这里是每周都在陪你一起进步的网管~!今天继续学习设计模式,也是我们要学习的最后一个设计模式—中介者模式,对这个模式有一点了解后会觉得它跟我们已 ......
中介 模式

设计模式05 —— 模板模式

设计模式05 —— 模板模式 本教程参考:菜鸟教程 - 学的不仅是技术,更是梦想! (runoob.com) 参考书:《图解设计模式》 本系列为本人学习笔记,和课程学习笔记,资料和参考均源自互联网,希望各位大佬多多指点! 介绍 在模板模式(Template Pattern)中,一个抽象类公开定义了执 ......
模式 设计模式 模板

【C#9.0篇】Switch匹配模式新特性

概述 C#9.0中的switch 匹配模式引入了许多新特性,其中一些特性是C#8.0中不存在的,比如以下特性: 关系模式:可以使用关系运算符 模式匹配+逻辑模式:可以使用模式匹配+逻辑模式(如and、or)来组合多个模式 模式匹配+关系模式:可以使用模式匹配+关系运算符(如<、>、<=、>=、==、 ......
特性 模式 Switch 9.0

单例模式

目录单例模式饿汉式懒汉式工厂模式简单工厂模式工厂方法模式工厂模式应用抽象工厂策略模式责任链模式应用 单例模式 属于创建者模式,提供了一种创建对象的方式 单例有两种设计形式 饿汉式 -- 类加载的时候,这个对象就会被创建 懒汉式 -- 只有首次使用的时候,才会创建对象 饿汉式 想要在类加载的时候创建对 ......
模式

内核文档翻译(chatgpt) —— Pathname lookup (路径名查找)

原文:https://www.kernel.org/doc/html/latest/filesystems/path-lookup.html 内核中文件系统相关的文档汇总:Filesystems in the Linux kernel This write-up is based on three ......
路径名 内核 路径 Pathname chatgpt

构造linux内核源码树(转载)

本文是参考了网上多篇帖子而写的算不上什么原创。唯一值得欣慰的只不过在本机上实现罢了。因为毕竟失败了几次。也因为本人是初学驱动编程,很多简单的问题在我来说是相当的困难的。望有识之士不要笑话。最后,希望本文能给刚学驱动而还没开头的人提供一些帮助。刚看 O'REILLY 写的《LINUX 设备驱动程序》时 ......
内核 源码 linux

Linux中如何构建内核源码树

Linux中如何构建内核源码树,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 要编写Linux的驱动,必须要构建内核源码树。 内核源码树的作用是构造可以在Linux内核中装载和卸载的模块,因此若是要为目标板构造模块,必须保证用于构建内核 ......
内核 源码 Linux

Redis 哨兵模式

哨兵是一个分布式系统,你可以在一个架构中运行多个哨兵进程,这些进程使用流言协议来接收关于Master主服务器是否下线的信息,并使用投票协议来决定是否执行自动故障迁移,以及选择哪个Slave作为新的Master。 一、哨兵模式概述 1.1、为什么要启动哨兵模式 当我们的主服务器宕机后,要手动的去切换主 ......
哨兵 模式 Redis

设计模式04 —— 适配器模式

设计模式04 —— 适配器模式 本教程参考:菜鸟教程 - 学的不仅是技术,更是梦想! (runoob.com) 参考书:《图解设计模式》 本系列为本人学习笔记,和课程学习笔记,资料和参考均源自互联网,希望各位大佬多多指点! 介绍 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间 ......
模式 设计模式 适配器

linux内核编译安装(Ubuntu替换内核)

前言:Ubuntu替换内核一般是不会删除自己Ubuntu里面的东西的(只是内核改变,其它影响,放心搞就是了,而且可以变回原来的内核) 实验环境: OS:Ubuntu 20.04.2 LTSOld Kernel:linux 5.15.0New Kernel: linux 5.15.0(我测试过的只有原 ......
内核 Ubuntu linux

laravel:开启/关闭调试模式(10.27.0)

一,文档地址: https://learnku.com/docs/laravel/10.x/configuration/14836#701998 二,设置 1,.env中关于调试的默认值: APP_DEBUG=true 2,关闭调试 APP_DEBUG=false 说明:刘宏缔的架构森林—专注it技 ......
laravel 模式 10 27

SpringMVC自定义处理返回值demo和异步处理模式DeferredResult demo

搭建自定义返回值处理器demo 新建springboot项目 修改pom.xml <!-- 新增依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</a ......
demo DeferredResult SpringMVC 模式

C# switch 表达式 - 使用 switch 关键字的模式匹配表达式

https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/switch-expression [DisplayName("空气质量指数颜色")] public string TvocColor => AQ ......
表达式 switch 关键字 关键 模式

大话设计模式之策略模式笔记

策略模式结构 classDiagram class Context{ -Statage statage +ContextIntegace(Statage statage) } class Stratage{ <<abstract>> + algorithmInterface() } class Co ......
模式 设计模式 大话 策略 笔记

大话设计模式之简单工厂模式笔记

简单工厂模式 以实现加、减、乘、除的计算器功能为例 初级代码: 输入数字交互界面 @SuppressWarnings("resource") public static void main(String[] args) { System.out.println("****************** ......
模式 设计模式 大话 工厂 笔记

编译linux内核模块时的make -C M= modules的参数说明

在linux下编译可加载内核模块形成.ko文件的makefile中的核心语句是: $(MAKE) -C $(KERNEL_DIR) M=(PWD) modules这句是Makefile的规则:这里的 $(MAKE)就相当于make;-C 选项的作用是指将当前工作目录转移到你所指定的位置,一般都是内核 ......
内核 模块 参数 modules linux

内核编译obj-m和obj-y的区别

在内核编译时,主要涉及一下文件: kernel/arch/arm/configs/*.defconfig kernel/driver/*/Makefile kernel/driver/*/Kconfig 如果我们想要往内核中增加新的节点,还要涉及到设备树文件,kernel/arch/arm/boot ......
内核 obj obj-m obj-y