自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 shell脚本编程

shell中函数定义使用关键字 function,不过关键字 function 也可省略。

2024-06-15 22:07:18 507

原创 gdb调试

gdb my_program 调试程序my_programbreak(b) file_name:234 在文件的某一行设置断点tbreak(tb) file_name:234 设置临时断点,只触发一次info breakpoints 查看断点信息disable breakpoint 禁用指定的断点enable breakpoint 启用指定的断点。

2024-06-08 22:29:39 159 1

原创 数据结构学习笔记

C/C++数据结构学习笔记:涉及到线性表list、栈、队列、树、二叉树、哈夫曼树、图等的基础知识。深度优先及广度优先遍历,最小生成树的Prim算法、Kruskal算法。以及常用的查找方法,如二分查找。还有各种排序算法:冒泡排序、简单选择排序、直接插入排序、希尔排序、快速排序、归并排序

2024-03-08 23:52:29 753

原创 C++基础知识笔记

C++笔记

2024-03-07 21:33:53 465

原创 设计模式学习笔记

设计模式主要研究的是“变”与“不变”,以及如何将它们分离、解耦、组装,将其中“不变”的部分沉淀下来,避免“重复造轮子”,而对于“变”的部分则可以用抽象化、多态化等方式,增强软件的兼容性、可扩展性。如果将编写代码比喻成建筑施工,那么设计模式就像是建筑设计。这就像乐高积木的设计理念一样,圆形点阵式的接口具有极强的兼容性,能够让任意组件自由拼装、组合,形成一个全新的物件。1.单一职责原则2.开闭原则3.里氏替换原则4.接口隔离原则5.依赖倒置原则6.迪米特法则。

2023-12-06 23:23:55 372

原创 C++并发编程学习笔记

C++并发编程学习笔记

2023-12-06 22:18:44 823

原创 Go语言的常用内置包

可以使用 Seed() 函数生成一个不确定的种子放入随机数生成器,这样每次运行随机数生成器都会生成不同的序列。如果没有在随机数生成器中放入种子,则默认使用具有确定性状态的种子,此时可以理解为种子的值是一个常数1,即Seed(1)。更复杂的查询建议使用Compile()和完整的Regexp接口。time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。返回一个使用src产生的随机数来生成其他各种分布的随机数值的 *Rand。6.判断Regexp正则对象是否与给定的字符串匹配。

2023-11-11 16:15:37 117

原创 Python学习笔记

Python基础知识

2023-11-08 21:49:42 57

原创 正则表达式(Regular Expression)

正则表达的基本语法和规则

2023-11-01 23:13:04 55

原创 GO语言学习笔记

Go 语言的变量名由字母、数字、下画线组成,首个字符不能为数字。Go 语法规定,定义的局部变量若没有被调用会发生编译错误。未被初始化的变量会被初始化为默认零值:数字型为0,string为空字符串"",布尔型为false,函数、指针、切片为nil。省略var关键字的声明方式只能被用在函数体内,而不可以用于全局变量的声明与赋值。且该变量名必须是没有定义过的变量,否则,将发生编译错误。多个短变量声明和赋值中,至少要有一个新声明的变量出现在左侧,那么即便其他变量名是重复声明的,编译器也不会报错,如下所示。

2023-10-27 23:03:33 70

原创 STL学习笔记

STL学习笔记,讲解STL的主要容器、成员函数、迭代器及通用算法。

2023-10-23 21:07:59 77

原创 操作系统学习笔记3--并发

多线程程序中的每个线程类似于一个独立的进程,但它们共享地址空间,可以访问相同的数据。关键并发术语::访问共享资源的一段代码,资源通常是一个变量或者数据结构。:多个执行线程大致同时进入临界区,它们都是试图更新共享数据结构时,导致了非期望结果。:程序由一个或多个竞态条件组成,程序输出因运行而异,具体决定于哪些线程在何时执行,这导致输出结果是不确定的。:为避免这些问题,线程应该使用某种互斥原语,保证只有一个线程进入临界区,从而避免出现竞态,产生确定的输出。

2023-08-18 22:56:55 29

原创 操作系统学习笔记2--内存虚拟化

相关的算法有成百上千种,包括传统的最优匹配(best-fit,从空闲链表中找最接近需要分配空间的空闲块返回)、最坏匹配(worst-fit)、首次匹配(first-fit)以及伙伴算法(buddy algorithm)等更复杂的算法。操作系统在专门硬件的帮助下,通过每一个虚拟内存的索引,将其转换为物理地址,物理内存根据获得的物理地址去获取所需的信息。一个段只是地址空间里的一个连续定长的区域,分段的机制使得操作系统能够将不同的段放到不同的物理内存区域,从而避免了虚拟地址空间中的未使用部分占用物理内存。

2023-08-15 21:53:22 176

原创 操作系统学习笔记1--进程及进程调度

如果CPU发现对它放在缓存中的数据的更新,会作废(invalidate)本地副本(从缓存中移除),或更新(update)它(修改为新值)。上下文切换:为了保存当前正在运行的进程的上下文,操作系统会执行一些底层汇编代码,来保存通用寄存器、程序计数器,以及当前正在运行的进程的内核栈指针,然后恢复寄存器、程序计数器,并切换内核栈,供即将运行的进程使用。通过切换栈,内核在进入切换代码调用时,是一个进程(被中断的进程)的上下文,在返回时,是另一进程(即将执行的进程)的上下文。然而,SQMS有几个明显的短板。

2023-08-08 21:26:13 80

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除