霁月风
码龄3年
关注
提问 私信
  • 博客:40,543
    40,543
    总访问量
  • 56
    原创
  • 25,634
    排名
  • 847
    粉丝
  • 11
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2021-10-20
博客简介:

m0_63211179的博客

博客描述:
记录一些专业知识和自己的小研究
查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    559
    当月
    1
个人成就
  • 获得600次点赞
  • 内容获得25次评论
  • 获得529次收藏
创作历程
  • 39篇
    2024年
  • 17篇
    2023年
成就勋章
TA的专栏
  • 设计模式
    7篇
  • 计算机网络
    2篇
  • OS复习笔记
    28篇
  • 人生感悟
    2篇
  • 人工智能
    6篇
  • 组成原理
    1篇
  • OpenGuass
    7篇
  • 开发语言
    2篇
  • software
    1篇
兴趣领域 设置
  • 操作系统
    linux
  • 软件工程
    git开源
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

设计模式——单例模式

如果你的代码能够访问单例类, 那它就能调用单例类的静态方法。无论何时调用该方法, 它总是会返回相同的对象。变量,使用互斥锁同步阻塞,且无需手动解锁。,即不管后面创建的实例有没有使用,先创建再说,即饿得不行直接干。单例模式是一种创建型模式,一般的设计模式考察的比较常见。上述实例中,使用了多线程去模拟创建单例,其中我们使用了。,如果已经创建,返回已有的实例,即按需分配。有两种创建方式,一种饿汉式,一种懒汉式。而懒汉式则采用了懒加载的思路,只有在。优点:全局控制,节省资源,懒加载。的库函数,该函数接受一个。
原创
发布博客 2024.11.25 ·
587 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

设计模式——装饰器模式

举个简单的例子来说,假设你有一个芭比娃娃类,你想要为它穿上不同颜色、款式的衣服,如果每一个颜色/款式都要实现一个子类,就会产生大量的类。事实上,我们可以考虑用装饰模式动态地添加和删除,而而不需要修改芭比娃娃类本身,这样使得代码更加简洁和灵活。
原创
发布博客 2024.11.23 ·
559 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

设计模式——观察者模式

观察者模式(发布-订阅)是行为型模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象,当主题对象的状态发生变化的时候,所有依赖于它的观察者都得到通知并被自动更新。我记得软件工程课里面讲了一个软件设计架构——事件总线模式,又叫出版商-订阅制,英文是Publish-Subscribe。本质是引入中间媒介,避免直接调用,增强独立性(公共数据总线)举个🌰,引入一个邮局作为中间商,新的订阅者只需要在邮局注册,由邮局统一转发就可以,不需要出版商直接发货。
原创
发布博客 2024.11.07 ·
592 阅读 ·
4 点赞 ·
0 评论 ·
5 收藏

设计模式——迭代器模式

迭代器模式是一种行为型设计模式,是一种比较常见的设计模式。我们知道C++的STL中就包含有迭代器(iterator),begin()就是常见的一种。我们都知道不止vectorstring等序列式容器有,mapset类的关联式容器也有,其主要目的是。
原创
发布博客 2024.11.06 ·
631 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

设计模式——模板方法模式

在原来的若干类的基础上,抽象出一个模板方法,定义一个模板抽象类,然后具体类继承自模板类,实现了模板类中定义的抽象方法,去完成算法中的特定步骤。是一种行为设计模式, 它在超类(基类)中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。综上所述,模板方法模式适用于程式固化的模块,抽象出一个算法“骨架”这样可以方便统一管理,也支持一定的拓展。,不同的子类的实现方式略有区别,子类1只实现了必要的操作,而子类2还实现了。子类在不改变算法结构的情况下,重新定义算法的某些步骤。
原创
发布博客 2024.11.05 ·
472 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

设计模式——备忘录模式

备忘录模式将创建状态快照 (Snapshot) 的工作委派给实际状态的拥有者原发器(Originator) 对象。这样其他对象就不再需要从 “外部” 复制编辑器状态了, 编辑器类拥有其状态的完全访问权, 因此可以自行生成快照。即原发器拥有对备忘录的完全访问权限, 负责人则只能访问元数据。这种限制策略允许你将备忘录保存在通常被称为_负责人_ (Caretakers) 的对象中。由于负责人仅通过受限接口与备忘录互动, 故其无法修改存储在备忘录内部的状态。
原创
发布博客 2024.11.04 ·
588 阅读 ·
5 点赞 ·
0 评论 ·
9 收藏

设计模式——适配器模式

如图所示,适配器类的主要目的就是将被适配类的对象就行转换,这里是做了最简单的反转操作,然后返回给客户端。否则适配器就只能继承目标类,然后在其中定义一个被适配者实例,再调用其方法。现在的大部分手机都是typec接口,但是依然有很多用户的安卓手机是旧的USB接口,想要匹配用户的需求就需要一个转接头(适配器),然后才能更好的匹配用户的需求。使用适配器模式可以将客户端代码与具体的类解耦,客户端不需要知道被适配者的细节,客户端代码也不需要修改,这使得他具有良好的拓展性,但是这也势必导致系统的复杂性。
原创
发布博客 2024.11.02 ·
751 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

C++课程设计-基于电话和转账的数据分析-QT开发-跨平台

发布资源 2024.10.30 ·
zip

C++11新特性的博客汇总

C++ delete与override。引用折叠、万能引用和完美转发那些事。C++中的move和forward。C++chrono时间库。
原创
发布博客 2024.10.28 ·
81 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

如何解决路由器的信号覆盖不全的问题

总的来说,选择哪种方法取决于家庭的具体需求和预算。路由中继功能适合那些预算有限且面积不是太大的家庭,而Mesh网络则更适合需要覆盖更大空间或追求无缝网络体验的用户。对于前期家庭装修的情况,可以优先考虑Mesh组网,而后期居住可以优先考虑路由中继。通过适当的技术选择和专业配置,其实任何家庭都可以实现全面且稳定的WiFi覆盖。
原创
发布博客 2024.09.15 ·
907 阅读 ·
3 点赞 ·
1 评论 ·
5 收藏

YOLT论文精读

文章摘要写的很简洁:先说明了当时研究大尺度卫星遥感图像的一些问题和挑战。每一张图像拥有巨大的像素信息,且涵盖了广袤的地理尺度实际上我们感兴趣的目标非常小,以致于英语中使用tiny形容文章说在超过64km2的地理范围,超过2.5亿像素中识别大约10像素的物体。举个现实🌰,在整个天安门广场(44km2)要找到一个足球,听起来确实有点抽象。上述的挑战注定了使用传统的计算机视觉方案不能很好地应用其中。然后,作者给出了自己的pipeline——YOLT(You Only Look Twice)。
原创
发布博客 2024.08.13 ·
815 阅读 ·
11 点赞 ·
4 评论 ·
14 收藏

OS复习笔记ch12-2

一般来说,像hello.c这种小文件是direct访问(无需建立索引),而single indirect是一级索引,往往存放的是音频文件,double indirect是二级索引,往往是视频文件。索引分配允许文件离散地分配在各个磁盘块中,系统会为每个文件建立一张索引表,索引表中记录了文件的各个逻辑块对应的物理块(类似于内存管理中的页表→建立逻辑页面到物理页之间的映射关系)。图中的左部是文件描述符表,对应上述进程文件表,中部文件表对应全局文件表。inode表也是一个全局的数据结构,它存储了文件的元数据。
原创
发布博客 2024.06.23 ·
877 阅读 ·
27 点赞 ·
0 评论 ·
13 收藏

OS复习笔记ch12-1

文件是大多数应用程序的核心要素,文件系统是操作系统对用户来说最重要的部分之一。本章的主要内容见下图:文件,大家耳熟能详的就是的docx、pdf、jpg、MP4等各种后缀文件,根据任务需要文件又分成了文本、图片、表格、视频等类型。那么文件该如何定义呢?说白了,文件就是一组有意义的信息集合。我们新建一个文件,核心目的就是为了存储一些有用的信息,比如各种申请表、证件照、产品说明等等,一般不会无故创建文件。文件自身有很多的属性,比如文件名、标识符、类型、位置(路径)、大小、保护信息等。
原创
发布博客 2024.06.23 ·
1073 阅读 ·
18 点赞 ·
0 评论 ·
14 收藏

OS复习笔记ch11-4

另一个是在扫描期间,新出现的所有请求I/O磁盘的进程进入等待处理的请求队列中,将所有新的请求会推迟到下一次扫描时处理。RAID( Redundant Array of Independent Disks )即独立磁盘冗余阵列,简称为「磁盘阵列」,其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。对于即将掉头的扫描点附近的磁道会有偏向或者是不公平:对扫描前进方向上刚刚出现的进程有偏向,而对于刚刚扫描过的磁道的进程请求,进程需要等待很久才会被响应。
原创
发布博客 2024.06.21 ·
679 阅读 ·
17 点赞 ·
0 评论 ·
19 收藏

OS复习笔记ch11-3

接下来,我们简单地回顾一下I/O缓冲(之前在ch5-4-1的时候有提到过)
原创
发布博客 2024.06.20 ·
522 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

OS复习笔记ch11-2

上一节我们学习的内容是I/O系统的特点和设备分类和差异,这一节我们将主要关注I/O控制方式、OS设计问题、I/O逻辑结构等。
原创
发布博客 2024.06.19 ·
376 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

OS复习笔记ch11-1

从CPU的角度来看,外设有几个比较重要的I/O接口(interfaces)在设备的视角上(internals)来看,自身有微处理器、内存、特定的硬件芯片。e.g.,磁盘阵列有磁盘自身的处理器来管理。代码部分是轮询的过程,属于程序查询的外设交互。
原创
发布博客 2024.06.17 ·
441 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏

OS复习笔记ch9-1

主要类型长程调度:决定将哪个进程放入进程池中中程调度:决定将哪些进程部分或者全部放入内存中短程调度:决定哪个空闲进程上处理机I/O调度:决定哪个进程的I/O请求被可用的I/O设备处理处理器调度和进程状态变化调度的主要目的是不断安排进程在处理器上执行层次越往下发生的频率越高(一般时间片在几十到上百ms,短程调度会非常频繁)了解一些短程调度的条件:当发生可能导致当前进程阻塞或可能提供机会抢占当前正在运行的进程以支持另一个进程的事件时调用。
原创
发布博客 2024.06.15 ·
999 阅读 ·
11 点赞 ·
1 评论 ·
15 收藏

OS复习笔记ch8-3

刚刚换出的页面马上又要换入内存,刚刚换入的页面马上又要换出外存,这种频繁的页面调度行为称为抖动,或颠簸。当系统缺少足够的对换区空间的时候就需要从文件区调入,对于可能被修改的部分,换出时需要写回对换区,然后下次使用从对换区调入。在Unix的OS中,通常进程运行之前数据都是在文件区,而使用过的页面需要换出时就需要写回对换区,下次从对换区调入。如图所示,这里磁盘中有一个连续分配的对换区,类似于Cache的设计理念,读写速度很快,可以高速调入调出页面。驻留集,从某种角度可以看成是进程可以常驻内存的内存块的集合。
原创
发布博客 2024.06.09 ·
537 阅读 ·
12 点赞 ·
0 评论 ·
9 收藏

OS复习笔记ch7-3

承接上文我们讲完了页式管理和段式管理,接下来让我们深入讲解一下快表和二级页表。
原创
发布博客 2024.06.08 ·
981 阅读 ·
15 点赞 ·
0 评论 ·
8 收藏
加载更多