- 博客(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
349
原创 简单的工厂模式
说到工厂模式,我们在此处先来做一道编程题吧!假设面试的时候,面试官要你做一道笔试题:给定两个数字A和B,然后敲定运算符,根据给定的运算符来得到所需的结果!我相信,很多的面试者最先写出来的代码都是这个样子的:static void Main(string[] args){ while (true) { Console.Write("请输入数字A:");...
2018-08-28 10:18:41
272
原创 模拟实现printf函数
模拟实现 printf()函数如果要想解决这个问题 ,就要 知道一个知识点 ,可变参数列表 ,可变参数列表是通过宏来实现的,这些宏定义于stdarg.h头文件中,它是标准库的一部分。这个头文件声明个类型va_list 和三个宏va_start、va_arg和va_end。转到定义处 查看一下这几个宏和类型 typedef char * va_li
2017-08-20 10:57:53
598
转载 C语言结构体内存对齐的问题
一。内存对齐许多计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。当一种类型S的对齐模数与另一种类型T的对齐模数的比值是大于1的整数,我们就称类型S的对齐要求比T强(严格),而称T比S弱(宽松)。这种强制的要求一来简化了处理器与内存
2017-08-20 10:44:24
590
原创 【STL】实现简单的空间配置器
1、模拟实现STL源码中实现的空间配置器实现方式:STL源码中的空间配置器的实现分为一级与二级空间配置器;1.1 一级空间配置器
2017-08-08 21:11:39
506
转载 大数据求职必看:经典的大数据面试问题
博客来源:http://www.sohu.com/a/138204769_236714在开始之前,首先要确定的一个问题:什么是大数据?大数据(big data,mega data),或称巨量资料,指的是需要新处理模式才能具有更强的决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产。 在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽
2017-08-07 21:17:21
8481
原创 多路转接之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
586
1
原创 TCP协议内部知识介绍
今天我们主要介绍一下TCP协议,关于TCP协议大家听到的都比较多了,我也就不需要详细介绍了,大家向下看就是了。1、TCP基本知识2、调研TCP定时器的使用3、TCP报文格式4、URG、PUSH两者的使用场景,并且两者之间有什么区别?5、TCP“三次握手,四次挥手”为什么TCP连接需要三次握手,为什么不是两次握手、四次握手?
2017-07-11 16:17:10
527
原创 调研套接字server bind 失败的原因?——Address already in use
调研server bind 失败的原因?(TIME_WAIT)当服务器还有客户端在访问的时候,在此时Ctrl +C挂掉服务器进程之后,服务器不能够立刻重启,这是什么原因造成的呢?解释TIME_WAIT的原理
2017-07-10 17:15:50
2353
原创 实现多路转接I/O——select服务器
1、五种I/O模型2、几种I/O模型的比较3、select实现多路转接4、总结select服务器的优缺点,与多进程/多线程服务器进行对比使用dup/dup2进行网络输出重定向
2017-07-08 16:41:07
737
原创 套接字实现Udp服务器
上一篇博客讲述了怎么使用套接字来实现一个Tcp服务器,来实现客户端-服务器之间的双向通信。今天我们来看看怎么使用套接字socket实现Udp服务器吧!1、使用socket套接字实现Udp服务器1.1、简单介绍实现方法代码实现Udp服务器——客户端udp不可靠, 了解如何在用户空间实现可靠性
2017-07-08 11:29:53
794
原创 套接字实现Tcp服务器
套接字编程又被叫做是socket编程,socket这个词可以表示很多概念: 在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成 的socketpair就唯一标识一个连接。socket本身有“插座”的意思,因此用来描述网络连接的网络字节序socket地址的数据类型实现套接字相关函数简单实现简洁版的tcp客户端服务器使用多进程、多线程
2017-07-08 09:51:10
1068
原创 什么是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
1474
原创 crond、crontab调研
今天、发现了两个未知的事物 ,分别是crond、crontab。说他们是未知的事物,也是有原因的,因为我之前根本就没有听过这个东西,本着求知的心,我们今天来自己学习一下这两个知识。1、crond、crontab到底是甚么?【crond服务】crontab的用法
2017-07-01 11:43:37
452
原创 操作系统中的精灵——“守护进程”
守护进程1、【进程组】、【作业】、【会话】基本概念2、【进程组】、【作业】的区别3、终端终端的基本概念终端的登录过程线路规程 4、守护进程守护进程的特点setsid函数、chdir函数调用setsid函数成功的结果:怎么自己实现一个守护进程系统调用接口daemon为什么创建守护进程时有人fork两次?
2017-06-29 16:59:18
688
原创 我眼中的“信号”
生活中,我们会遇到很多种类的信号,例如交通灯、闹钟、还有的就是门铃等等;但这只是你眼中的信号,在我看来信号有了新的解释;1、信号的概念2、信号在进程PCB中的存储形式block表、pending表、handler表3、信号的产生方式4、信号的自定义捕捉 5、信号是在什么时候被处理的6、实现对一个信号屏蔽操作 信号集的设置、block表设定、pending表获取、handler表设定 、代码实现信号屏蔽7、实现一个自己的sleep函数 pause函数 、sigsuspend函数调用8、关
2017-06-27 16:55:14
384
原创 【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
528
原创 【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
345
原创 【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
369
原创 生产者与消费者模型
1、什么是生产者与消费者模型呢?2、【生产者与消费者之间的关系】3、【实现单生产者与单消费者模型】4、【实现多生产者与消费者模型】5、【实现进程之间的单生产者与单消费者模型】
2017-06-14 19:49:57
1921
1
原创 多线程死锁
1、【多线程死锁是怎么产生的呢??】2、【死锁产生的4个必要条件】3、【死锁产生的原因】4、【产生死锁的几种场景】5、【死锁避免的策略】
2017-06-13 15:46:07
300
转载 Linux下的线程
我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级。首先说明一下,在Linux编写多线程程序需要包含头文件pthread.h。也就是说你在任何采用多线程设计的程序中都会看到类似这样的代码:[cpp] view plain copy#include
2017-06-12 19:57:56
272
原创 【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
338
原创 【进程通信】之共享内存
主要介绍内容:1、共享内存简要介绍;2、共享内存的特点;3、Linux下的共享内存的使用;1、共享内存的简介要想了解共享内存,大家可以先看看下面的一幅图:从上图中可以看出的是 每一个进程都有一段自己独占的地址空间,这段空间经过页表的映射到物理内存上。我们都知道每一个进程的物理内存都是 都是虚拟空间 经过 页表的映射到的内存上的,因此,每一个进程对于地址空
2017-05-21 20:28:01
375
原创 【进程通信】之消息队列
1、消息队列简介;2、如何创建消息队列?3、怎样向消息队列中发送一条消息?4、怎样从消息队列中接受一条消息?5、在Linux下如何查看消息队列还有删除一条消息队列?
2017-05-16 22:30:00
533
原创 【进程通信】之管道通信
摘要:1、进程间通信的简介;2、pipe管道通信;3、pipe管道通信的特点;4、管道通信过程中会遇到的四种情况;5、fifo管道通信;6、管道 |;7、管道的缓冲区的容量大小;
2017-05-13 17:07:26
664
原创 【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
393
原创 【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
292
原创 【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
298
原创 【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
304
原创 【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
376
原创 【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
341
原创 【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
647
职工工资管理.zip
2016-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人