阿然成长日记
码龄3年
关注
提问 私信
  • 博客:191,700
    社区:1
    动态:10,077
    201,778
    总访问量
  • 137
    原创
  • 19,361
    排名
  • 7,588
    粉丝
  • 464
    铁粉
  • 学习成就

个人简介:学无止境

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2022-03-08
博客简介:

luhaoran814的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    6
    当前总分
    2,746
    当月
    52
个人成就
  • 获得2,085次点赞
  • 内容获得1,113次评论
  • 获得2,430次收藏
  • 代码片获得937次分享
创作历程
  • 64篇
    2024年
  • 72篇
    2023年
  • 1篇
    2022年
成就勋章
TA的专栏
  • 计算机网络
    2篇
  • C++基础
    28篇
  • Linux
    39篇
  • 数据结构与算法
    33篇
  • C语言进阶
    18篇
  • 数据库
    7篇
兴趣领域 设置
  • 数据结构与算法
    算法动态规划排序算法广度优先深度优先图搜索算法
  • 前端
    html5javascriptcss前端
  • 后端
    sqlmysql
  • 操作系统
    linuxwindows
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

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

【计算机网络】详解CA认证,预防中间者攻击!

CA代表"证书权威(Certificate Authority)",它是一种专门负责发放、管理和撤销数字证书的专业机构,是一个可信赖的第三方。在互联网通信中,数字证书用于验证网络用户的身份,如HTTPS网站上显示的小锁图标就表明该网站通过了CA颁发的安全认证。当您浏览加密网站时,浏览器会向CA请求验证服务器身份,如果验证成功,就会得到一个证书,证明服务器是其所声称的那样。数字证书是一种包含证书持有者(也就是向CA机构申请的服务端)的信息、公钥以及由CA签名的数字签名的电子文档。
原创
发布博客 2024.08.09 ·
1273 阅读 ·
24 点赞 ·
0 评论 ·
19 收藏

【计算机网络】什么是socket编程?以及相关接口详解

我们使用一张图片很形象的可以看出socket所处的位置。从上图看出,Socket处于应用层与传输层的中间软件抽象层,它是一组接口。并且前面我们也学过,运输层和网络层其实属于操作系统内层面,我们只给用户提供使用的接口即可,不可能让用户能直接访问到内核部分。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。linux下一切皆文件!!!所以本质来说Socket即是一种。
原创
发布博客 2024.08.06 ·
1552 阅读 ·
11 点赞 ·
0 评论 ·
32 收藏

【C++】拷贝构造函数和赋值构造函数有什么区别?及深浅拷贝再深入

最近看见这样一个问题,突然发现自己也回答的不是很清楚,写篇博客复习一下。这个问题中的赋值构造的说法有误:C++中没有“赋值构造函数”,对应的是“赋值操作符重载函数”(operator=函数)拷贝构造函数是一种特殊构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用public:MyClass();// 默认构造函数// 拷贝构造函数注意一定是引用。否则会导致无限递归的调用拷贝构造函数。原因:当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式使用拷贝构造函数。
原创
发布博客 2024.08.06 ·
989 阅读 ·
25 点赞 ·
0 评论 ·
28 收藏

【C++11新特性】lambda表达式

本质就是一个局部的匿名函数对象通常用于编写简单的、一次性的函数对象。这种特性使得它们非常适合作为参数传递给高阶函数(接受函数作为参数或返回函数的函数)。
原创
发布博客 2024.07.29 ·
346 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

【Linux】System V信号量详解以及semget()、semctl()和semop()函数讲解

上一篇博客讲解了System V共享内存,在最后说它的缺点时提到,他没有提供进程同步机制,那么为了弥补这个缺点,所以引入了信号量sem机制。临界资源:多个进程共同使用的一份资源,例如共享内存就是一个临界资源临界区:不同进程内部,访问临界资源的那段代码信号量的本质是:是一个描述临界资源的计数器System V信号量是一种在操作系统中提供的进程间通信(IPC)机制,用于实现进程之间的同步和互斥。它通过对计数器进行操作来控制资源的访问。
原创
发布博客 2024.07.09 ·
1012 阅读 ·
29 点赞 ·
0 评论 ·
17 收藏

【Linux】SystemV共享内存--shmget()、ftok()、shmat()、shmdt()、shmctl()函数

什么是共享内存,以及shmget()、ftok()、shmat()、shmdt()、shmctl()函数详解
原创
发布博客 2024.07.09 ·
789 阅读 ·
9 点赞 ·
0 评论 ·
14 收藏

【Linux】进程间的通信----管道

管道(Pipe)是一种进程间通信机制,用于在相关进程之间传输数据。它是一种特殊的文件描述符,它可以连接一个进程的输出(写入端)到另一个进程的输入(读取端),从而使得这两个进程可以通过管道进行数据传输。也就是说管道是单向传输的!现实生活中,我们所看听到的天然气管道、石油管道基本上都是单向传输的.历史上出现了许多通信机制,但是目前主流的进程通信只剩下了一小部分,管道之所以保留至今,是应为它没有多余的代码,而是巧妙的利用父子进程之间的特性,共用同一个文件进行信息的传输。
原创
发布博客 2024.07.07 ·
910 阅读 ·
27 点赞 ·
0 评论 ·
25 收藏

【Linux】什么是进程间通信?方式有哪些?本质理解?

进程间通信(Inter-Process Communication,IPC)是指操作系统或计算机系统中,不同进程之间进行数据交换和通信的机制或技术。由于进程是操作系统中独立运行的程序实例,而进程间通信允许这些独立的进程之间相互协作、共享资源和进行数据交换。
原创
发布博客 2024.07.06 ·
1120 阅读 ·
23 点赞 ·
0 评论 ·
6 收藏

【LInux】从动态库的加载深入理解页表机制

从动态库的加载深入理解页表机制
原创
发布博客 2024.07.06 ·
1017 阅读 ·
21 点赞 ·
0 评论 ·
12 收藏

【Linux】动态库的制作与使用

续上一篇博客讲解了静态库的制作过程,本篇博客将开始动态库制作的讲解。一定要看了静态库的制作后,才能更好的理解动态库的制作过程。
原创
发布博客 2024.07.05 ·
759 阅读 ·
17 点赞 ·
0 评论 ·
8 收藏

【Linux】静态库的制作和使用详解

本篇博客讲解两个类型的库:动态库(.so) 和 静态库(.a).的制作。
原创
发布博客 2024.07.05 ·
1121 阅读 ·
11 点赞 ·
0 评论 ·
27 收藏

【Linux】动静态库的基础知识

动态链接:简单理解就是,在我们写好我们C语言程序之后,有一些库函数比如printf,scanf,strlen等等,这些在被编译之时,编译器会将其替换成库中的这个函数的地址。这样在执行到这个函数的时候,编译器便可以根据这个地址找到这个库乃至找到这个函数.静态链接这个与动态链接不同的是:这些程序在编译时,编译器会直接将库中方法的实现,整体拷贝一份到我们的可执行程序中!而不是那个函数的地址了.但是缺点也很明显:会占用资源,想想好几份相同的代码拷贝到这里,再次运行一定占用大量的资源.当然优点是不会再依赖库。
原创
发布博客 2024.07.04 ·
753 阅读 ·
29 点赞 ·
0 评论 ·
17 收藏

【C++11】initializer_list详解!

nitializer_list 是一种C++11新的类型特性,它允许我们以统一的方式初始化对象。它是一个代表数组的轻量级包装器,通常用于构造函数和函数参数中,以允许传递一个初始化元素列表。initializer_list也是一种模板类型。;begin()end()迭代器以及获取区间中元素个数的方法size()保存的只是指向一个常量,无法对其修改C++11允许构造函数和其他函数把初始化列表当做参数。
原创
发布博客 2024.06.18 ·
675 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

【Linux】进程终止

我们前面学过,一个程序运行起来变成一个进程,进程本质就是它的代码和数据 + 内核数据结构。那这些数据是需要占用内存空间的,那肯定要去进行释放所以,进程终止就是要释放进程申请的内核数据结构和对应的数据和代码。本质是释放系统资源。
原创
发布博客 2024.05.25 ·
1302 阅读 ·
25 点赞 ·
1 评论 ·
14 收藏

【Linux】如何查看和获取环境变量四种方法($PATH、env表、environ、getenv)

查看获取环境变量的方法
原创
发布博客 2024.05.16 ·
4580 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

【Linux】环境变量知识汇总超详解!看这篇就够了

环境变量(environment variables):一般是指在操作系统在开机的时候帮我们维护系统运行时的一些动态参数。如:我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找在Windows中,打开高级选项–环境变量便可以看到如下但是有没有注意过,你每次配置环境变量,你是往系统变量的Path中加呢?还是用户变量。环境变量的用户变量与系统变量的区别。
原创
发布博客 2024.05.14 ·
1050 阅读 ·
29 点赞 ·
0 评论 ·
29 收藏

【Linux】如何在Linux中配置自己的环境变量?

如何配置环境变量
原创
发布博客 2024.05.14 ·
548 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

【Linux】进程优先级

进程优先级
原创
发布博客 2024.05.13 ·
826 阅读 ·
28 点赞 ·
0 评论 ·
30 收藏

【Linux】环境变量是什么?如何配置?详解

环境变量(environment variables):一般是指在操作系统在开机的时候帮我们维护系统运行时的一些动态参数在Windows中,打开高级选项–环境变量便可以看到如下但是有没有注意过,你每次配置环境变量,你是往系统变量的Path中加呢?还是用户变量。环境变量的用户变量与系统变量的区别我也是刚注意到这个问题哈哈,下面就是环境变量的用户变量与系统变量的区别1、环境变量没有区分大小写,例如path跟PATH是一样的2、系统变量对所有用户有效3、用户变量只对当前用户有效。
原创
发布博客 2024.05.11 ·
1470 阅读 ·
16 点赞 ·
0 评论 ·
25 收藏

【Linux】为什么有僵尸状态,什么是僵尸进程,造成危害以及如何避免“内存泄漏”问题详解

学校星期五最后一节课大扫除,我们每次打扫完成后,不会立即就回家🏡,而是必须等待老师👱来验收完成后我才能回家。进程完成后,不能立即退出(回家🏡),必须等待父进程(老师👱)来获取子进程的信息后才能彻底释放掉。那这个等待的过程与僵尸状态十分相似。
原创
发布博客 2024.05.10 ·
957 阅读 ·
17 点赞 ·
0 评论 ·
13 收藏
加载更多