自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (4)
  • 收藏
  • 关注

原创 Ftp文件上传

ftp协议简单介绍FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络...

2019-03-29 13:48:48 330

原创 简单的工厂模式

说到工厂模式,我们在此处先来做一道编程题吧!假设面试的时候,面试官要你做一道笔试题:给定两个数字A和B,然后敲定运算符,根据给定的运算符来得到所需的结果!我相信,很多的面试者最先写出来的代码都是这个样子的:static void Main(string[] args){ while (true) { Console.Write("请输入数字A:");...

2018-08-28 10:18:41 254

原创 模拟实现printf函数

模拟实现 printf()函数如果要想解决这个问题 ,就要 知道一个知识点 ,可变参数列表  ,可变参数列表是通过宏来实现的,这些宏定义于stdarg.h头文件中,它是标准库的一部分。这个头文件声明个类型va_list 和三个宏va_start、va_arg和va_end。转到定义处 查看一下这几个宏和类型 typedef char * va_li

2017-08-20 10:57:53 577

转载 C语言结构体内存对齐的问题

一。内存对齐许多计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。当一种类型S的对齐模数与另一种类型T的对齐模数的比值是大于1的整数,我们就称类型S的对齐要求比T强(严格),而称T比S弱(宽松)。这种强制的要求一来简化了处理器与内存

2017-08-20 10:44:24 560

原创 【STL】实现简单的空间配置器

1、模拟实现STL源码中实现的空间配置器实现方式:STL源码中的空间配置器的实现分为一级与二级空间配置器;1.1 一级空间配置器

2017-08-08 21:11:39 482

转载 大数据求职必看:经典的大数据面试问题

博客来源:http://www.sohu.com/a/138204769_236714在开始之前,首先要确定的一个问题:什么是大数据?大数据(big data,mega data),或称巨量资料,指的是需要新处理模式才能具有更强的决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产。 在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽

2017-08-07 21:17:21 8433

原创 shell实现简单的进度条

实现进度条

2017-07-14 20:39:09 670

原创 多路转接之epoll服务器

1、epoll服务器的设计原理1.1、epoll服务器的底层实现1.2、epoll模型的底层实现接口1.3、epoll服务器的设计优点2、实现epoll服务器2.1、实现LT模式下的epoll服务器2.2、实现ET模式下的epoll服务器

2017-07-12 22:56:37 568 1

原创 TCP协议内部知识介绍

今天我们主要介绍一下TCP协议,关于TCP协议大家听到的都比较多了,我也就不需要详细介绍了,大家向下看就是了。1、TCP基本知识2、调研TCP定时器的使用3、TCP报文格式4、URG、PUSH两者的使用场景,并且两者之间有什么区别?5、TCP“三次握手,四次挥手”为什么TCP连接需要三次握手,为什么不是两次握手、四次握手?

2017-07-11 16:17:10 504

原创 调研套接字server bind 失败的原因?——Address already in use

调研server bind 失败的原因?(TIME_WAIT)当服务器还有客户端在访问的时候,在此时Ctrl +C挂掉服务器进程之后,服务器不能够立刻重启,这是什么原因造成的呢?解释TIME_WAIT的原理

2017-07-10 17:15:50 2243

原创 实现多路转接I/O——select服务器

1、五种I/O模型2、几种I/O模型的比较3、select实现多路转接4、总结select服务器的优缺点,与多进程/多线程服务器进行对比使用dup/dup2进行网络输出重定向

2017-07-08 16:41:07 719

原创 套接字实现Udp服务器

上一篇博客讲述了怎么使用套接字来实现一个Tcp服务器,来实现客户端-服务器之间的双向通信。今天我们来看看怎么使用套接字socket实现Udp服务器吧!1、使用socket套接字实现Udp服务器1.1、简单介绍实现方法代码实现Udp服务器——客户端udp不可靠, 了解如何在用户空间实现可靠性

2017-07-08 11:29:53 766

原创 套接字实现Tcp服务器

套接字编程又被叫做是socket编程,socket这个词可以表示很多概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成 的socketpair就唯一标识一个连接。socket本身有“插座”的意思,因此用来描述网络连接的网络字节序socket地址的数据类型实现套接字相关函数简单实现简洁版的tcp客户端服务器使用多进程、多线程

2017-07-08 09:51:10 1033

原创 什么是NAT技术与代理服务器

1、NAT技术简单了解1.1、关于NAT1.2、NAT的功能1.3、NAT实现方式 1.4、NAT的分类1.5、NAT技术的应用 1.6、NAT技术的弊端1.7、NAT技术的局限性2、代理服务器介绍2.1、概念2.2、代理服务器功能2.3、代理分类

2017-07-04 17:07:20 1412

原创 crond、crontab调研

今天、发现了两个未知的事物 ,分别是crond、crontab。说他们是未知的事物,也是有原因的,因为我之前根本就没有听过这个东西,本着求知的心,我们今天来自己学习一下这两个知识。1、crond、crontab到底是甚么?【crond服务】crontab的用法

2017-07-01 11:43:37 424

原创 线程安全与可重入函数之间的区别

什么是线程安全?什么是可重入函数?可重入函数的分类:线程安全与可重入函数的区别于联系

2017-06-30 17:05:16 1619

原创 操作系统中的精灵——“守护进程”

守护进程1、【进程组】、【作业】、【会话】基本概念2、【进程组】、【作业】的区别3、终端终端的基本概念终端的登录过程线路规程 4、守护进程守护进程的特点setsid函数、chdir函数调用setsid函数成功的结果:怎么自己实现一个守护进程系统调用接口daemon为什么创建守护进程时有人fork两次?

2017-06-29 16:59:18 654

原创 我眼中的“信号”

生活中,我们会遇到很多种类的信号,例如交通灯、闹钟、还有的就是门铃等等;但这只是你眼中的信号,在我看来信号有了新的解释;1、信号的概念2、信号在进程PCB中的存储形式block表、pending表、handler表3、信号的产生方式4、信号的自定义捕捉 5、信号是在什么时候被处理的6、实现对一个信号屏蔽操作 信号集的设置、block表设定、pending表获取、handler表设定 、代码实现信号屏蔽7、实现一个自己的sleep函数 pause函数 、sigsuspend函数调用8、关

2017-06-27 16:55:14 360

原创 【leetcode】binary-tree-maximum-path-sum

/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */#include<limits.h>class Solution {public: int _maxPathSum(Tre

2017-06-21 15:32:09 505

原创 【leetcode】valid-palindrome

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example,"A man, a plan, a canal: Panama"is a palindrome."race a car"is not a palindrome.Note: Have you consider that the string might be e

2017-06-20 13:16:01 324

原创 【leetcode】longest-consecutive-sequence

Given an unsorted array of integers, find the length of the longest consecutive elements sequence.For example,Given[100, 4, 200, 1, 3, 2],The longest consecutive elements sequence is[1, 2, 3, 4]. Return its length:4.Your algorithm should run in O(n) co

2017-06-18 09:31:57 352

原创 使用gdb来调试多线程、多进程

1、GDB基础调试命令介绍2、使用GDB调试多线程运行3、使用GDB实现多进程之间的调试

2017-06-16 19:23:35 1271

原创 生产者与消费者模型

1、什么是生产者与消费者模型呢?2、【生产者与消费者之间的关系】3、【实现单生产者与单消费者模型】4、【实现多生产者与消费者模型】5、【实现进程之间的单生产者与单消费者模型】

2017-06-14 19:49:57 1865 1

原创 多线程死锁

1、【多线程死锁是怎么产生的呢??】2、【死锁产生的4个必要条件】3、【死锁产生的原因】4、【产生死锁的几种场景】5、【死锁避免的策略】

2017-06-13 15:46:07 283

原创 多线程编程

目录:1、线程概念;2、Linux下的线程的特点;3、线程控制:线程创建/等待/终止线程的概念:我们都知道,

2017-06-12 20:35:27 379

转载 Linux下的线程

我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级。首先说明一下,在Linux编写多线程程序需要包含头文件pthread.h。也就是说你在任何采用多线程设计的程序中都会看到类似这样的代码:[cpp] view plain copy#include

2017-06-12 19:57:56 250

原创 【leetcode】surrounded-regions

surrounded-regionsGiven a 2D board containing'X'and'O', capture all regions surrounded by'X'.A region is captured by flipping all'O's into'X's in that surrounded region .For example,X X X XX O O XX X O XX O X XAfter running your function, the boar

2017-05-23 20:02:33 320

原创 【进程通信】之共享内存

主要介绍内容:1、共享内存简要介绍;2、共享内存的特点;3、Linux下的共享内存的使用;1、共享内存的简介要想了解共享内存,大家可以先看看下面的一幅图:从上图中可以看出的是 每一个进程都有一段自己独占的地址空间,这段空间经过页表的映射到物理内存上。我们都知道每一个进程的物理内存都是 都是虚拟空间 经过 页表的映射到的内存上的,因此,每一个进程对于地址空

2017-05-21 20:28:01 326

转载 semop SEM_UNDO标识

SEM_UNDO

2017-05-21 16:56:13 629

原创 【进程通信】之信号量

临界资源临界区为什么要是使用信号量信号量的工作原理Linux下的信号量机制

2017-05-21 16:38:12 483

原创 【进程通信】之消息队列

1、消息队列简介;2、如何创建消息队列?3、怎样向消息队列中发送一条消息?4、怎样从消息队列中接受一条消息?5、在Linux下如何查看消息队列还有删除一条消息队列?

2017-05-16 22:30:00 506

原创 【进程通信】之管道通信

摘要:1、进程间通信的简介;2、pipe管道通信;3、pipe管道通信的特点;4、管道通信过程中会遇到的四种情况;5、fifo管道通信;6、管道 |;7、管道的缓冲区的容量大小;

2017-05-13 17:07:26 647

原创 文件指针 FILE 的底层实现

FILE结构体的内部实现文件描述符

2017-05-07 17:28:48 671

原创 【leetcode】palindrome-partitioning-ii

palindrome-partitioning-iiGiven a string s, partition s such that every substring of the partition is a palindrome.Return the minimum cuts needed for a palindrome partitioning of s.For example, given s ="aab",Return1since the palindrome partitioning

2017-05-05 21:36:33 378

原创 【leetcode】clone-graph

clone-graphClone an undirected graph. Each node in the graph contains alabeland a list of itsneighbors.OJ's undirected graph serialization:Nodes are labeled uniquely.We use#as a separator for each node, and,as a separator for node label and each neig

2017-05-04 21:36:55 276

原创 【leetcode】candy

There are N children standing in a line. Each child is assigned a rating value.You are giving candies to these children subjected to the following requirements:Each child must have at least one candy.Children with a higher rating get more candies than t

2017-05-02 18:00:32 278

原创 【leetcode】single-number-ii

Given an array of integers, every element appears three times except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?这个题是,有这么一个数组,数组里的所有的元素都出现了三次(只有一个元素出现了一次),那

2017-05-02 16:37:00 283

原创 【leetcode】binary-tree-preorder-traversal

非递归实现二叉树的先序遍历 Given a binary tree, return the preorder traversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[1,2,3].Note: Recursive solution is trivial, could you do it iteratively?

2017-04-30 17:31:52 357

原创 【leetcode】binary-tree-postorder-traversal

非递归实现二叉树的后序遍历Given a binary tree, return the postorder traversal of its nodes' values.For example:Given binary tree{1,#,2,3}, 1 \ 2 / 3return[3,2,1].Note: Recursive solution is trivial, could you do it iteratively?

2017-04-30 17:21:03 325

原创 【leetcode】word-break-ii

Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a valid dictionary word.Return all such possible sentences.For example, givens ="catsanddog",dict =["cat", "cats", "and", "sand", "dog"].A s

2017-04-30 17:03:12 622

C语言实现磁盘调度算法.7z

模拟电梯调度算法,实现对磁盘的驱动调度。

2016-10-05

三子棋.zip

小时候玩的三子棋游戏 用C语言编写的

2016-08-23

职工工资管理.zip

C++ 代码要求 功能设计要求 1. 输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。 2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。 3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。 4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。 5. 删除记录:可删除数据文件中的任一记录。 6. 统计: (A)计算各项工资平均工资及总工资,(B)统计符合指定条件(如职工工资前三项之和在3000元以上、3000~2000元、2000~1000元) 以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。 7.保存数据文件功能。

2016-08-22

通讯录.zip

简单的通讯录 动态内存增长 文件保存

2016-08-22

空空如也

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

TA关注的人

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