自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 【ICE】 ICE通信框架 - hello world

1、安装库:ice安装 2、环境配置:如图所示: 示例代码及运行结果,部分注释已经在代码中给出: //.ice module Demo { interface Printer { void printString(string s); ...

2019-04-22 15:14:03 697 0

原创 【ICE】ICE库下载链接及配置

ice - 3.6.1/3.6.3: 链接:https://pan.baidu.com/s/1tHMIjdGDdUlZ5b24aS87gg 提取码:x9ih 链接:https://pan.baidu.com/s/1ako-_Izi_jOB0g5n7kRoaQ 提取码:ml3j ICE(面向对象...

2019-04-17 09:59:39 445 0

原创 【win】winsock文件传输

项目要求: 利用Windows_socket编写文件传输助手,要求如下: 1、服务器开启监听客户端上线,客户端开启连接服务器。 2、客户端输入要传输的文件名,服务器开始传输文件给客户端 3、客户端必须可以接受键盘输入文件名。 4、传输文件可以放在服务器固定的路径下。 5、多个文件同时传输...

2019-04-17 09:49:11 221 0

原创 【C++】设计一个类?

1、设计一个类,不能被继承:    我们知道派生类在构造对象时,会先调用其基类的构造函数,然后再调用派生类的构造函数。所以,如果我们把基类的构造函数和析构函数设计为私有的,那么派生类就不能调用基类的构造函数了,自然也就不能继承了。但是这样的话,这个基类也不能实例化了。我们可以想到通过静态方法,通...

2018-08-30 00:01:56 1296 0

原创 【STL】 set、map详解

前面已经为大家总结了有关vector,list等的用法(https://blog.csdn.net/yaotengjian/article/details/81706046)。 set:          set是STL中一种标准关联容器(vector,list,string,deque都是序...

2018-08-17 22:59:25 292 0

原创 【STL】STL-vector、list、deque、stack详解

STL简介:         STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸...

2018-08-15 16:39:41 143 0

原创 【Linux】进程间通信 - 消息队列

消息队列 消息队列是由内核维护的一种链式结构。链表中每一个记录又称作消息,消息具有特定的格式和优先级别。     (1)消息队列提供了一个从一个进程向另一个进程发送一块数据的方法。     (2)每个数据块都被认为是有⼀个类型,接收者进程接收的数据块可以有不同的类型值。     (3)消息...

2018-08-10 20:39:28 106 0

原创 【C++11】 基于范围的for循环

      在C++中,循环的方式有很多种,下面给上简单的例子讲解基于范围的for循环: 遍历一个数组: 1、普通方法遍历数组: int main() { int array[] = { 1, 2, 3, 4, 5 }; for (int i = 0; i < siz...

2018-08-09 23:35:47 194 0

原创 【C++11】auto与decltype关键字

       在我们编程时候常常需要把表达式的值赋给变量,需要在声明变量的时候清楚的知道变量是什么类型。然而做到这一点并非那么容易(特别是模板中),有时候根本做不到。        为了解决这个问题,C++11新标准就引入了auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型。和原来...

2018-08-09 22:01:34 123 0

原创 【项目】HTTP服务器

HTTP  服务器: : 实现功能:网页版计算器,网页版信息存储。 主要技术:HTTP 协议,MYSQL 数据库,TCP 协议,进程,线程的应用。 项目特点: 1. 服务器接收来自客户端的请求,处理完数据后将结果发送给客户端。 2. 对客户端的请求报头进行分析,获取用户请求的信息。 3...

2018-08-01 21:40:25 233 0

原创 【面试题】 求链表倒数第K个节点

题目:输入一个链表输出链表中的第K个节点,(计数从1开始),链表节点定义如下: //定义结构 struct ListNode { ListNode() :_next(NULL) ,_data(0) {} ListNode *_next; int _data; }; 实现思...

2018-07-20 16:52:12 814 0

原创 【面试题】逆置反转单链表

题目:定义一个函数,输入一个链表的头节点,反转链表反转链表并输出反转后的链表头节点。链表节点定义如下:  typedef int DataType; typedef struct SNode { DataType _data; struct SNode* _pNext;//指向下一个节点的...

2018-07-18 23:20:12 169 0

原创 【面试题】二叉树的层序遍历

题目:实现一颗二叉树的层序遍历,树的结点定义如下: template<class T> struct BinTreeNode { BinTreeNode(const T& data) :_pLeft(NULL) ,_pRight(NULL) ...

2018-07-18 20:25:58 201 0

原创 【面试题】求连续子数组的最大和

题目:输入一个整型数组,数组里有正数也有负数,数组中的一个或者连续多个整数组成一个子数组,求所有子数组的和的最大值,要求时间复杂度为O(n)。  例如:输入的数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},输出连续子数组的最大和是8。 ...

2018-07-18 20:12:02 444 1

原创 【数据结构】二叉树的基本操作与相关面试题

        二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 下面为大家总结了二叉树相关的性质以及面试题: 二叉树中有着一些非常重要的推论: 1. 度为2的结点比...

2018-07-18 19:51:51 140 0

原创 【shell】正则表达式

正则表达式:       正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。使用目的和应用场景:给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合...

2018-07-08 21:51:50 300 0

原创 【MySQL】数据库 -- 索引与事务

在前面已经总结了关于多表查询的相关内容,本次主要对索引与事务进行总结。表的内连和外连:内连接:内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。select 字段 from 表1 inner join 表2 on ...

2018-07-04 22:52:41 371 0

原创 【数据结构】括号匹配问题

给定一个字符串,其中的字符只包含三种括号:花括号{ }、中括号[ ]、圆括号( ),即它仅由 “( ) [ ] { }” 这六个字符组成。设计算法,判断该字符串是否有效,即字符串中括号是否匹配。括号匹配要求括号必须以正确的顺序配对,如“{ [ ] ( ) }”或 “[ ( { } [ ] ) ]”...

2018-06-11 17:07:10 15847 1

原创 【MySQL】数据库 -- 多表查询

多表查询:       在前面我总结的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。下面我们用一个简单的公司管理系统,有三张表emp,dept,salgrade 来演示如何进行多表查询。复习基本的查询操作:查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字...

2018-06-03 22:37:55 243 0

原创 【网络】TIME_WAIT状态相关问题解析

        TIME_WAIT状态是TCP协议中常见的状态,简单来说:TIME_WAIT状态是四次挥手中server向client发送FIN终止连接后进入的状态。下面总结了有关time_wait相关的问题:1、为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOS...

2018-05-25 23:17:08 646 0

原创 【网络】 输入www.baidu.com后的过程详解

在普通用户模式下我们输入www.baidu.com时便会出现如下界面:下面我们从系统网络的角度分析输入www.baidu.com后的过程:1、客户端浏览器通过DNS解析到www.baidu.com的IP地址202.108.22.5,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HT...

2018-05-25 22:51:09 29173 0

原创 【网络】TCP - 三次握手四次挥手详解

      TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,正常情况下,TCP要经过三次握手建立连接,四次挥手断开连接:   1、TCP三次握手,四次挥手过程? 三次握手: 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器...

2018-05-25 17:46:51 108 0

原创 【MySQL】 数据库 -- 函数详解

函数常用日期函数:获得年月日:获得时间戳:在日期的基础上添加时间:在日期的基础上减去时间:计算两个日期相差多少天:示例:创建一张生日表,记录生日,并添加当前日期:示例:创建一张留言表,并插入数据:显示所有留言信息,发布日期只显示日期,不用显示时间:日期函数使用细节:date_ add()和date...

2018-05-22 18:09:53 348 0

原创 【MySQL】数据库 -- select详解

select是数据库中很重要的语句;语法:select [distinct] *| {column1,column2,...} from tbl_name;创建一张学生表来测试:插入数据:可以指定查询哪些列,比如:查询id,姓名,数学成绩:查询所有:distinct 如果结果中有完全相同的行,就去...

2018-05-20 21:55:09 801 0

原创 【MySQL】数据库 -- 表的增删查改详解

表的增删查改是数据库表的最基本的操作:增加:insert into table_name[(column[,column...])] values (value [,value...]);示例:创建一张商品表,并插入两条记录:在values中列出的数据位置必须与被加入的列位置相对应:字符和日期类型...

2018-05-18 19:34:46 119 0

原创 【MySQL】数据库 -- 表的约束

      在数据库中,真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。     表的约束很多,这里主要介绍如下几个,null/not null,default, commen...

2018-05-15 22:02:00 78 0

原创 【Linux】进程控制

一、进程的创建 有两个函数(fork / vfork)可以在已存在的进程中创建一个新进程。新进程为子进程,原来的进程为父进程。子进程就是将父进程完全的拷贝了一份。1. fork:#include <unistd.h> pid_t fork(void); 返回值:⾃自进程...

2018-05-09 20:59:05 63 0

原创 【Linux】进程间通信 -- 信号量

信号量的相关概念:信号量    信号量本质上是一个计数器(不设置全局变量是因为进程间是相互独立的,而这不一定能看到,看到也不能保证++引用计数为原子操作),用于多进程对共享数据对象的读取,它和管道有所不同,它不以传送数据为主要目的,它主要是用来保护共享资源(信号量也属于临界资源),使得资源在一个时...

2018-05-08 21:31:52 54 0

原创 【MySQL】数据库 - 数据类型

在前面为大家分析了数据库库与表的基本操作,下面是对数据类型的一些总结:数据类型:数值类型:越界测试:说明: 在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的。           可以通过UNSIGNED来说明某个字段是无符号的关于UNSIGNED细节:      int的表示范围...

2018-05-05 21:47:56 105 0

原创 【MySQL】数据库 - 表的操作

表的操作是数据库的基本操作;创建表:语法:CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎说明:feild...

2018-05-05 20:12:05 93 0

原创 【Linux】进程的查看详解

      在linux系统当中:触发任何一个事件时,系统都会将它定义成为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设置。进程的相关知识:1、进程与程序概念的区分:程序:程序是静态的文件,通常为二进制程序放置在存储媒介中(...

2018-04-23 17:37:23 109 1

原创 【MySQL】数据库 -- 库的操作

 基本概念:     SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。下面为大家总结数据库的基本语法:1、m...

2018-04-21 21:10:11 1658 0

原创 【MySQL】数据库 --MySQL的安装

本篇教程主要讲解在CentOS 6.5下编译安装MySQL 5.6.14!1、卸载旧版本:使用下面的命令检测是否安装有MySQL server[root@localhost ~]# rpm -qa | grep mysql mysql-libs-5.1.73-7.el6.x86_64如果有的话使用...

2018-04-21 19:25:24 445 0

原创 【Linux】简易的shell

       shell:简单点理解,就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核。shell本质上就是将进程程序替换。替换原理:           用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不...

2018-04-17 17:06:30 164 0

原创 【Linux】进程间通信 - 管道

       进程间通信(IPC,Interprocess communication)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求,也可能导致一个操作系统中多个进程...

2018-04-10 18:03:40 83 0

原创 【Linux】进程的基本概念

进程的基本概念:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。(1)课本概念:程序的一个执行实例,正在执行的程序等。 (2)内核观点:担当分...

2018-04-07 21:10:30 112 0

原创 【Linux】 自动化构建工具-make/Makefile

        一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个shell脚本一样,其中也可以执行操作系统的命令。...

2018-04-05 15:22:19 467 0

原创 【总结】malloc最多能分配多大的内存空间?

malloc的全称是memory allocation,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。void* 类型表示未确定类型的指针。C,C++规定,void*...

2018-03-31 22:42:59 9069 2

原创 【Linux】Xshell连接到Linux教程及复制快捷键设置

Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。Xshell可以在Windows界面下用来访问远...

2018-03-28 22:30:43 368 1

原创 【算法】希尔排序

希尔排序(Shell's Sort)是插入排序(点击打开链接)的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。希尔排序是把记录按下标的...

2018-03-21 22:20:49 71 0

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