自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【计算机网络】面试官眼中的 TCP

我们使用的TCP是面向连接的可靠性传输,所以TCP协议的通讯过程必然要涉及建立连接和断开连接的过程,即常听到的面试官口中:三次握手和四次挥手过程;当我们和面试官 吧啦吧啦~讲完过程以后,立马有一个新问题:TCP是如何保证可靠性的,又是如何提高性能的?我们再次认真的讲完以后,还会有TCP出现的粘包问题该怎样解决?其他问题?所以,我接下来的任务就是一一攻破它们!!

2019-08-28 19:13:14 599 3

原创 【计算机网络】面试常问:HTTP协议中GET,POST,PUT方法的区别

我在前面博客:详解HTTP协议中讲到HTTP协议的一些方法,但是被面试官问到最多的是get和post方法的区别,虽然很多人都知道,但是并不能让面试官满意,所以我在这里就重点比较获取数据的三种方法:GET,POST,PUT方法的区别1. get 和 post 方法比较get和post方法主要有以下五点区别:安全性:post方法更安全传输资源的大小:post能传输的资源更大传输资源的数据类...

2019-08-28 18:40:26 3674 4

原创 【计算机网络】应用层——详解HTTP协议

协议是一种“约定”。 约定的方式有两种,其中字符串之间可以通过socket进行传输,而结构化数据可以通过序列化和反序列化进行传输。这使得应用层的数据可以通过某种协议,完成资源的请求从而使用。接下来,我主要讲解HTTP协议的内容。

2019-08-27 22:09:24 867

原创 【计算机网络】传输层——多方面比较TCP和UDP的区别

说起传输层,大家不免会直接想到TCP和UDP。大家都知道TCP和UDP是有区别的,但是究竟区别有多大呢?和我一起从下面五个方面看看吧。1. TCP与UDP 传输的异同2. TCP和UDP 套接字编程流程图3. UDP和TCP 协议通讯过程4. TCP和UDP 协议段格式5. 基于TCP和UDP 的应用层协议

2019-08-25 14:36:27 589

原创 【计算机网络】认识网络套接字

套接字是一个抽象的概念,应用程序可以通过它进行收发数据,它可以像文件一样进行打开,读写和关闭的操作 。套接字允许应用层程序将I/O插入到网络中,并与网络的其他应用程序程序进行通信。大家都知道,传输层可以实现端到端的通信,因此每一个传输层连接有两个端点,那么传输层连接的端点是什么呢?不是主机也不是主机的IP地址,不是应用进程也不是传输层协议的端口号,而是我们今天要认识的套接字。套接字上面讲到的...

2019-08-24 21:52:25 1093

原创 【软件测试】使用C++ Test进行覆盖测试

一、测试目的1.掌握覆盖率测试、回归测试的方法。2.掌握使用Parasoft C++ Test进行覆盖率测试、回归测试。二、测试环境Windows XP, Parasoft C++ Test 9.2三、测试内容使用Parasoft C++ Test进行覆盖率分析,并手动添加测试用例提高测试覆盖率,以及回归测试。四、测试步骤及结果5.1 C++Test的覆盖率分析概述1.1.测试覆...

2019-08-19 00:03:39 4977 3

原创 【软件测试】使用C++ Test进行动态测试

测试目的1.掌握动态测试的方法。2.掌握使用Parasoft C++ Test进行动态测试。测试环境Windows XP, Parasoft C++ Test 9.2测试内容使用Parasoft C++ Test进行动态测试,包括自动化测试、自定义测试用例、数据源测试用例、桩函数机制。测试过程及结果4.1 基于C++Test 自动化测试1.了解和熟悉自动化单元测试配置2.自动...

2019-08-14 21:55:27 7264 1

原创 【软件测试】使用C++ Test 进行静态测试

实验目的及要求掌握静态测试的方法。掌握使用Parasoft C++ Test进行静态测试。实验环境Windows XP, Parasoft C++ Test 9.2三、实验内容使用Parasoft C++ Test进行静态测试,包括静态代码规范检测、自定义代码测试规范、BugDetective静态数据流检测功能,以及形成测试报告。四、实验步骤及结果(一) C++ Test 静态...

2019-08-14 21:30:46 5559 1

原创 【项目测试】针对个人项目的测试

IM系统畅聊空间是一个允许多人通过同一局域网进行即时通信的网页版的群聊工具,与网页版微信类似。它完成的功能运用黑盒测试方法验证登录注册功能在完成网页上的登录和注册功能时,我在项目中通过借助数据库的管理完成测试内容:用户注册时,若输入的信息正确则将用户信息插入数据库中用户登录时,若用户输入的信息在数据库中正确查找到则跳转至聊天页面,否则提示用户注册测试过程:使用等价类划分法...

2019-08-14 21:10:38 969

原创 【项目介绍】IM聊天室

IM你可能没听过,但是网页版的微信你一定不会陌生吧?其实网页版微信就是IM中的一种形式。这里的IM 是 Instant Message 就是一个允许多人通过网络进行即时通讯的终端服务器, 它是目前Internet 上最为流行的通讯方式,在本次项目中我主要使用websocket和mongoose框架进行编写网页版的群聊即时通信工具。其中我通过HTTP协议升级到websocket协议 从而实现服务...

2019-08-11 21:43:50 1316

原创 【LeetCode】被围绕的区域

题目描述给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的 ‘O’ 都不会...

2019-08-11 12:20:45 280

原创 【LeetCode】N叉树的层序遍历

题目描述给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。例如,给定一个 3叉树 :返回其层序遍历:[[1],[3,2,4],[5,6]]说明:树的深度不会超过 1000。树的节点总数不会超过 5000。解题思路用两个队列,一个队列存节点的value值,另一个队列存节点的层数,节点队列出队的将它的孩子节点和层数带入队列,并且当前节点的层数...

2019-08-11 12:09:31 323

原创 【Linux】普通的vimrc 配置,可直接带走!!

打开vimrc配置文件sudo vim /etc/vimrc设置配置文件大家可以去大佬GitHub下载并解压配置文件:wget http://files.cnblogs.com/ma6174/vimrc.zip按 a 进入插入模式,复制下面想配置的内容到自己的 .vimrc文件中“”"""""""""""""""""""""""""""""""""""""""""""...

2019-08-06 14:58:04 176

原创 【项目介绍】AI智能机器人助手

Baymax

2019-08-04 21:27:05 1411

原创 【Linux】单例模式 — 饿汉与懒汉

**单例模式**是一种经典的,常用的。常考的软件设计模式,也是设计模式中最简单的形式之一。它的核心结构中只包含一个被称为单例的特殊类,即单例模式可以保证系统中,应用该模式的一个类只有一个对象实例。因此这一模式的目的就是使得类的一个对象成为系统中的唯一实例。**设计模式**就是编程大佬们针对一些经典的常见场景,总结的一些对应的解决方案。

2019-08-04 17:20:07 235 1

原创 【Linux】读写锁机制

读写锁读写锁本质是一个自旋锁,用于处理多读少写的情况。读写锁的行为当前锁的状态读锁请求写锁请求无锁可以可以读锁可以阻塞写锁阻塞阻塞注意:1. 写时独占资源,读时共享资源,写锁优先级更高2. 写与读之间既有互斥关系又有同步关系。3. 读写锁与生产消费模型的区别:读者不会将数据独占,也不会影响其他读者的行为。其他锁悲观锁在每次取...

2019-08-04 16:35:44 761 1

原创 【Linux】生产者消费者模型-基于环形队列实现

在上篇博客[基于阻塞队列的生产者消费者模型](https://blog.csdn.net/ly_6699/article/details/98315588)中我介绍了什么是生产者消费者模型以及生产者-消费者模式,还没了解的可以戳链接查看。基于阻塞队列的实现,虽然简单,但是对内存分配性能要求较高的程序是不适用的,因为该方式在push的时候,可能会分配存储空间用于存储新元素;在pop时,可能会释放废弃元素的存储空间。如此频繁的对缓冲区进行分配和释放会大大浪费使用该模式的性能。本篇博客是提高内存分配性能的一

2019-08-04 16:06:32 591

原创 【Linux】生产者-消费者模式&通过阻塞队列实现

而linux中的生产者消费者模型具体来说,就是在一个系统中,存在生产者和消费者两种角色,他们通过内存缓冲区进行通信,生产者生产消费者需要的数据,消费者使用这些数据做成其他产品。例如用户注册的过程主要有以下几个步骤,>1)用户在前台输入用户名&密码&验证码>2)数据被分解并发送给后台各个服务(验证码验真和用户信息存储分成两个独立服务)>3)后台服务有自己的内存缓冲区即请求队列进行数据暂存>4)然后各服务从缓存区取数据进行相应处理其中数据分发的角色相当于**生产者提供数据**,请求队列相当于**交

2019-08-04 14:19:41 276 1

原创 【Linux】线程同步

在介绍线程同步之前,我们需要先了解一下死锁的相关概念。死锁:在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所占有用不会释放的资源而处于一种永久等待的状态。无论线程还是进程都可能出现死锁死锁的四个必要条件互斥:每个资源每次只能被一个执行流使用请求与保持条件:一个执行流因请求资源而阻塞时,对已获得的资源保持不放不剥夺条件:一个执行流已获得的资源在未使用完之前不能被强行...

2019-08-02 12:35:43 214

原创 【Linux】线程互斥

在之前的博客中,我讲到线程的相关概念和线程的控制,在本节中我们聊一下线程互斥。五个概念临界资源多线程执行流共享的资源叫做临界资源。大量执行流同时访问时可能会导致数据二义性的问题。临界区每个线程内部访问临界资源区的代码叫做临界。我们可以通过控制代码的读写规则保证临界区的安全性。互斥任何时刻有且仅有一个执行流进入临界区的情况称互斥。我们通常在访问临界资源时会对它进行加锁保护,保证数据的...

2019-08-01 21:07:40 312

空空如也

空空如也

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

TA关注的人

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