2 skr爱码士

尚未进行身份认证

我要认证

学习就完事了

等级
TA的排名 10w+

C++-多态

多态多态的概念通俗的来讲,就是多种形态。具体点就是去完成某个行为,当不同的对象去完成时会产生不同的状态。比如:买票这个行为,当普通人买票时,是全价买票;学生买票时,是半价买票;军人买票时是优先买票。多态的定义及实现多态的构成条件多态是在不同继承关系的类对象,去调用同一个函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。...

2019-07-29 15:49:36

网络基础知识-传输层

传输层负责端与端之间的数据传输。也就是说进程与进程之间的数据传输,进程用端口来表示,所以也可以叫做端口和端口之间的传输。端口号端口号为065535,一般01023为知名端口,不推荐使用,在一台主机上表示一个进程。操作系统拿到网卡接收的数据之后,通过数据中的端口号知道数据放到哪一个socket缓冲区中五元组一条数据中包含的五个信息。源IP+源端口+目的IP+目的端口+协议主机上网络状态...

2019-07-06 16:53:48

C++-继承

C++继承继承的概念及定义继承的概念继承机制是面向对象程序设计使代码可以复用的常用手段,它允许程序员保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用是函数复用,继承是类设计层次的复用。最普通的继承例子class Person{public: void Print() {...

2019-07-03 10:33:21

网络基础知识-应用层

在了解网络整体模型之前学习了套接字编程和一些简单的网络知识。但是网络编程的理论基础是建立在多方面上的,比如数据在每一层是经过了怎么样的封装,每一层使用了哪些协议,每一层的协议又有哪些用途。只有掌握好这些基础知识,才能更好的成为一个服务器开发人员。应用层程序员写的一个个解决我们实际问题,满足我们日常需求的网络程序,都是在应用层完成的。那么应用层使用了哪些协议呢?自定制协议socket编程中...

2019-06-18 16:10:51

C++-内存管理

参考博客:https://blog.csdn.net/jing0611/article/details/4030237在最开始的学习中,老师一直在说一个关于C++的话题。**C++是一个极度追求性能的语言。**通过学习,这不是开玩笑,在我所学习的语言中,对内存的使用有如此的执着的“较真”也就是C++了。因为性能的缘故,一个内存不合理的分配,都可能在日后成为一个隐患,成为一个令人头疼的BUG。所...

2019-06-18 11:05:24

TCP的三次握手与四次挥手

TCP的三次握手与四次挥手关于题目的这个问题,在网络中有着非常重要的地位。因为客户端与服务端之间通过TCP协议,为了进行数据的传输会进行一系列的操作,这中间的操作就是TCP的三次握手与四次挥手。重新回顾TCP协议TCP协议称为数据传输协议,是可靠传输,面向连接的,并且面向字节流的。面向连接:通信之前先建立连接,确保双方在线。可靠传输:在网络正常的情况下,数据不会丢失。面向字节流:传输灵...

2019-06-13 21:41:39

Linux网络套接字编程(2)-TCP传输+多线程+多进程

TCP传输TCP的三次握手图解为TCP协议的传输过程。客户端操作服务端操作1、创建套接字1、创建套接字2、向服务端发起连接2、绑定地址信息3、发送数据3、监听(若有新的客户端,新建socket)4、接收数据4、接收已经连接成功的socket5、关闭套接字TCP传输-socket编程通过C++实现一个类来封装tcp协议//tcp...

2019-06-11 18:00:38

Linux网络编程套接字-UDP传输

网络编程套接字udp传输客户端1、创建套接字 socket()2、为套接字绑定地址 bind()3、发送数据(如果socket还没有绑定地址,这时候操作系统会选择一个合适的地址端口进行绑定)4、接收数据5、关闭套接字服务端1、创建套接字,通过创建套接字使进程与网卡建立联系,创建struct socket{…}2、为套接字绑定地址信息3、接收数据4、发送数据5、关闭套接字...

2019-06-06 15:32:43

Linux网络编程

网络编程了解网络名词IP地址:在网络中唯一标识的一台主机port端口:在一台主机上标识一个进程协议:通信双方的约定网络协议:网络通信环境中数据的约定格式通信协议标准:网络互联的前提协议分层在以往的了解知道协议具有多层,而分层就是为了协议分装,为了更好的使用。对服务,接口,协议进行明确的划分;形成标准实现起来就容易了OSI七层模型物理层,数据链路层,网络层,传输层,会话层,表示...

2019-06-04 18:07:14

C++-模板初了解

模板初阶泛型编程在C语言的学习过程中,经常会出现这么一个场景,我们需要交换两个数,但是我们每次又在另一个场景中,所以需要立即重写一个swap()函数,这就浪费了大量的时间。在C++的最开始我们学习了函数的重载,这解决了一些燃眉之急,但是当我们的类型多了,我们还是要不停的修改或者添加这么一类函数,时间还是被浪费了许多。这时候,新的知识就出来帮我们解决问题来了—-泛型编程泛型编程:编写与类型无...

2019-06-04 14:42:59

C++-类与对象(3)

类与对象(3)再学构造函数构造函数体赋值先构造一个带有全缺省的日期类class Date{ public: Date(int year,int month,int day) { _year = year; _month = month; _day = day; } private: int _year...

2019-06-02 22:18:32

Linux多线程(3)

线程安全的考虑关乎互斥锁和条件变量消费者与生产者模型当我们去超市买东西时,我们都认为我们是消费者,那些生产商品的都被认为是生产者。那么超市就被当作交易市场。这对比的我们的软件开发过程中:代码的某个模块负责生产数据,但是生产出来的数据不得不交给另一模块来对其进行处理,在这之间我们必须要有一个类似上述超市的东西来存储数据,这就抽象成了生产者与消费者模型其中,产生数据的模块,就形象地称为生产者。...

2019-05-31 15:23:35

C++-类与对象(2)

类与对象(第二部分)类的6个默认成员函数如果一个类中什么成员都没有,简称为空类。空类并不是什么都没有,任何类在我们不写的情况下,都会自动生成6个默认成员函数构造函数构造函数的概念构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的声明周期内只调用一次。构造函数的特性构造函数是特殊的成员函数,需要注意的是,...

2019-05-18 23:40:42

Linux多线程(2)

线程的知识点太多,太重要,所以分成三部分进行总结学习线程安全多个线程并发同一段代码时,不会出现不同的结果。常见对全局变量或者静态变量进行操作,并且没有锁保护的情况下,会出现该问题。多个线程对临界资源进行竞争操作时若不会造成数据二义性时则线程安全;否则,此时就是不安全的如何实现线程安全常见的线程安全的情况每个线程对全局变量或者静态变量只有读取的权限,而没有写入的权限,一般来说这些线程是...

2019-05-17 18:26:52

Linux多线程

多线程越深入的学习之后,经常能听到这么一个词----多线程。之前的学习经常会提到多进程,父进程在忙不过来的情况下,会创建子进程进行帮忙,这样就是一个多进程的任务。那么什么是多线程呢?线程概念在传统的操作系统中,进程就是一个运行中程序的描述信息----pcb,控制程序的运行。在Linux操作系统下,pcb是进程,因为Linux下线程是以进程pcb模拟实现线程;也有人称为轻量级进程。但是Lin...

2019-05-15 17:04:42

C++-类与对象

类与对象(第一部分)类与对象的初步认识很多语言都有这方面的区分,比如C语言是面向过程的语言,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。但是C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。类的引入在C语言中,结构体的使用只能定义变量,但是在C++中不一样,不仅可以定义变量还可以定义函数但在C++结构体的定义中,更喜欢用classl...

2019-05-14 11:14:11

C++入门

终于进入了C++的学习。正所谓学好C++,走遍全天下。C++可以说为我打开了新世界。不过数据结构的知识还是得不断地复习啊C++关键字关键字在C语言中就已经见过了许多比如最常见的if-else,for,int,double等等。只不过在C++中还会遇到更多的,以后会慢慢学习命名空间C++引入命名空间这个概念是因为在我们编程中可能写到大量的函数,比如我在某个头文件中写了abc()这样一个函数,...

2019-05-07 22:13:15

Linux进程信号

信号信号概念通知进程发生了某件事情导致了软件中断----会打断当前的阻塞操作,去处理事情信号的种类信号有不同的种类,每个信号都对应了不同的事件通过命令行kill -l可以查看信号的种类在图中可以看到这些都是信号的种类,总共有62个种信号1-31---->每个都有各自对应的事件 非可靠信号/非实时信号34-64---->后续添加的信号 可靠信号/非可靠信号信号...

2019-05-01 11:18:44

Linux进程间通信

进程间通信一般简称为IPC----InterProcess Communication。是指在不同进程之间传播或交换信息。进程间通信有这么几个方式:管道(命名管道/匿名管道),共享队列,消息队列,信号量进程间为什么要通信呢?因为进程的独立性,因此想要通信必须能够共同访问一个相同的媒介。进程间通信的目的:数据传输,数据共享,进程间的访问控制。也正因为通信的目的不同,使用场景不同,因此操作...

2019-04-22 15:00:12

数据结构之二叉树

树的概念树是一种非线性的结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把他叫做树是因为它看起来像一个倒挂的树,它的根是朝上的,但是它的叶是朝下的。它具有以下特点:每个节点有零个或多个子结点;没有父结点的称为根节点;每一个非根节点有且只有一个父结点;除了根节点外,每个子节点可以分为多个不相交的子树。关于树,还有一些相关知识,我们需要了解。节点的度:一个节点含有的子树的个...

2019-04-20 16:30:54

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。