- 博客(18)
- 资源 (6)
- 收藏
- 关注
原创 多线程同步——学习笔记
来自“小林coding的图解系统”多线程同步我们知道同一个进程中的线程可以共享地址空间,也即:线程可以共享代码段,数据段,堆空间和打开的文件资源等。当然每个线程也都有自己独立的栈和寄存器空间。当多个线程竞争共享空间时,如果不进行一定的控制,会发生什么呢?会造成共享数据的混乱。举例:#include<iostream>using namespace std;#include<thread>int i = 0; //共享数据//线程函数:对共享变量i自增1.
2021-10-10 16:00:40 200
原创 白盒测试
一般是先使用黑盒测试方法来设计测试用例,然后视情况需要使用白盒测试方法来设计补充的测试用例。白盒测试关注的是测试用例的执行程度和源代码的覆盖程度。完全的白盒测试是将程序中每条路径都执行到,然而对一个带有循环的程序来说,完全的路径测试并不切合实际白盒测试的方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、多重条件覆盖。(覆盖逻辑依次增强)通过一个例子分别介绍这几种方法:写成代码的形式为:public void foo(int A, int B, int X){ if(A>1 &am
2021-05-17 20:52:03 745
原创 C++中sort函数
基本语法首先,C++中使用sort函数的时候需要加上头文件#include<algorithm>。并且sort函数的语法格式为:void sort (RandomAccessIterator first, RandomAccessIterator last);也可以自定义排序规则compvoid sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);注意:从sort函数语法格式中的Ra
2021-05-09 16:16:57 3849 1
原创 C++中拷贝赋值函数的形参能否进行值传递?
牛客的参考回答:(答案不太对)不能。如果是这种情况下,调用拷贝构造函数的时候,首先要将实参传递给形参,这个传递的时候又要调用拷贝构造函数。。 如此循环,无法完成拷贝,栈也会满。前面一句话没问题,后面的不会出现如此循环吧。class Person {public: Person() {}; Person(const Person&) { cout << "拷贝构造" << endl; }; Person& operator=(const Person
2021-05-09 11:13:21 2219 3
原创 HTTP和QUIC协议以及HTTPS——学习笔记
在博客HTTP协议简单介绍中主要介绍了访问一个URL进行DNS寻址的流程问题,也知道HTTP 1.1协议存在的一些问题。为了解决这些问题引入了HTTP 2.0协议。HTTP 1.1 存在的问题:HTTP 1.1 在应用层以纯文本的形式进行通信。每次通信都要带完整的 HTTP 的头,而且不考虑 pipeline 模式的话,每次的过程总是像上面描述的那样一去一回。这样在实时性、并发性上都存在问题。HTTP 2.0HTTP 2.0优点通过头压缩、分帧、二进制编码、多路复用等技术提升性能。头压缩:将
2021-05-01 15:04:34 2049
转载 对于LTE协议栈的一些理解
这篇文档主要想和大家讨论下我对协议栈的理解,我觉得学习协议栈最重要的是了解我们需要什么功能,为什么我们需要这些功能。这是学习协议栈的关键。其次才是我们如何实现这些功能,也就是协议上规定的实现方式。对于协议上的实现方式首先也是需要对协议栈有整体的认识,了解基本功能的实现方式以及各层各模块的分工配合,然后才是细节的处理。在这篇文档我希望能够列出协议栈需要的功能,并对应到协议栈的实现方式,从而能够从整体上对协议栈进行一个大概的介绍。后续还将对一些细节进行详细的介绍。但是毕竟经验不多,很多也是理解的不够正确,全面或
2021-04-17 13:58:42 919
原创 并查集
并查集主要用来解决:(1)一群节点有分为几个集合问题。(朋友圈)(2)判断两个点是不是在一个集合里。(3)判断一个图里是不是有环。并查集思路:(参考bilibili的博主例子,为了查阅方便,记录下来。)背景:我们想要判断以下图中是不是有环的问题。先构造出以下场景。int connected[6][2] = {{0, 1}, {1, 2}, {1, 3}, {2, 3}, {3, 4}, {2, 5}};其他场景的连线问题也是万变不离其宗。可能会遇见不是整型,而是字符串的形
2021-04-11 15:08:56 595
原创 网络层
网络层的IP协议IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务。无连接(connectionless)这个术语的意思是IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。这也说明,IP数据报可以不按发送顺序接收。如果一信源向相同的信宿发送两个连续的数据报(先是A,然后是B),每个数据报都是独立地进行路由选择,可能选择不同的路线,因此B可能在A到达之前先到达。不可靠(unreliable)的意思是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。
2021-04-10 15:42:40 226
原创 《趣谈网络协议》笔记——访问网址流程(以及HTTP协议简单介绍)
一协议三要素:语法、语义、顺序。先看一个浏览器访问网址的过程:1. 在浏览器中输入http://www.kaola.com,这是一个URL,不知道其ip地址,因此通过DNS协议去寻找目的服务器的ip地址。寻找过程:首先先去访问本地域名服务器(本地DNS)。(如果是通过DHCP服务器配置,那么本地DNS由你的网络服务商自动分配,可能在运营商的某个机房里)。本地DNS服务器收到请求。如果在本地缓存内查到对应网址的ip地址,那么直接返回需要的ip地址;如果未查到,则访问根域名服务器。(根服务器是最
2021-04-09 15:49:19 828
原创 LTE中资源数量映射用到的PRB数量(TB,CQI,MCS,PRB)
引言:用户UE与基站eNB之间的数据传输的流程到底是如何的,从物理层的TB块时如何编码发送的,占用的信道是多少?网上的相关知识比较零碎,趁此机会都总结一下。以上行为例:手机中的数据资源传输到基站端。数据经过IP层,PDCP,RLC,MAC层形成帧数据(也叫TB块)。L1的物理层(PHY)以1ms(一个TTI时长,一个子帧时长)为单位,对MAC子层传下来的TB进行调制、交织、信道编码、波形生成等一系列处理,并映射到二维时频资源块中(RB)。我们假设此阶段待传的数据量为4000bit。注意,此.
2021-04-08 18:20:38 10819 1
原创 《趣谈网络协议》笔记——UDP,TCP
TCP和UDP的区别1. TCP是面向连接的,UDP是面向无连接的。什么叫面向连接?在互通之前,面向连接的协议会先建立连接。 建立连接就是客户端和服务器之间维护交互状态的数据结构。2. TCP提供可靠交付;而UDP继承了IP包的特性,不保证可靠通过TCP连接的数据,无差错,不丢失,不重复,并且按序到达。UDP不保证不丢失,不保证按序到达。3. TCP是面向字节流的,UDP是基于数据报的TCP是有缓冲区,UDP面向报文段是没有缓冲区的。TCP发送报文时,是将应用层数据写入TCP缓冲
2021-04-06 14:17:14 2353 4
转载 4G网络数据传输流程与速率分析(二)--资源调度
前回书(4G网络数据传输流程与速率分析系列(一))说到Alice手机的微信小视频想要通过4G网络到达Bob手机需经过空口层层处理:小视频的IP包经过PDCP、RLC、MAC、物理层发射出去,通过基站等网络设备转发,Bob手机接收到后再经过物理层、MAC、RLC、PDCP层层剥离,露出小视频的IP包。同时,小编也介绍了PDCP、RLC、MAC各层的功能。PDCP讲了,RLC讲了,MAC也讲了,就差物理层没说了。啊哈,你没猜错,今天Bob通信大讲堂第二课走起:扒一扒物理层里的那些事,从上行和下行两个方向一起
2021-03-28 09:54:56 2095
转载 4G网络数据传输流程与速率分析系列(一)
2009年1月,瑞典运营商TeliaSonera宣布商用4G LTE网络,建成全球首个4G商用网络;2013年12月,中国移动宣布商用4G网络,速率超百兆,成为国内首家4G网络运营商;2014年12月,韩国SK电信宣布商用4G+ LTE-A网络,速率达300M每秒,是全球首个4G+商用运营商;到2016年7月,全球已有170个国家521个运营商商用4G网络,69个国家147个运营商商用4G+网络。4G发展如火如荼。然而也是从2016年起,各领先运营商、网络厂商、终端厂商携5G强势袭来,4G已成强弩之
2021-03-28 09:47:58 1792
翻译 多态的原理剖析
多态满足条件有继承关系子类重写父类中的虚函数多态分为两类静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名。动态多态: 派生类和虚函数实现运行时多态。静态多态和动态多态区别:静态多态的函数地址早绑定 - 编译阶段确定函数地址。动态多态的函数地址晚绑定 - 运行阶段确定函数地址。创建一个父类:class Animal{public: //void speak() 不加virtual时 virtual void speak() { cout <&
2021-03-01 22:02:35 285
原创 C++ PrimerPlus(第七章——函数学习笔记)
1. 原型(声明)double = cube(double x);//可以没有变量名x,相当于占位符。关于类型转换:可以由小的类型转换为大类型(int(占16位)——double(占32位))。通常, 原型自动将被产地的参数强制转换为期望的类型。2. 函数参数和值传递作用域:函数中声明的变量(包括参数)是该函数私有的。——局部变量,只在函数内部有效。值传递:函数cube内传入一个double类型的变量,通过将变量拷贝一份在函数cube内进行操作。(形参)3. 函数和数组int sum_a
2021-01-12 22:02:18 204
原创 虚析构 虚函数
为什么析构函数必须是虚函数?为什么 C++ 默认的析构函数不是虚函数。 虚函数 析构函数背景:在多态使用的时候,父类的指针或引用指向子类对象,父类指针无法释放子类的析构代码。(即:如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用子类的析构代码),从而造成内存泄露。#include<iostream>using namespace std;#include<string>class Father {public: Father() { cout <&l
2020-12-27 19:45:56 215
原创 C++中static关键字作用总结——学习笔记
C++中static关键字作用总结原文链接1. static保持变量内容的持久内存分为四区:代码区、全局区、栈区、堆区。 其中全局区用于存放全局变量和静态变量以及常量。因此还可细分为静态数据区和常量区。存储在静态数据区的变量会在程序刚开始运行就完成的唯一一次初始化。static局部变量在函数内定义时,虽然其生存期为当前整个源程序运行过程,但作用域和不加static时一样(只在函数内部)。2. 默认初始化为0(static变量)其实全局变量也具备这一属性,静态数据区内存中所有字节值都是0x0
2020-12-22 16:13:37 226
转载 互联网协议入门
转载:作者:阮一峰写的超级好,一口气读完,真是太让人惊奇了,很通俗易懂。也有其他人转载,但是有的图片不全,就又转了一下。我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互.
2020-06-23 22:45:09 252
基2和基4矩阵分解的推导以及对应FFT递归实现(matlab实现)
2020-09-21
EDA课程设计期末大作业——基于FPGA的数字频率计设计.rar
2020-06-05
HPP1108驱动.rar
2020-04-09
DSP课程设计——卷积编译码的DSP实现(含完整报告和代码)
2019-11-08
数字信号处理课设——语言信号的滤波处理—窗函数法(含m文件代码).rar
2019-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人