自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

转载 p2p---p2p通信概念与原理

文章目录1.简介2.术语防火墙(Firewall):网络地址转换器(NAT)基本NAT(Basic NAT):网络地址-端口转换器(NAPT):锥形NAT(Cone NAT):对称NAT(Symmetric NAT)1) 全锥形NAT(Full Cone NAT)2) 受限锥形NAT(Restricted Cone NAT)3) 端口受限锥形NAT(Port-Restricted Cone NAT...

2019-04-12 00:06:46 1368

原创 常见计算机网络知识大全

因特网是当今世界上最大的网络, 是”网络的网络”. 即因特网是所有网络互连起来的一个巨型网络.因特网的组成 边缘部分 : 主机核心部分 : 大量网络和连接这些网络的路由器(此路由器不是我们家用的路由器)以太网以太网是现在最常用的局域网通信协议, 以太网上传输的是MAC帧. 由于以太网同一时间只允许一台计算机发送数据, 所以必须有一套检测机制, 那就是CSMA/CD协议 :...

2019-04-10 23:33:52 1045

原创 python-数据类型-总结

extend() 和 append() 的不同之处在于:extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。【注】remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。extend(obj):列表末尾追加一个序列,【注】该序列可以是单个元素,也可以是列表、元组等,但不能是单个的数字。del 是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素。

2022-09-26 10:21:31 492 1

原创 关键字和内置函数

Python关键字和内置函数

2022-09-26 10:20:19 280

原创 vscode python终端中文乱码 解决一种方法

安装code runner插件因为默认没有配置python编码方式加上就行。

2022-08-22 19:57:33 212

转载 2022 centos7-yum安装mysql5.7记录

因为的的CentOS从官网下载的,可能比较老,安装其他软件的时候总是出现一些奇怪的问题,所以推荐升级。如果直接设置密码的话可能会报错,因为MySQL有密码设置的规范,这里我先修改两个属性(设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。这里我设置密码长度的最小值是3,也就是说我的密码长度必须够3位数,比如123。查询mysql库中的user表,可以看到root目前只支持localhost。提示:如果防火墙已经关闭了,这一步可以省略。编辑 /etc/my.cnf。....

2022-08-03 13:48:18 189

转载 面试中关于Redis的问题

什么是Redis? Redis 是一个使用 C 语言写成的,开源的 key-value 数据库。。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都...

2019-04-27 23:04:08 240

原创 大小端详解(判断+转换)

一、什么是大端和小端所谓的大端模式,就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。所谓的小端模式,就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。简单来说:大端——高尾端,小端——低尾端举个例子,比如数字 0x12 34 56 78在内存中的表示形式为:1)大端模式:低地址 -----------------> 高地址0x12  | ...

2019-04-25 00:14:46 41589 8

原创 c++string实现的大数加减乘除

class BigInt{public: BigInt(string str) :strDigit(str){} friend ostream& operator<<(ostream &out, const BigInt &src); friend BigInt operator+(const BigInt &lhs, const BigIn...

2019-04-13 21:32:45 2077

转载 vmware---桥接、NAT以及仅主机模式的详细介绍和区别

         在使用VMware Workstation(以下简称:VMware)创建虚拟机的过程中,配置虚拟机的网络连接是非常重要的一环,当我们为虚拟机配置网络连接时,我们可以看到如下图所示的几种网络连接模式:桥接模式、NAT模式、仅主机模式、自定义网络连接模式。那么这几种网络连接模式都各自有什么主要用途,它们之...

2019-04-12 18:09:21 9570 2

原创 计算机网络---内网ip与外网ip的区别

文章目录什么是内网IP:什么是公网IP(外网IP):什么是NAT(Network Address Translation,网络地址转换):内网和外网的区别什么是内网IP: 一些小型企业或者学校,通常都是申请一个固定的IP地址,然后通过IP共享(IP Sharing),使用整个公司或学校的机器都能够访问互联网。而这些企业或学校的机器使用的IP地址就是内网IP,内网IP是在规划IPv4协...

2019-04-12 17:32:18 1404

原创 计算机网络基础知识&&网络编程 目录总结

➊ 网络编程基础知识:《TCP/IP详解 - 第11章·UDP:用户数据报协议》《TCP/IP详解 - 第17章·TCP:传输控制协议》《TCP/IP详解 - 第18章·TCP连接的建立与终止》《TCP/IP详解 - 第21章·TCP的超时与重传》《通俗易懂-深入理解TCP协议(上):理论基础》《通俗易懂-深入理解TC...

2019-04-12 00:50:14 265

原创 《P2P技术详解》系列文章目录

《P2P技术详解》系列文章➊ 本文是《P2P理论详解》系列文章中的第2篇,总目录如下:《P2P技术详解(一):NAT详解——详细原理、P2P简介》(本文)《P2P技术详解(二):P2P中的NAT穿越(打洞)方案详解》《P2P技术详解(三):P2P技术之STUN、TURN、ICE详解》➋ P2P相关的其它资源:《通俗易懂:快速理解P2P技术中的NAT穿透原理》《最新收集NAT穿越...

2019-04-12 00:46:01 477

转载 全网网络&&即时通信技术博客总结分类

全站即时通讯技术资料分类[1] 网络编程基础资料:《TCP/IP详解 - 第11章·UDP:用户数据报协议》《TCP/IP详解 - 第17章·TCP:传输控制协议》《TCP/IP详解 - 第18章·TCP连接的建立与终止》《TCP/IP详解 - 第21章·TCP的超时与重传》《理论经典:TCP协议的3次握手与4次挥手过...

2019-04-12 00:35:23 172

转载 浅谈APT攻击

如今高级持续性威胁(Advanced Persistent Threat,APT)已成为人尽皆知的“时髦术语”。越来越多的企业开始对其高度关注,政府部门也面临着遭受APT攻击的危险,在安全顾问的每一篇分析报告中都会提及它的“大名”。众多企业机构惨遭“不测”的一个主要原因在于它们没有发现真正的漏洞所在并加以修复。如果用户还在疲于应对三年前的威胁,毫无疑问,这将于事无补。APT促使企业和机构必须将重...

2019-04-10 22:00:49 16569 1

转载 C++---enum枚举量声明、定义、使用与枚举类详解

       众所周知,C/C++语言可以使用#define和const创建符号常量,而使用enum工具不仅能够创建符号常量,还能定义新的数据类型,但是必须按照一定的规则进行,下面我们一起看下enum的使用方法。步骤(一)——枚举量的声明和定义(1)首先,请看下面的语句:e...

2019-04-10 21:44:40 555

转载 Markdown ---常用语法图文全面详解

目录1. 快捷键2. 基本语法2.1 字体设置斜体、粗体、删除线2.2 分级标题2.3 链接2.4 分割线2.5 代码块2.6 引用2.7 列表2.8 表格3. 常用技巧3.1 换行3.2 缩进字符3.3 特殊符号3.4 字体、字号与颜色3.5 链接的高级操作1.行内式2.参考式链接3.内容目录4.锚点5.注脚3.6 背景色3.7 emo...

2019-04-09 21:17:08 841

原创 C++11 ---右值引用 ,转移语义,完美转发

目录左值引用和右值引用面向对象的效率问题右值引用的拷贝构造和operator=赋值函数一道笔试题函数接口返回容器引用折叠std::move移动语义std::forward完美转发左值引用和右值引用在说右值引用之前,先回忆一下C++传统的左值引用,左值引用示例代码:int main(){ int a = 10; int &b = a; // 定义一个左值引用变量 b = 20;...

2019-04-09 03:00:03 1597 3

原创 c++11---智能指针

智能指针介绍学习C++的人,一直在接触裸指针,一边感受着它的强大,一边感受着它的坑爹。当然,坑不坑爹在于开发者,指针本身近乎完美,但奈何用的人比较猥琐,给自己埋下无数的坑,还哭喊着指针不好用,那么今天要介绍的智能指针可以释放大家在使用裸指针时的一些压力,当然智能指针无法替代裸指针的全部功能。裸指针到底有什么不好,写过一些C++代码的人应该都能知道,比如下面的原因:忘记释放资源,导致资源泄露...

2019-04-09 02:09:10 213

原创 c++ 11---右值 ,左值,右值引用(1)

右值与左值:在C++11中所有的值必属于左值、右值两者之一,右值又可以细分为纯右值、将亡值。在C++11中可以取地址的、有名字的就是左值,反之,不能取地址的、没有名字的就是右值(将亡值或纯右值)。举个例子,int a = b+c, a 就是左值,其有变量名为a,通过&a可以获取该变量的地址;表达式b+c、函数int func()的返回值是右值,在其被赋值给某一变量前,我们不能通过变量名找...

2019-04-01 01:55:01 180

原创 排序----冒泡排序和双向冒泡

冒泡排序 主要思想 冒泡排序(Bubble Sort)是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。执行步骤:依次比较相邻的两个元素的大小。如果前一个数据大于后一个数据,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 针对所有的元素重复以上的步骤,除了最后一个...

2019-03-26 00:45:11 540

原创 排序 --- 基数排序(桶排序)

基数排序(桶排序) 基本思想: 时间复杂度与空间复杂度分析: 基数排序分类:LSD+MSD 1.LSD算法分析: 最低位优先法,简称LSD法:先从最低位开始排序,再对次低位排序,直到对最高位排序后得到一个有序序列。 2.MSD算法分析: 代码实现 1.(LSD) #include<stdio.h>...

2019-03-21 15:18:19 215

原创 linux系统编程---fork()函数

fork()函数目录fork函数的基本使用头文件:#include函数原型:pid_t fork(void)返回值:fork()的写时拷贝父子进程的执行顺序:如何区分父子进程?当进程调用fork后,当控制转移到内核中的fork代码后,内核会做4件事情:父子进程之间能够使用全局变量通信?fork函数的底层做了什么vfork和fork的之间的比较:v...

2019-03-06 20:52:04 326

转载 操作系统---进程的状态和转换

进程的状态和转换三态模型一个进程从创建而产生至撤销而消亡的整个生命周期,可以用一组状态加以刻划,根据三态模型,进程的生命周期可分为如下三种进程状态: 1. 运行态(running):占有处理器正在运行 2. 就绪态(ready):具备运行条件,等待系统分配处理器以便运行 3. 等待态(blocked):不具备运行条件,正在等待某个事件的完成下面是三个状态的转换图: 运行状态的进程将...

2019-03-06 18:07:13 1313

原创 计算机组成原理---32位的CPU&&64位CPU与32位os&&64os的区别与联系

基本概念32位的CPU与64位CPU以下内容摘自维基百科: 64 位 CPU 是指 CPU 内部的通用寄存器的宽度为 64 比特,支持整数的 64 比特宽度的算术与逻辑运算。那么 32 位 CPU 同理。 一个 CPU,联系外部的数据总线与地址总线,可能有不同的宽度;术语“64位”也常用于描述这些总线的...

2019-03-06 01:11:49 1936

转载 C++ --- const总结(2)常对象,常变量,常成员函数详解

C++ 《==》 const总结(2)常对象,常变量,常成员函数详解 &amp;nbsp;既要使数据能在一定范围内共享,又要保证它不被任意修改,可使用const。·&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;用const修饰的声明数据成员称为常数据成员

2019-02-26 22:39:37 534

原创 C++---const总结(1)const与指针&&常引用

const总结(1)const与指针&&常引用目录const总结(1)const与指针&&常引用const在c/c++的区别:c中的const:c++中的const:const与指针const与一级指针const与二级指针 const与引用---常引用(类型名 &引用名)面试题:(测试分析) const在...

2019-02-26 22:34:00 486

原创 局部对象&&静态对象生命周期 || new 创建的对象的生命周期

局部对象&&静态对象生命周期 || new 创建的对象的生命周期 局部对象&&静态对象生命周期 非静态局部对象特点:在定义它的函数中可以使用,函数外不可访问存储位置在栈区当函数的控制路径经过变量定义语句时创建该对象,当到达定义所在块的末尾时销毁它static局部对象特点:函数内的static对象存储位置在全局数据区定义它的函数中...

2019-02-26 20:56:50 1480

原创 对象---关于对象的生命周期考题的分析

对象---关于对象的生命周期考题的分析目录对象---关于对象的生命周期考题的分析综上小结:面试例题:小结:#include <iostream>using namespace std;class Test{public: Test(int data = 100) : ma(data) { cout << "Test(in...

2019-02-26 20:36:23 202

原创 Fork <2> --- 父子进程继承文件操作符与fork()顺序引发的问题

父子进程继承文件操作符与fork()顺序引发的问题目录父子进程继承文件操作符与fork()顺序引发的问题父进程先打开文件,再进行fork()操作先进行fork()操作,父进程再打开文件 总结:Linux的进程描述task_struct{}中有一个数组专门用于记录一打开的文件,其中文件描述符作为该数组的下标,数组元素为指向所打开的文件所创建的文件表项。文件表项是用于描述文件当...

2019-02-23 16:27:38 457

转载 Linux文件系统详解

Linux文件系统详解 Linux上的文件系统一般来说就是EXT2或EXT3,但这篇文章并不准备一上来就直接讲它们,而希望结合Linux操作系统并从文件系统建立的基础——硬盘开始,一步步认识Linux的文件系统。1.机械硬盘的物理存储机制现代计算机大部分文件存储功能都是由机械硬盘这种设备提供的。(现在的SSD和闪存从概念和逻辑上都部分继承自机...

2018-12-10 15:51:05 155

转载 虚拟内存vs物理内存

第一层理解1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构&nbsp;2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个新进

2018-12-03 23:11:38 222

转载 二级指针的作用详解

欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46629065一、概念在如下的A指向B、B指向C的指向关系中:首先C是"一段内容",比如你用malloc或者new分配了一块内存,然后塞进去"一段内容",那就是C了。C的起始地址是0x00000008...

2018-12-03 23:09:52 245

转载 深入理解程序从编译到运行

From:http://blog.chinaunix.net/uid-22327815-id-3540305.html从Hello World说程序运行机制:http://www.sohu.com/a/132798003_505868C/C++中如何在main()函数之前执行一条语句?:https://www.zhihu.com/qu...

2018-12-03 23:06:31 266

原创 通配符匹配(C语言实现)---(1)单个字符串包含通配符

通配符匹配(C语言实现) 实现 方法(1):递归实现 bool isMatch(const char *s, const char *p){ assert(s != NULL &amp;&amp; p != NULL); if(*p == '*') { while(*p=='*'){p++;}//跳出连续的* if(...

2018-12-01 00:02:31 3594 2

原创 memcmp用法&&实现

memcmp用法&&实现目录memcmp用法&&实现用法:实现 :strcmp && memcmp区别 用法: 头文件:<memory.h>或 <string.h>函数功能:比较内存区域buf1和buf2的前count个字节。该函数是按字节比较的函数返回值: 当bu...

2018-11-28 16:38:41 4965 1

原创 memset 用法&&代码实现

memset 目录memset 基础知识:常见用法:代码实现:其他(注意): 基础知识:头文件:&lt;string.h&gt;函数原型:extern void *memset(void *buffer, int c, int count) (buffer:为指针或是数组    c:是赋给buffer的值    count:是buffer的长度.)函数功...

2018-11-28 11:31:59 800

原创 memcpy && memmove 的代码实现和区别

memcpy &amp;amp;amp;&amp;amp;amp; memmove两者的相同点:实现内存上的拷贝,都在&amp;amp;lt;string.h&amp;amp;gt;头文件中memcpy:函数原型:void *memcpy(void *dst, const void *src, size_t count)函数功能:memcpy()函数从src内存中拷贝n个字节到dest内存区域,但是源和目的的内存区域不能重叠。返回值:memcpy.

2018-11-28 02:08:52 134

原创 字符串(3)---删除字符串中的多余空格

删除字符串中的多余空格实现了删除字符串头尾部的空格和字符串中多余空格void deblank(char *string){ assert(string!=NULL); char *a=string; char *b=string; int i=0; int j=strlen(string)-1; while(string[i]==' '){i++;} while(string[...

2018-11-25 01:14:16 288

原创 字符串(2)---字符转数字 && 数字转字符的实现

字符串(2)—字符转数字&amp;&amp;数字转字符的实现字符转数字int a_to_i(char *src){ assert(src!=NULL); int num=0; while(*src==' '){src++;}//去除字符串前面的空格 while(*src=='-'){printf("-");src++;}//碰到符号处理 while(isdigit(*src))...

2018-11-25 01:11:39 585

空空如也

空空如也

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

TA关注的人

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