自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 C++SOCKET多线程网络编程实现多个客户端与服务器通信

C++SOCKET多线程网络编程实现多个客户端与服务器通信 #设计思路 通过在服务器端建立两个线程,主线程用来监听客户端的接入,当有新的客户端接入时,服务器为新的客户端建立服务线程,通过服务线程来实现服务器与客户端的通信。 #结果演示 服务器端代码: #include&a...

2018-10-15 20:25:01

阅读数 9576

评论数 13

原创 数据库常见问题

2019-10-07 15:26:17

阅读数 5

评论数 0

原创 面经

Linux删除指定时间之前的文件: location = "/root/test" find $location -mtime +30 -type -f |xargs rm -rf #find: #访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。 #修改时...

2019-09-24 17:01:51

阅读数 9

评论数 0

原创 单例模式

单例模式: 单例模式主要解决一个全局使用的类频繁的创建和销毁的问题。单例模式下可以确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式有三个要素: 一是某个类只能有一个实例; 二是它必须自行创建这个实例; 三是它必须自行向整个系统提供这个实例。 C++实现单例模式 饿汉式...

2019-09-14 20:53:57

阅读数 6

评论数 0

原创 IO多路复用

1、IO多路复用 IO复用模型在阻塞IO模型上多了一个select函数,select函数有一个参数是文件描述符集合,意思就是对这些的文件描述符进行循环监听,当某个文件描述符就绪的时候,就对这个文件描述符进行处理。 这种IO模型是属于阻塞的IO。但是由于它可以对多个文件描述符进行阻塞监听,所以它的效...

2019-09-11 16:14:22

阅读数 5

评论数 0

原创 IO多路复用机制--Reactor模式

在处理web请求时,通常有两种体系结构,分别为:thread-based architecture(基于线程)、event-driven architecture(事件驱动) thread-based architecture 基于线程的体系结构通常会使用多线程来处理客户端的请求,每当接收到一个请...

2019-09-11 10:21:54

阅读数 12

评论数 0

原创 STL中的allocator

STL的分配器用于封装STL容器在内存管理上的底层细节。 在C++中,其内存分配释放如下: new运算分为两个阶段:1.调用::operator new配置内存 2.调用对象构造函数构造对象内容 delete运算分为两个阶段:1.调用对象析构函数 2.调用::operator delete释放内存...

2019-09-10 16:10:36

阅读数 12

评论数 0

原创 C++中四个智能指针

智能指针的作用:管理一个指针,因为存在以下情况,申请的空间在函数结束时忘记释放,造成内存泄露。使用智能指针可以很大程度上避免这个问题,因为智能指针就是一个类,当超出了类的作用域,类会自动调用析构函数,析构函数会自动释放资源,所以智能指针的作用原理就是在函数结束时自动释放内存空间,不需要手动释放。 ...

2019-09-09 10:47:10

阅读数 10

评论数 0

原创 Struct和union内存地址

typedef struct foo { int a; char b; char c; int d; long e; float f; double g; }foo_t; union MyUnion { int a; char b; char c; int d; long ...

2019-09-08 19:43:03

阅读数 13

评论数 0

原创 C++中四种cast转换

C++中四种类型转换是:static_cast,dynamic_cast,const_cast,reinterpret_cast 1 static_cast 用于各种隐式转换,例如将非const转换为const,void*转指针(将void指针指向任意类型)等,用于多态向上转化,如果向下转能成功但...

2019-09-05 20:08:21

阅读数 44

评论数 0

原创 RYU基于跳数的最短路径转发

RYU控制器实现基于跳数的最短路径转发 from ryu.base import app_manager from ryu.ofproto import ofproto_v1_3, ofproto_v1_3_parser from ryu.controller.handler import set...

2018-12-05 16:37:38

阅读数 1285

评论数 15

原创 4. 两个排序数组的中位数

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。 你可以假设 nums1 和 nums2 不同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 中位数是 2.0 示例...

2018-11-08 10:28:28

阅读数 63

评论数 0

原创 3. 无重复字符的最长子串

给定一个字符串,找出不含有重复字符的最长子串的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 无重复字符的最长子串是 “abc”,其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 无重复字符的最长子串是 “b”,其长度为 1。 示例 3: 输入: “pw...

2018-11-06 14:53:14

阅读数 20

评论数 0

原创 明文加密,解密算法

课堂练习 1、用简单字母置换产生的密文仍然保持明文的统计特征。为打乱密文的统计结构,可采取如下的加密方法,它是排斥加加密算法的扩展。将英语的26个字母按算许映射成为0,1,2,3,…,25,并记此映射为I,即I(A)=0, I(B)=1, …, I(Z)=25。令X和Y为两个英文字母,令 X+Y ...

2018-11-04 15:07:19

阅读数 1401

评论数 0

原创 LeetCode 第二题:两数相加

题目:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -&...

2018-10-31 21:30:44

阅读数 48

评论数 0

原创 记四位数 . abcd 为A,由它的四个数字a,b,c,d组成的最小的四位数记为B,如果A-B=999,那么这样的四位数A共有______个.

Python需要自己手动转换格式真的很烦人。。。 count=0 for num in range(1000,10000): A=num a=num/1000 num%=1000 b=num/100 num%=100 c=num/10 d=...

2018-10-27 20:21:24

阅读数 563

评论数 0

原创 Ryu 安装过程中的问题

我使用的是VMware虚拟机、Ubuntu14.0.4 经过一天的捣鼓,终于安装好Ryu了 安装过程: 在安装RYU之前需要先安装Python的套件库 - sudo apt-get install python-pip python-dev build-essential - sudo...

2018-10-26 22:13:06

阅读数 1265

评论数 0

原创 Python编程:从入门到实践(课后习题8)

11-1 城市和国家 :编写一个函数,它接受两个形参:一个城市名和一个国家名。这个函数返回一个格式为City, Country 的字符串,如Santiago, Chile 。将这个函数存储在一个名为city_functions.py的模块中。 创建一个名为test_cities.py的程序,对刚编...

2018-10-25 22:18:42

阅读数 56

评论数 0

原创 Python编程:从入门到实践(课后习题7)

10-1 Python学习笔记 :在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python知识,其中每一行都以“In Python you can”打头。将这个文件命名为learning_python.txt,并将其存储到为完成本章练习而编写的程序所在的目录中。编写一个程序,它读取这...

2018-10-25 16:24:19

阅读数 104

评论数 0

原创 Python编程:从入门到实践(课后习题6)

9-1 餐馆 :创建一个名为Restaurant 的类,其方法__init__() 设置两个属性:restaurant_name 和cuisine_type 。创建一个名为describe_restaurant() 的方法和一个名为open_restaurant() 的方法,其中前者打印前述两项信...

2018-10-24 20:19:51

阅读数 272

评论数 0

原创 Python编程:从入门到实践(课后习题5)

8-1 消息 :编写一个名为display_message() 的函数,它打印一个句子,指出你在本章学的是什么。调用这个函数,确认显示的消息正确无误。 #8-1 def display_message(): print('I have learn Pyth...

2018-10-23 14:47:57

阅读数 179

评论数 0

原创 Python编程:从入门到实践(课后习题4)

7-1 汽车租赁 :编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息,如“Let me see if I can find you a Subaru”。 #7-1 car = input("what car are you want ") print("l...

2018-10-22 19:56:00

阅读数 103

评论数 0

原创 Python编程:从入门到实践(课后习题3)

6-1 人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键first_name 、last_name 、age 和city 。将存储在该字典中的每项信息都打印出来。 #6-1 info={'first_name':'y...

2018-10-21 21:47:38

阅读数 252

评论数 0

原创 Python编程:从入门到实践(课后习题2)

5-2 更多的条件测试 :你并非只能创建10个测试。如果你想尝试做更多的比较,可再编写一些测试,并将它们加入到conditional_tests.py中。对于下面列出的各种测 试,至少编写一个结果为True 和False 的测试。 检查两个字符串相等和不等。 使用函数lower() 的测试。...

2018-10-20 21:10:37

阅读数 163

评论数 0

原创 Python编程:从入门到实践(课后习题1)

****2-1 简单消息:将一条消息存储到变量中,再将其打印出来 message =("Hello,yuanchaochao") print(message) 2-2多条简单消息:将一条消息存储到变量中,将其打印出来;再将变量的值修改为...

2018-10-19 16:06:17

阅读数 418

评论数 0

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