自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xuejiao_lin的博客

一切都是为最好的准备

  • 博客(136)
  • 收藏
  • 关注

原创 socket编程

1.socket的简介【1】什么是socket 在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。socket 的典型应用就是 Web 服务器和浏览器:浏览器获取用户输入的URL,向服务器发起请求,服务器分析接收到的URL,将对应的网页内容返回给浏览...

2018-05-29 00:24:49 76824 16

原创 最美的成电

从三月到现在,心里一直压抑着一件事,压的有时候感觉快窒息了,还好身边有兔宝,波波,松花,小瑶瑶,强哥,还有不知道你叫什么名字的sudo小哥哥,一直在鼓励着我,陪着我,指导我,真的好开心能遇到你们,让我不在感到孤单,不在感觉是一个人再战。今天和波波去食堂吃完饭,就逛了一下学校的东湖,发现东湖整片的花好漂亮呀,就顺便拍了几张,好开心,感觉都没有压力了,生活中处处存在着美,加油,小贝!!!一会继续看文件...

2018-05-27 16:18:27 621 5

原创 常用的排序算法总结

2018年5月7日上午十点整,本宝宝决定从头开始复习,每天一半的时间复习基础知识,一半的时间做项目(多实践)看了第一本大话数据结构,以后想把每一本书比较重要的知识点总结一下。 排序算法的稳定性:假设Ki=Kj (1<=i<=n,1<=j<=n,i!=j),且在排序前的序列中ri领先于rj,如果排序后ri仍领先rj,则称所用的排序是稳定的,如果改变了,就不是稳定的。1...

2018-05-08 10:41:44 5056 2

原创 今日头条面试题

       本宝宝从来没想过会去头条面试,但是莫名的收到了头条HR的电话,问我是否在找实习,什么时候有时间可以面试,既然已经约好面试的时间,那还是要好好准备一下,为了准备头条的面试,把网上关于头条的所有面试题刷了一遍,并且顺利的通过了一面和二面(虽然全程都是都程序写代码,其他的什么都没问,全程被两个面试官虐了两个小时四十一分钟)顺利收到了三面的通知,以为这一面可以面一些网络方面,操作系统方面的,...

2018-04-27 10:13:53 39497 20

原创 面试中计算机网络高频问题汇总

1.     tcp和udp的区别【1】    tcp是面向连接的,udp是面向无连接的面向连接:就是tcp传输之前要先发送连接请求和应答包,确定双方能够正常传输后,才会进行数据传输无连接:udp在发送数据之前,并不考虑对方能否接受到,甚至目的地址可能是无效的【2】    tcp能保证可靠传输,udp不能保证可靠传输所谓可靠性就是指tcp能保证把数据一定能送到目的地址,为了实现可靠性,tcp采用有...

2018-04-27 09:22:17 3053 10

原创 一切都是为最好的准备------致所有正在找工作迷茫的你---------打不到的铜豌豆

一切都是为最好的准备,今天是2018年4月17日,两年前的今天,兔子经历着同样的情景,最终她不还是去了凤巢吗,所以不要失望,未来总有一家可以收了你的,相信一切都会变好的,可能是时机未到,再等等,付出那么多,总会有一些收获的,老天对于每个人都是公平的,不要只看眼前,如果技术足够的强,编程能力足够的好,怎么可能被面试官嫌弃项目太理论化,(那就一切从新开始,重新做新的项目),继续战斗吧,一定会有结果的。...

2018-11-15 19:39:57 1479 6

原创 2018年5月20日 13点14分 表白成功

#include<iostream>#include<windows.h>#include<stdio.h>using namespace std;#define stoptimeshort 40#define stoptimelong 100int main(){ //////////////////

2018-11-15 19:38:28 1142 4

原创 iptables

iptables的简介netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案。它工作在网络层,针对TCP/IP数据包实施过滤和限制,是典型的包过滤防火墙;它也可以实现网络地址转换(NAT)等功能iptables的优点netfilter/i...

2018-08-30 13:12:55 675

转载 数据包从源主机到达目的主机的过程-----------跨路由的数据传输(主要)

   最近把跨路由的数据传输过程搞的差不多了,所以特意写下这篇文章,仅为以后回忆之用。~     为了便于理解,先从同一广播域内两台主机通信开始叙述吧。只要能理解这些,那也就差不多可以理解跨路由传输过程...

2018-08-14 09:58:41 4504

原创 树的最长路径

问题描述:如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义”距离”为两节点之间边的个数。 写一个程序,求一棵二叉树中相距最远的两个节点之间的距离。测试用的树:                         &n

2018-08-09 09:38:33 2115

原创 TCP非正常情况下的工作状况

1.服务器进程终止首先,服务器进程终止(收到SIGKILL信号)。作为进程中止处理的工作之一,该进程所有打开着的描述符将被关闭,这会导致向对端(客户端)发送(FIN N),而客户端则回复(ACK N+1),这就是TCP断开连接的前半部分。然后,此时客户端收到(FIN N)并不意味着连接断开(虽然在这个例子中,确实断开了),只是意味着服务器不再向客户端发送数据了,客户端还可以继续...

2018-08-04 10:24:26 448

原创 在浏览器中输入www.baidu.com网址之后会发生什么

1. 浏览器将域名解析为IP地址(1)先到浏览器缓存记录中查找(2)如果没有则到路由器缓存DNS记录中查找(3)没有则发送请求到本地域名服务器, 每一个本地域名服务器都维护一个高速缓存,存放最近用过的域名及IP地址(4)如果还没有则向根域名服务器发出递归查询,并依次从根域查找顶级域, 顶级域查找而二级域,二级域查找三级域,直到找到解析的地址。 通过这个IP地...

2018-08-04 09:24:54 1136

转载 HTTP请求和响应的过程

HTTP 无状态性        HTTP 协议是无状态的(stateless)。也就是说,同一个客户端第二次访问同一个服务器上的页面时,服务器无法知道这个客户端曾经访问过,服务器也无法分辨不同的客户端。HTTP 的无状态特性...

2018-08-04 08:40:09 1389

转载 内存碎片

 内存碎片的产生:        内存分配有静态分配和动态分配两种       静态分配在程序编译链接时分配的大小和使用寿命就已经确定,而应用上要求操作系统可以提供给进程运行时申请和释放任意大小内存的功能,这就是内存的动态分配。&am

2018-07-23 11:23:43 254

原创 C++ 11 新特性

很好的一篇文章https://harttle.land/2015/10/08/cpp11.html

2018-07-19 20:57:46 225

转载 C++ 11结构体内直接赋初始值

  C++11添加了很多新特性,使C++看上去更加的灵活和面向对象,其中对struct的修改也值得关注。   我们知道,以前struct(包括类class,两者概念是差不多的)是杜绝在其体内直接给成员变量赋初始值的,但是现在可以给每个成员变量赋予默认的初始值,如下:struct Student{ char...

2018-07-19 20:39:17 2403 2

转载 C++ 11 新特性

  简介   C++11,之前被称作C++0x,即ISO/IEC 14882:2011,是目前的C++编程语言的正式标准。它取代第二版标准ISO/IEC 14882:2003(第一版ISO/IEC 14882:1998发布于1998年,第二版于2003年发布,分别通称C++98以及C++03,两者差异很小)。新的标准...

2018-07-19 20:34:22 272

转载 C++ 11 基于范围的for循环

基于范围的for循环: 对于内置数组以及包含方法begin()和end()的类(如std::string)和STL容器,基于范围的for循环可以简化为他们编写循环的工作。这种循环对数组或容器中的每个元素执行指定的操作:#include <iostream>int main(){ ...

2018-07-19 20:02:48 529

转载 类型转换

c++ 四种强制类型转换介绍const_cast , static_cast , dynamic_cast , reinterpret_cast1. C风格的强制转换C风格的强制转换(Type Cast)容易理解,不管什么类型的转换都可以使用使用下面的方式.TypeName b = (TypeName)...

2018-07-19 18:37:15 169

转载 C++的组合/继承与多态

c++的组合/继承与多态类与类之间,存在组合关系与继承关系。组合关系是比较简单方便的,能用就用,别滥用继承关系1.类的组合关系所谓组合关系,就是一个类中包含了其他类。具体的实现方法很简单,将其他类的对象作为当前类的成员使用,那么就构成了组合关系class Computer //电脑类{...

2018-07-19 18:13:35 401

原创 const的全面总结

    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用  如下表所示:...

2018-07-19 17:41:12 247

转载 单继承 多继承 菱形继承(非虚继承) 菱形继承(虚继承)

单继承:只有一个基类和一个派生类class Base{public: virtual void fun1() { cout << "Base::func1()" << endl; } virtual void fun2() { cout << "Base::func2()" ...

2018-07-16 19:44:52 207

原创 二叉搜索树转换成双向链表

题目输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路中序遍历:把一棵二叉排序树看成三个部分,根节点,右子树,左子树,根节点的左指针指向左子树的形成链表的最后一个节点,根节点的右孩子指向右子树形成链表的第一个节点,再对左右递归进行上述操作。图形表示代码展示public class Sol...

2018-07-16 15:19:29 875

转载 索引失效与优化详解

案例所用的表结构、索引、与数据如下: 索引失效与优化1、全值匹配我最爱2、最佳左前缀法则(带头索引不能死,中间索引不能断)如果索引了多个列,要遵守最佳左前缀法则。指的是查询从索引的最左前列开始 并且 不跳过索引中的列。 正确的示例参考上图。错误的示例: 带头索引死: ...

2018-07-15 11:42:32 444

转载 关系型数据库和非关系型数据库区别

一、关系型数据库    关系型数据库,是指采用了关系模型来组织数据的数据库。    关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型。    简单来说,关系模型指的就是二维表格模型,而一个关系型数据...

2018-07-14 21:51:27 6556

转载 MySQL两种存储引擎的区别

InnoDB:(1)具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。(2)支持外键。(3)InnoDB 中不保存表的具体行数,也...

2018-07-14 21:02:01 276

转载 MySQL索引 B+树索引和哈希索引的区别

备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BTREE,例如像下面这样的写法:CREATE TABLE t( aid int unsigned not null auto_increment, userid int unsigned not null default 0, username varchar(20) not null default ‘’, detail ...

2018-07-14 20:06:59 3462

转载 B+树和B树的区别

一,b树b树(balance tree)和b+树应用在数据库索引,可以认为是m叉的多路平衡查找树,但是从理论上讲,二叉树查找速度和比较次数都是最小的,为什么不用二叉树呢? 因为我们要考虑磁盘IO的影响,它相对于内存来说是很慢的。数据库索引是存储在磁盘上的,当数据量大时,就不能把整个索引全部加载到内存了,只能逐一加...

2018-07-14 19:25:21 427 5

转载 redis---开启一个新端口

为redis分配一个8888端口,操作步骤如下:1、重新复制一份,重命名为redis8888.conf。2、打开redis8888.conf配置文件,找到port 6379这行,把6379改为8888。3、把redis8888.conf移到$REDIS_HOME/redis-svrs/4、启动redis服务:redis-server /home/redis/redis-2.4.15/redis-s...

2018-07-09 21:20:56 1257

原创 线程的创建与销毁的守则

线程的创建要遵循的原则(1)程序库不应该在未提前告知的情况下创建自己的“背景线程”(2)尽量用相同的方式创建线程,例如使用muduo::Thread(3)在进入main()函数之前不应该启动线程(4)程序中线程的创建最好在初始化阶段全部完成线程的销毁有几种方式(1)自然死亡。从线程主函数返回,线程正常退出(2)非正常死亡。从线程主函数抛出异常或线程触发segfault信...

2018-06-11 21:50:11 1955 2

原创 高性能服务器程序架构----两种高效的事件处理模式

Reactor模式随着网络设计模式的兴起,Reactor和Proactor事件处理模式应运而生。同步I/O模型通常用于实现Reactor模式,异步I/O模型则用于实现Proactor模式。Reactor是这样的一种模式,他要求主线程(I/O处理单元)只负责文件描述上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元),除此之外,主线程不做任何实质性的工作。读写数据,接受新的连接,以...

2018-06-11 20:00:20 377

转载 链表反转

如何把一个单链表进行反转?方法1:将单链表储存为数组,然后按照数组的索引逆序进行反转。方法2:使用3个指针遍历单链表,逐个链接点进行反转。方法3:从第2个节点到第N个节点,依次逐节点插入到第1个节点(head节点)之后,最后将第一个节点挪到新表的表尾。方法4:   递归(相信我们都熟悉的一点是,对于树的大部分问题,基本可以考虑用递归来解决。但是我们不太熟悉的一点是,对于单...

2018-06-09 09:48:21 245

原创 复制带随机指针的链表

题目给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深度拷贝。代码/** * Definition for singly-linked list with a random pointer. * struct RandomListNode { * int label; * RandomLis...

2018-06-06 12:17:17 172

原创 链表排序

题目在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1输入: 4->2->1->3输出: 1->2->3->4示例2输入: -1->5->3->4->0输出: -1->0->3->4->5解析:本题要求时间复杂度为:O(n log n)

2018-06-06 11:36:53 1124

转载 单链表的快速排序

单链表的特点是:单向。设头结点位head,则最后一个节点的next指向NULL。如果只知道头结点head,请问怎么将该链表排序? 设结点结构为 [cpp] view plain copy print?struct Node{     &am

2018-06-06 10:46:22 307

原创 Product of Array Except Self

题目给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例输入: [1,2,3,4]输出: [24,12,8,6]说明请不要使用除法,且在 O(n) 时间复杂度内完成此题。进阶你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析...

2018-06-05 21:46:29 195

原创 字典

字典介绍变量info为字典类型: info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}说明:字典和列表一样,也能够存储多个数据 列表中找某个元素时,是根据下标进行的 字典中找某个元素时,是根据’名字’(就是冒号:前面的那个值,例如上面代码中的’name’、’id’、’sex’) 字典的每个元素由2部...

2018-06-01 17:06:12 288

原创 元组

元组 Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。>>> aTuple = ('et',77,99.9)>>> aTuple('et',77,99.9)<1>访问元组 <2>修改元组 说明: python中不允许修改元组的数据,包括不能删除其中的元素。&l...

2018-06-01 16:26:33 222

原创 列表的相关操作

列表的相关操作 列表中存放的数据是可以进行修改的,比如”增”、”删”、”改”“<1>添加元素(“增”append, extend, insert) append 通过append可以向列表添加元素demo: #定义变量A,默认有3个元素 A = ['xiaoWang','xiaoZhang','xiaoHua'] print("-----添...

2018-06-01 15:47:45 229

转载 TCP粘包分析

载自:http://blog.csdn.net/binghuazh/archive/2009/05/28/4222516.aspx这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下: 一 .两个简单概念长连接与短连接:1.长连接     Client方与Server方先建立...

2018-05-29 00:02:27 11039

空空如也

空空如也

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

TA关注的人

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