自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chan的博客

博客纯属个人见解,如有错误,请见谅。

  • 博客(73)
  • 资源 (2)
  • 收藏
  • 关注

转载 Xshell免费版本安装过程

发现本机的Xshell 5过期了用不了。在百度里搜索,下载安装后还是不可以使用。需要购买注册,后寻的一方法,分享给大家。1.官网进入官网,然后点击Download下方的Free License菜单。 https://www.netsarang.com/2.预下载点击下方Download进行下载: 3...

2018-05-12 15:19:46 18209 1

原创 解决虚拟机选择桥接模式连不上网(CentOs6.5)

保证你Vmware里面的虚拟机是关机状态右键点击电脑屏幕右下角小电脑图标,选择打开网络与共享中心,然后点击弹出来的窗口左上角的“更改适配器设置”。这里指的是你Windows系统下的网络共享中心。 然后点击你当前连接的网络,按照下面步骤进行即可。在打开的窗口中选择本地连接,点右键,选择属性在弹出的窗口中选择VMware Bridge Portocol,点卸载,然后点是卸载完成后以管理员身...

2018-03-17 10:07:21 12830 8

原创 猫咪的有趣生活

2022-03-26 12:06:58 475

原创 Python-文件读写和嵌套循环

一、文件读写1、文件打开方式 openfileDir = 'D:/pyTest1.txt'fileDir2 = 'D:\\prText1.txt' #代码层面一般用两个\ 因为如果文件的第一个名为 n 就有问题了fileDir3 = r'D:\pyText2.txt' # r取消转义file_object = open(fileDir,encoding='UTF-8')#如果文件中有中文...

2019-11-24 22:48:38 1018

原创 python-字符串格式化输入和循环

一、字符串格式化1、% 格式化方法格式化传数据name = 'tom'age = 20info = '我叫%s,年龄是%s' %(name,age) # %s---这个位置传入的值时字符串,解释器会自动转#格式化不允许传入的参数是列表%s 转换为字符串%d 转换为有符号的十进制数值%f 转换为浮点数%x 转成无符号十六进制数print('%5d' %56)#指定宽度...

2019-11-24 22:30:54 737

原创 python--函数简介,常用函数

函数定义就是告诉解释器有这个函数,但是函数里面的代码不会执行def func: print('hello')函数调用运行函数体里面的代码函数的参数:在函数定义的地方,参数叫做形参函数调用的地方参数叫做实参:实际传进去的参数传参的形式:func(a = 1,b = 2) 可以指定参数进行传值func(b = 1,a = 2) 可以不按照参数顺序进行传值func(1,b...

2019-11-22 00:22:43 200

原创 使用Python条件判断实现简单的电话号码归属地判断

判断号码的归属地#中国移动ChinaMobile = ['134','135','136','137','138','139','147','150','151','152','157','158','159','178','182','183','184','187','188','198']#中国联通ChinaUnicorn = ['130','131','132','145','15...

2019-11-19 23:09:04 2502

原创 Python--赋值与深浅拷贝

赋值赋值:就是给对象起一个别名info = [1,2,3,4,5]b = a #a 与b 指向的是同一个对象,当改变b的值时会对a产生影响,当改变a的值时也会对b产生影响浅拷贝浅拷贝使用函数:copy 顾名思义就是拷贝的不够彻底,浅尝辄止会拷贝出一个父列表的新地址对象。对于父列表,不是同一个对象,里面的子列表指向的还是是同一对象import copyalist = [10,...

2019-11-18 23:11:09 130

原创 Python--布尔和条件运算

布尔1、布尔类型:True、False 注意第一个字母大写2、布尔表达式:= 是赋值,==是比较 != :不等于3、is 判断是否完全相等(会比较内容、地址)4、字符串的比较:是根据第一个字母的ASCII值来进行比较的print('c'>'bd') #Trueprint('abcd'>'bd')#False 5、in 和 not inin:前者可以是后者的一个元素...

2019-11-18 22:46:35 1670

原创 Python基础--元组和列表

学习Python的第一天开始学习Python的第一天,以后坚持每天打卡,总结,不管下班的有多晚,都要发一篇,坚持下去。字符串1、拼接,Python支持负下标print("helloworld!\n"*3)#输出为三行helloworld!info="helloword"print(info[0],info[len(info)-1])#h,d 输出第一个元素和最后一个元素print(i...

2019-11-17 20:36:39 255

转载 开发产品的三个验证阶段

开发新产品的三个验证阶段(EVT/DVT/PVT)1、EVT, Engineering Validation Test是针对工程原型机的验证,对象很可能是一大块开发板,或是很多块开发板;关键是要有足够时间和样品。通常,如果是新平台,需要花的时间和精力可能更多,会有很多问题要解决,甚至有很多方案要对比;而修改既有产品的话,这个阶段会简单很多,甚至省略。这一阶段的重点是尽可能多的发现设计问题,...

2019-06-18 21:47:49 4861

转载 生产者消费者模型

生产者-消费者问题,也叫做缓存绑定问题(bounded-buffer),是一个多进程同步问题。 即有两个进程:制造少和消费者,共享一个固定大小的缓存 制造商的工作是制造一段数据,放进缓存,如此重复。 消费者一次消费一段数据,从缓存中取出。 要保证不让制造商在缓存还是满的时候仍要向内写数据,不让消费者试图从空的缓存中取出数据。 问题分析:要避免多个生...

2018-06-10 20:25:02 393

转载 select poll epoll 总结(转载)

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用...

2018-06-10 19:44:55 225

原创 黑盒和白盒测试

黑盒测试:是测试中的比较重要的手段。又称为数据驱动的测试或者输入输出驱动测试。 所谓黑盒,也就是说相当于把一个东西用一个黑盒子装着,就比如说手机,外表一个壳子,里面的电路结构我们并不知道,这个黑盒也是这个意思,那么我们应该怎样来发现内部存在怎么样的问题呢?是否符合我们的要求?这就需要测试,这种在不知道内部结构的情况下进行的测试叫做黑盒测试。 怎么测试? 测试的标准就是“穷举输入测试”。...

2018-05-07 10:11:14 4139

原创 顺序表和链表优缺点

顺序表:他是在计算机内存中以数组形式保存的线性表。使用一组地址连续的存储单元依次存储数据元素的线性结构。单链表:是一种链式存储的结构。用一组地址任意的存储单元存放线性表中的数据元素。(存储地址空间不需要是连续的)优缺点:空间的开辟 顺序表是需要开辟连续的空间,当需要的空间不够,而有需要插入的时候,就需要再重新开辟空间,将原先的内容拷贝到新的空间,这就开销比较大了。(...

2018-04-03 12:23:23 2447

原创 指针和引用

引用:就是给已经存在的变量起一个别名 定义的格式:类型&引用变量名 = 已定义过的变量名。 引用的特点:1、一个变量可以取多个别名 2、引用必须初始化 3、引用只能在初始化的时候引用一次,不能改变为再引用其他的变量(从一而终)可以引用一个引用的变量(别名的别名):int& b = a; int &c = b;const...

2018-04-03 12:17:12 155

原创 常见操作系统面试题

进程线程的区别: 1. 进程是资源的分配和调度的一个独立单元,而线程是CPU调度的本单元 2. 同一个进程可以包含多个线程,并且线程共享整个进程的资源(寄存器,堆栈,上下文)一个进程至少包含一个线程。 3. 进程的创建调用fork或者 vfork,而线程的创建调用pthread_create(),进程结束之后他所有的线程销毁都会销毁,而线程的结束不会影响该线程中其他的线程结束 4...

2018-04-02 21:03:29 195

原创 网络套接字编程(UDP)

在了解网络编程之前,我们要先了解一下基础知识。IP地址IP协议有两个版本,ipv4和ipv6。通常情况下,在没有特别说明的情况下,我们都是用的ipv4协议。 1、IP地址在IP协议中是用来标识网络中不同主机的地址 2、对于iPhonev来说,IP地址是一个4字节,32位的整数 3、我们通常也用点分十进制的字符串来表示IP地址,列入 192.168.0.1;用点分割...

2018-03-26 21:35:02 266 2

原创 Windows下的问题

最近不知道怎么了,最近电脑只要一打开就会出现下面的错误,超级烦。百度发现是风行加速器的问题。然后再电脑上把风行加速器卸载了,然后才好^_^开心 你按照提示的这个路径进去就会看到,那其实是风行加速器的安装路径,所以,卸载之后,就好了。...

2018-03-24 18:01:59 192

原创 虚拟机无法联网

虚拟机无法联网。之前因为调到了host模式,然后很久没用,再想联网的时候发现无法联网了,然后百度发现这个很好用。分享一下。 亲测可用。解决方案...

2018-03-06 20:22:39 181

原创 Linux下软件安装的几种方式

yum工具yum list 列出所有可用rpm包资源 搜索某个包: yum search ‘keywords’或 yum list |grep ‘keywords’ yum 安装包: yum install -y filename(包名) yum 卸载包: yum remove -y filename (包名) yum 升级包: yum update -y filename(包名

2017-12-15 23:39:35 1977

原创 为什么经常用const来代替宏

常量:是一种标识符,值在运行期间不变。C语言用#define,C++也可以用,它还可以用const来表示常量。 常量可以使程序的可读性变强,想一下如程序中全是变量字符串,会不会很麻烦呢?我们写程序会相当复杂。 宏和const具体就不介绍怎么使用了。注意的是,宏后面没有分号,const有的。const和宏的比较:1.const是有类型的,而宏是没有的。它等于是给某个数字或者字符串用特定的名字来表示

2017-12-10 20:45:41 2750

原创 进程基础

1.什么是进程?进程的概念:程序的一个执行实例,正在执行的程序。简单来说,比如你打开了一个APP这就是一个进程,在Linux系统下,在命令行一个ls的命令也是一个进程。从内核的角度来说,进程是担当分配系统资源(CPU时间,内存)的实体。2.怎么描述进程进程的所有信息都放在一个叫做进程控制块的数据结构中,称它为PCB。Linux操作系统下的PCB称为task_struct。 每一个进程都有一个tas

2017-11-28 22:09:31 184

原创 Linux下的目录及一些重要命令

进入目录需要哪些权限, 在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.我们知道Linux下一切皆文件,所以说一个目录当然也是文件,一个文件的权限有三种,分别是 r w x 读,写,和 执行权限。 那如果文件没有了这几个权限?我们还能够对它进行增删查(cd, touch, ls, rm, mv等)操作码?下面我们来看一下具体的操作。 说明需要

2017-11-11 21:26:21 303

原创 Map和Set简单使用

学过红黑树之后,就自然学到了map和set,作为STL中较为普遍用到的容器,我们应该熟练的使用它,下面简单介绍他们的具体使用map 和set的底层就是红黑树,map是K,V模型,而set是K模型。map的简单介绍 以上就是map的内部实现的成员函数,构造,插入删除,等。map作为K,V模型,可以有很多用途,比如实现一个字典。map实现一个字典#include<iostream>using na

2017-11-07 20:44:06 386

原创 C++中的类型转换

C++中的类型转换:static_cast、reinterpret_cast、const_cast、dynamic_xast一般情况下我们写的类型转换,就是加上一个圆括号 float a;int b =(int)a; 但是这样有缺陷:因为所有的形式都是一样的。所以可视性就会很差,如果发生错误,不容易找到错误的原因。所以c++引入了强制类型转换操作符。上面的四种。Static_cast它用于非多态

2017-08-24 19:05:15 282

原创 模拟实现memcpy和memove

memcpy首先我们应该知道memcpy有什么作用,他是一个内存拷贝函数,函数原型如下:void * memcpy ( void * destination, const void * source, size_t num );它的作用就是将源拷贝到目标,拷贝num个字节。下面看具体代码实现。void *MyMemcopy(void * dest, const void * src, size_t

2017-08-24 18:43:19 420

原创 inode号与软硬链接

1什么是inode理解inode要从文件存储说起 文件存储在硬盘上,硬盘的最小存储单元叫做扇区(sector)。每个扇区存储512字节(相当于0.5kb) 操作系统读取硬盘的时候,不会一个一个扇区的读取,这样效率太低,而是一次性读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的”块“,是文件存储的最小单位。“块”的大小,最常见的是4kb,即连续八个sector组成一个blo

2017-08-06 18:03:28 541

原创 C++中模板为什么不支持分离编译

程序运行的过程首先我们知道, 一个程序的执行过程分为四个部分,预处理,编译,汇编,链接 下面用一副图来说明末班的分离编译这里就是普通的代码,是可以进行分离编译的,但是为什么在模板中就不可以了呢,下面我们来看一段简单的代码,来进行分析//template.htemplate<class T>class AA{public: AA();private: T _a;};//

2017-08-05 15:12:24 340

原创 C++中的多态和多态对象模型

什么是多态所谓多态,也就是说“多种形态” C++中虚函数就是为了实现多态 虚函数–类的成员函数前面加上virtual关键字,则这个函数就是虚函数 多态的形成条件: 1、虚函数的重写 2、父类的指针或者引用调用重写的虚函数 例如:A*p = & b; A是一个父类,b是一个子类对象 这个时候就是形成了多态。这个时候调用函数与类型无关,只与指向的对象有关,指向谁就调用谁。虚函数的重写:当子

2017-07-27 21:03:05 359

原创 CRC校验

什么是CRCCRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。CRC的基本原理在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,

2017-07-23 18:26:08 712

原创 TCP中常见的定时器

TCP 是提供面向链接的、全双工的、面向字节流的可靠性服务。 TCP 提供可靠的传输层,它使用的方法之一就是确认从另一端收到的数据。但是数据和确认都可能会丢失,TCP 通过在发送时设置一个定时器来解决这个问题。如果当定时器溢出时还没收到确认,它就会重传该数据。常见的四种TCP定时器(Timer):重传计时器(Retransmission Timer) 为了控制丢失的报文段或丢弃的报文段,也就是对

2017-07-23 17:22:32 257

原创 TCP中URG与PSH的联系

什么是URG/PSHURG(紧急位):紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指向包内数据段的某个字节(数据从第一字节到指针所指字节就是紧急数据,不进入接收缓冲就直接交给上层进程,余下的数据要进入接收缓冲的) PSH(急迫位):在一个交互程序中,当客户发送一个命令给服务器时,它设置PSH标志并停下

2017-07-23 16:29:07 376

原创 菱形继承的二义性和数据冗余问题

什么是继承继承是面向对象复用的重要手段。通过继承定义一个类,继承是类型之间的关系建模,共享公有的东西,实现各自本质不同的东西。 继承的方式分为: 公有继承、保护继承、私有继承 总结: 1.基类的私有成员在派生类中是不能被访问的,如果一些基类成员在类外不想被基类对象直接访问,但需要在派生类中能访问,就定义为保护的。可以看出保护成员限定符是因为继承才出现的。 2.public继承是一个接口

2017-07-20 22:57:52 512

原创 C++实现双链表

双链表主要实现了头插,头删,尾插尾删,任意位置的插入删除,链表的逆置以及链表的深浅拷贝在这里说明一下,链表用的最多的就是数据的插入什么的,所以这里解决深浅拷贝问题,用的是深拷贝,单链表,顺序表也是一样,都是用了深拷贝。 双向链表相比较于单链表而言,相对复杂一点,有两个指针,来进行实现链式结构 先面试具体代码#include<iostream>#include<assert.h>using n

2017-07-20 18:51:10 278

原创 C++实现单链表

单链表相对于顺序表,多了一个next指针,用来连接数据,构成链式结构 下面是代码#include<iostream>#include<assert.h>using namespace std;typedef int DataType; struct SListNode { SListNode* _next; DataType _data; SListNode(D

2017-07-20 14:26:23 337

原创 C++实现顺序表

顺序表可以看做是一个数组用来存放数据下面用C++来实现顺序表#include<iostream>#include<assert.h>using namespace std;typedef int DataType;class SeqList//顺序表{private: DataType*_array; size_t _size; size_t _capacity;

2017-07-20 14:21:10 625

原创 引用计数的写时拷贝

什么是写时拷贝首先我们需要知道什么是写时拷贝,写时拷贝,通俗点说也就是写的时候拷贝。那么什么是写的时候拷贝呢,这又是什么意思呢? 举个例子,创建一个日期类的对象,然后又用这个对象拷贝构造了多个对象,也就是说这几个对象所指向的是同一块空间,那么当你对其中一个对象进行读操作的时候,什么问题都不会有,那么当你对某个对象进行写操作的时候,问题就出现了,一个对象的改变会影响其他对象,但是这并不是我们想...

2017-07-15 16:56:58 479

原创 C++中的动态内存管理

malloc/free和new/delete之间关系和差异相同点:都可用于申请动态内存和释放内存 不同点:(1)操作对象不同 malloc/free是C++/c语言的标准库函数,new/delete是c++的运算符,对于非内部数据类型的对象而言,只有malloc、free是无法满足动态对象的要求的。因为对象在创建的时候会自动调用构造函数,对象消亡时会自动调用析构函数。因为malloc/free是库

2017-07-14 18:55:01 497

原创 C++对传参和传返回值时构造的优化处理

首先来介绍一下C++中的四个默认函数(1) 构造函数 成员变量为私有的,要对它们进行初始化,必须用一个公有成员函数来进行。同时这个函数应该有且仅在定义对象时自动执行一次,这时 调用的函数称为构造函数(constructor) 。 构造函数是特殊的成员函数,其特征如下:a. 函数名与类名相同。 b. 无返回值。 d. 构造函数可以重载。 e.构造函数可以在类中定义,也可以在类外定义

2017-07-12 20:14:37 783

线程池代码

比较简单的实现了一个线程池,,欢迎下载,,,,,,,

2018-06-10

简历模板,官网卖10块

互联网行业专用模板,欢迎下载使用,,,,,,,,。

2018-06-08

空空如也

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

TA关注的人

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