sunjiyuana
码龄7年
关注
提问 私信
  • 博客:18,120
    18,120
    总访问量
  • 37
    原创
  • 1,522,395
    排名
  • 4
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2018-01-25
博客简介:

qq_41673560的博客

查看详细资料
个人成就
  • 获得17次点赞
  • 内容获得3次评论
  • 获得34次收藏
创作历程
  • 33篇
    2019年
  • 4篇
    2018年
成就勋章
TA的专栏
  • 知识体系
    6篇
  • Linux系统编程
    7篇
  • C/C++
    10篇
  • 面试题
    3篇
  • 网络
    1篇
  • 数据结构
    3篇
创作活动更多

如何做好一份技术文档?

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

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

高级IO模型

高级IO模型,具体来说,可以划分成五种:阻塞IO,非阻塞IO,信号驱动IO,异步IO以及多路转接IO。首先简要介绍,这几种模型的特点:阻塞IO:为了完成功能,会发起调用,如果发现当前不具备完成条件,则等待非阻塞IO:为了完成功能发起调用,如果发现当前不具备完成条件,直接就会报错返回我们把阻塞与非阻塞放到一起对比,可以看出这两者是恰好相反的,就是看不具备完成条件的情况下,发起的调...
原创
发布博客 2019.02.28 ·
203 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

指针

指针这个东西,在C语言和C++中,可以说是使用的非常广泛的,有很多人说C++比Java难学,就是难在指针这块。那么,什么是指针呢? 谈到指针,实际上就必须先要了解内存,在冯诺依曼体系结构中,五大硬件单元里面,内存扮演的是存储器的角色,基本上我们所有的程序运行都是以内存为载体。(所以说基本上,当然是有特例的,比如位操作,就属于特殊的操作,这是把数据加载到CPU中,在寄...
原创
发布博客 2019.02.28 ·
623 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

网络分层模型

网络分层一般是有OSI七层模型,和TCP/IP五层模型。一般来说,由于无论层这部分在软件行业使用的不是很广泛,他是属于硬件级别的,因此我们有时候也称为TCP/IP四层模型,忽略掉物理层这个部分。那么,为什么要进行网络分层呢?实际上,就是起到一个各司其职,模块化的作用。就是为了让使用更加的方便,每一层都有各自的通信协议,协议的存在,实际上,就是为了让一套标准,被广泛的使用,达到网络互...
原创
发布博客 2019.02.27 ·
414 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

判断链表是否带环

给定一个链表,判断链表中是否有环。为了表示给定链表中的给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。解决这...
原创
发布博客 2019.02.27 ·
292 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

搜索引擎与爬虫结合的示例:书虫找书

      这是我做的一款用于在网上搜索小说的小项目,我的具体设计是使用的一个搜索引擎模块与网络爬虫的结合。我的设想是让它和那种网上的专门用于寻找百度云盘资源的小工具类似的效果。      当你在页面上输入想要的资源的时候,会将所有有关于这个电子书的资源的链接返回到页面上,它将不局限于只是在网盘或者小说网站上,并且会将所有的用户并不太愿意接受的链接过滤掉,比如将某些要付费的就可以过滤掉。 ...
原创
发布博客 2019.02.27 ·
738 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

字符与字符串

在C语言里面,我们经常会遇到对字符和字符串的处理,但是有一个很大的问题是,C语言里本身是没有字符串这个类型的。通常我们实现字符串,是通过字符型常量,和字符型数组来代替的。也就是我们会把一个个字符放在一个常量区,用栈上开辟的指针变量来进行访问,或者是在栈上开辟一个数组空间,将字符放在一个数组中,遍历读取。而在c++里面一般我们可以使用STL模板库中,有一个string容器,这个容器是c++ ...
原创
发布博客 2019.02.27 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

基于http协议实现的自主web服务器

在学习完网络的基本知识后,一直希望有一个能够将所学知识能够结合实际进行练习的机会。因此,我在这里做了一个简单的模拟服务器工作的小项目。这个简单的服务器程序将能基本实现基本的被访问的功能,能够收到浏览器或其他主机上进行的访问,并能够对请求做出基本的相应,项目是基于http协议的,因为http协议一般在我们日常的网络行为中使用的还是比较高频的。http协议有这么几个基本的特点:1.简单快速...
原创
发布博客 2019.02.26 ·
1058 阅读 ·
2 点赞 ·
0 评论 ·
6 收藏

基于huffman树的文件压缩工具

通过对文件压缩的内部原理的学习,让我现在也有了想要自己实现一个文件压缩工具的想法。那么,想要实现这样一个工具,首先我们先梳理一下,需要用到那些知识点。1.什么是文件压缩?为什么要进行文件压缩文件压缩就是通过某一种机制让文件变得更小,并且还能够通过对应的方式进行还原,如果不能进行还原,那么压缩就没有意义了。压缩的目的就是为了让文件的存储更加节省空间,也可以便于传输。2.文件压缩的分类?...
原创
发布博客 2019.02.25 ·
510 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

c++知识体系

原创
发布博客 2019.02.24 ·
810 阅读 ·
4 点赞 ·
1 评论 ·
11 收藏

栈和队列知识点梳理

栈和队列: 都属于特殊的线性结构栈:特殊的线性表,只有一个出入口,只能在其一端进行数据的插入和删除        特性:后进先出    出入数据都在栈顶可以看作只能进行尾插尾删的线性表 底层选择链式空间还是连续空间?顺序表只要不在头部和中间进行增删,就不需要进行数据的搬移,那么效率就非常高,并且顺序结构的实现相对简单 ,只需要在尾部操作,时间为O(1),当然链式结构也是...
原创
发布博客 2019.02.23 ·
1595 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

计算时间复杂度与空间复杂度

如何衡量一个算法的好坏?   复杂度:空间复杂度  +  时间复杂度事后统计法:就是在算法的程序运行结束后,根据实际运行结果衡量算法好坏事前估计法:就是在程序运行之前,先按照程序代码,来预估算法的好坏时间复杂度:用基本指令的运行次数而不是运行时间代表时间复杂度,同一个程序在不同配置的机器下的运行时间不一定相同 时间复杂度:基本语句的执行次数 ,一个关于问题规模N的数学表达式  ...
原创
发布博客 2019.02.23 ·
397 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

从C语言到c++的过渡

C++对C语言中设计不合理的地方的改进C++98相关的知识点   C++98中进行过对C语言的语法做成模板的方式,包括头文件时可以  .h 98以后这种方案就被抛弃了C++11相关的知识点 关键字:c99有32个。C++98继承C语言,有63个关键字, C++ 对C语言有那些拓展? 扩充了面向对象的概念,高度抽象化C++对C语言的增强 命名空间(na...
原创
发布博客 2019.02.23 ·
298 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

链表知识点梳理

链表是线性结构中的第二种结构,与顺序表不同的是  链表在物理存储结构上非连续,非顺序 元素的逻辑顺序是通过指向链表的指针链接次序实现 由于链表是在增删新元素时,才会动态增加新节点, 因而不用像顺序表一样考虑容量capacity的概念,只需要保留 有效数据长度 size即可。顺序表与链表的比较:内存碎片:频繁的像内存申请小的空间 空间使用率谁更高不确定  ,缓存使用率...
原创
发布博客 2019.02.22 ·
436 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

树形结构

树形结构是数据结构中一种很典型的结构,是一种非线性结构。与线性表截然不同的是,线性表的结构,是一个节点之后跟着一个节点。 而树状图,则是一个节点后面可能跟着两个或更多的节点,就好像是从一个节点中分出很多条树杈,看起来实际上就相当于将自然界的树给倒着放置一样。 这样,每个分出树杈的节点,我们称之为父节点,而这个父节点分出去的每个节点又可能再继续往下分,分...
原创
发布博客 2019.02.22 ·
1889 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LinuxIO基础笔记梳理

在c库里IO的相关操作:回顾IO接口:fopen fclose,fwrite,fread,fseek文件相关系统调用:  系统调用接口:open,close,write,read,lseekLinux下的文件描述符:非负整数,文件的操作句柄,凭什么数字可以操作文件struct file{} 数组在进程中会打开很多文件,进程要对文件进行管理(描述(struct file)+组织(数组...
原创
发布博客 2019.02.22 ·
164 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux进程控制笔记梳理

进程创建     使用系统掉用接口    fork()函数    复制PCB             子进程的复制:使用了写时拷贝技术(代码共享,数据独有)            返回值:父子进程的返回值各有不同,父进程返回子进程的pid,子进程返回0,以实现代码分流     父子进程返回值可以反过来吗?         不行,  不光是代码分流的功能,还有进程控制, 父进程使...
原创
发布博客 2019.02.22 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux进程信号笔记总结

信号:作用:为了通知我们某个事件的发生就是一个软中断,通知进程发生某件事情,打断进程当前的操作,去先处理这个事件必须认识信号,信号不是立即处理的。而实现记录下来,选择一个合适的事机处理信号必须有默认的处理方式,当然也可以改变。信号是可以被阻塞,暂时不处理信号的周期性:生命周期:产生》》注册》》注销》》处理linux信号的种类:kill -l 62个--两类(可靠/非可靠  ...
原创
发布博客 2019.02.22 ·
252 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

进程间通信笔记梳理

进程间通信:什么是进程间通信    两个进程间进行消息传递为什么进程间要通信    因为项目可能很大,进程之间通信,降低模块之间耦合度大型的项目的模块化,是各个模块进程之间协同运行(数据传输,数据共享,通知事件,进程控制) 为什么进程间通信要操作系统提供接口:        因为进程间的独立性,进程间通信变得非常复杂,需要操作系统提供用于进程间通信的统一的接口,...
原创
发布博客 2019.02.22 ·
184 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux进程概念部分笔记梳理

冯诺依曼系统 冯诺依曼体系结构是现代计算机的硬件体系结构 输入设备:键盘 输出设备:显示器 存储器:内存 运算器:CPU 控制器:程序计数器,指令寄存器 硬盘不被作为存储器:读写速度太慢 而CPU处理速度非常快  机械硬盘:200MB/s   固态:400/500M    内存属于易失性介质,具有掉电易失性,因而不作为长...
原创
发布博客 2019.02.22 ·
197 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: falseclass Solution {public: bool isPal...
原创
发布博客 2019.02.22 ·
140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多