- 博客(62)
- 收藏
- 关注

原创 万字讲解Linux常用指令
本文章除了讲了一些常用的指令,还有很多比指令操作更重要的知识补充,多了解会让程序员的眼界更宽广。我们的一台电脑要用起来一下几个配置是必不可少的:应用软件、操作系统、设备驱动、硬件。这里我们来简单了解一下。我们平时使用电脑刷抖音之类的,我们的电脑是不能直接通过软件调用硬件的(刷抖音就需要用到显示屏、键盘、鼠标等),简介的说:他需要用到操作系统、再通过操作系统调用设备驱动,由设备驱动来调用硬件的。
2023-01-14 18:29:11
5907
10

原创 LInux背景【Linux】
其中一个大学位于芬兰,赫尔辛基大学,在1991年一个名叫雷纳斯托瓦兹的学生升入这所大学,他在试用了这个操作系统后,仿照unix系统交互模式编写了一个操作系统,并将这个代码公诸于世。进行科技研究会用到很多的昂贵材料以及大量的实验所产生的消耗,这会产生一笔非常巨大的费用,当然这笔费用由政府出,但政府也是通过税收来获取资金的,不可盲目增加科研经费。举一个例子:这就相当于你在大街上画画,有些人过来看热闹,其中就有一些资深艺术家,他们在你绘画的过程不断提供宝贵的意见,这样就使你的作品更为生动丰满。
2023-01-09 22:34:45
2001
7
原创 强化学习——贝尔曼公式的推导
本笔记进行了Bellman equeation进行了比较详细的推导,通过画图与文字的方式结合各种例子进行了详细的推导,小白在了解了部分数学原理也能读懂。
2025-01-01 22:10:35
761
原创 【无标题】
如果i节点与前面的节点构成等差数列,那么dp[i]的值就相当于在第i-1节点所有的测厚规内功案例上加上了c这么一个可能性,所以构成等差数列的情况下dp[i]=dp[i-1]+1。又根据等差数列的性质可以得出,nums[i]-nums[i-1]==nums[i-1]-nums[i-2]就可以判断出第i,i-1,i-2这三位构成等差数列。所以可得状态转移方程:dp[i]表示以i位置为结尾的所有。dp[0]和dp[i]无法构成等差数列,所以赋值为0。我们假设:dp[i]表示以i位置为结尾的所有。
2024-08-13 09:33:56
220
1
原创 服务端业务设计及源码
本篇有很多干货,并且包含源码,希望可以结合文章注释看源码,可以通过目录进行跳转目录。详细介绍了云储存服务端应该需要的功能、业务逻辑及其相关知识
2024-03-29 14:26:41
915
原创 线程是什么
线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程中,是进程中的实际运作单位。一个进程可以包含多个线程,每个线程并行执行不同的任务,共享进程的资源。线程通过共享内存进行通信,是一种轻量级的并发处理方式。线程的运行可以提高系统的并发度和效率,适用于多任务处理、网络编程、图形界面等应用场景。
2023-07-11 15:27:04
925
1
原创 可重入函数、volatile关键字、SIGCHLD信号
可重入函数:可重入函数是指这个函数可以被多个线程同时调用,而不需要考虑同步或互斥问题。这种函数的存在可以提高程序的并发性和可靠性,提高程序的性能。Volatile关键字:volatile关键字用于指示编译器,所修饰的变量的值可能被程序之外的因素更改,因此需要在每次访问该变量时,都从内存中取得最新值。这种变量的存在对于多线程的同步和互斥非常重要。SIGCHLD信号:SIGCHLD信号用于通知父进程,一个子进程已经终止。这个信号的存在可以让父进程及时清理子进程的资源,避免产生僵尸进程,提高程序的性能和稳
2023-07-08 11:51:12
414
2
原创 捕捉信号/信号的处理步骤
当然,这里说的信号默认排除了实时信号,那个是已接收到信号就立马处理信号。上面说的合适的时候其实就是进程从内核态切换到用户态的时候。
2023-06-23 23:51:01
527
原创 信号三大阶段之储存信号
如果信号是无法被及时处理的,所以我们一定需要一个存放信号的能力,也就是信号储存。本文章对信号储存进行了详细的讲解,通俗易懂
2023-06-18 20:14:25
1003
原创 system V共享内存
共享内存是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递将不再涉及到内核,换句话说,进程将不再通过执行进入系统内核的系统调用来传递彼此的数据。但其实比它好用的进程间通信还有很多种,但是因为有人还是会用这种方式,我们还是需要了解一下。
2023-06-06 18:58:49
543
原创 管道通信详解
管道是进程间通信的一种方式。进程间通信的方式:匿名管道命名管道System VSystem V 消息队列System V 贡献内存System V 信号量POSIX IPC消息队列共享内存信号量互斥量条件变量读写锁我们把一个进程连接到另外一个进程的数据流成为一个“管道”Linux中的|就是管道。
2023-06-04 21:05:08
3622
1
原创 命名管道详解
1、命名管道与匿名管道一个很显著的区别是:匿名管道只能在有血缘关系的进程间进行通信,但命名管道可以让两个毫无关系的进程进行通信。2、如果我们想在不相关的进程间交换数据,我们可以用到FIFO文件来进行通信,这个文件也被称之为命名管道。3、命名管道其实就是一种特殊的文件类型。
2023-06-04 21:03:30
1932
原创 当一个父进程开启了多个管道,并且通过写的方式与多个子进程进程通信的情况下,当想要通过关闭写端来结束子进程的时候发现结束不了的问题的解决方法与原理。
这是我们理想中的管理情况,一个父进程有多个写端,对应不同的管道,与不同的子进程通信。但是我们通常会忽略了一点,子进程会继承父进程的pcd。所以,当我们想利用父进程关闭写端来结束子进程时,会发现这样做一个都结束不了,因为当一个管道的所有读端都关闭了才能关闭管道。第二种:将父进程的写端记录起来,然后每次创建子进程的时候都将父进程那继承的写端关闭。我明明有多个子进程,为什么在执行退出操作的时候只退出了一个进程,并且还卡住了。第二个进程继承了第一个管道的写端,第三个进程继承了第二个和第一个的写端。
2023-06-03 20:45:29
126
原创 匿名管道通信
管道是进程间通信的一种方式。进程间通信的方式:匿名管道命名管道System VSystem V 消息队列System V 贡献内存System V 信号量POSIX IPC消息队列共享内存信号量互斥量条件变量读写锁我们把一个进程连接到另外一个进程的数据流成为一个“管道”Linux中的|就是管道。
2023-06-01 20:21:05
788
原创 Linux的安装(云服务器专讲)
然后我们需要设置root密码,点击重置密码,(可能需要手机认证),建议设置复杂一些,否则容易被黑客入侵。虚拟机推荐wmware player这是免费的,并且推荐是打在了centos7.x版本的,这个的好处就是不需要花钱,但由于博主用的不是这种,在这里就不多讲。使用云服务器,这种方案的好处就是不需要操心任何安装问题,并且可以模拟仿真企业环境,也方便我们后期做测试。我用的是腾讯云服务器,应为是学生,做了相应的优惠政策,相较于社会人来说价格不是很离谱。需要注意的是,我推荐安装的是应用服务器就是上图这种,
2023-01-11 11:31:51
887
5
原创 笔试强训Day2
由于字符串都是大写字符,就光看(1)就可以排除ABCE,AB的括号是负数,C的[i]没有任何意义,E中a[i]还会越界。32位机器的默认对齐数为4,而且上诉最大的参数为4,结构体的内存大小必须为最大参数的倍数,因此A占的大小为16。ab占了对齐数为0~3的空间,c占据了4~7的空间,d占据的了8~11的空间,index占据了12号空间。变量a是一个unsigned的类型,:后面为我们定义的变量的内存大小,单位为比特,其他几个变量同理。c的大小为4,上面开辟的空间不够用,在栈上继续开辟4字节(32bit),
2022-12-01 23:45:13
933
1
原创 详解类与对象(中)【c++】
1、类的作用域2、类的实例化3、类对象模型4、如何计算类对象的大小5、类的大小6、this指针7、类的六个默认成员函数8、构造函数9、析构函数
2022-10-08 22:39:06
609
4
原创 【数据结构】纯c语言双向链表
1. 无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。2. 带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。......
2022-08-17 07:58:08
595
15
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人