6 lzj_lzj2014

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 10w+

TCP流量控制窗口与拥塞控制窗口关系

一、滑动窗口滑动窗口协议是传输层进行流控的一种措施,接收方通过通告发送方自己的窗口大小,从而控制发送方的发送速度,从而达到防止发送方发送速度过快而导致自己被淹没的目的。对ACK的再认识,ack通常被理解为收到数据后给出的一个确认ACK,ACK包含两个非常重要的信息:一是期望接收到的下一字节的序号n,该n代表接收方已经接收到了前n-1字节数据,此时如果接收方收到第n+1字节数据而...

2019-08-03 09:40:33

操作系统常用的调度算法总结

1 常见的批处理作业调度算法  1.1 先来先服务调度算法(FCFS):  就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满意,因为短作业等待处理的时间可能比实际运行时间长得多。  1.2 短作业优先调度算法(SPF):   就是优先调度并处理短作业,所谓短是指作业的运行时间短。而在...

2019-07-25 11:46:47

计算机知识

###关键字作用解释: volatile作用Volatile关键词的第一个特性:易变性。所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存中读取。Volatile关键词的第二个特性:“不可优化”特性。volatile告诉编译器,不要对我这个变量进行各种激进的优化,甚至将变量直接消除,保证程序员写在代码中...

2019-07-25 08:52:51

并发编程(IO多路复用)

阅读目录一 IO模型介绍 二阻塞IO(blocking IO) 三非阻塞IO(non-blocking IO) 四 多路复用IO(IO multiplexing) 五 异步IO(Asynchronous I/O) 六 IO模型比较分析 七 selectors模块IO模型介绍  为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 同步(synch...

2019-07-24 15:10:46

网络学习知识

https://blog.csdn.net/sinat_36629696/article/details/80740678 tcphttps://blog.csdn.net/m0_37962600/article/details/79993310 拥塞控制https://blog.csdn.net/shawei_/article/details/81775504 滑动窗口...

2019-07-23 14:35:28

MySQL索引原理及BTree(B-/+Tree)结构详解

目录摘要数据结构及算法基础索引的本质B-Tree和B+TreeB-TreeB+Tree带有顺序访问指针的B+Tree为什么使用B-Tree(B+Tree)主存存取原理磁盘存取原理局部性原理与磁盘预读B-/+Tree索引的性能分析MySQL索引实现MyISAM索引实现InnoDB索引实现索引使用策略及优化示例数据库最左前缀原理与...

2019-07-23 13:54:32

android studio 导入本地外部项目或库

 应用程序 / App1 / build.gradle settings.gradle 图书馆 / library1 / build.grade settings.gradle library2 / build.grade settings.gradle library3 / build.grade ...

2018-09-18 13:52:06

比特币交易原理分析

最近一直在自学区块链,这段时间开始系统总结一些学习的内容,写成博客内容,希望能给初学者或者想要系统学习区块链技术的同学一些帮助。在这一系列技术总结后,会带大家动手从零开发一个迷你区块链。迷你区块链体验地址: http://miniblockchain.shuwoom.com/index关键字:比特币、区块链、交易脚本、智能合约、UTXO账户模型、价值转移1.比特币的UTXO模型...

2018-09-18 13:50:06

swig 之 go 语言调用c,多参数返回

由于任务的原因,有一个项目需要用go语言调用c代码。之前有接触过swig,因此直接上官网去swig,果不其然,它是支持go语言的,二话不说,直接搞起。首先,如果您不熟悉swig,可以自行百度。然后,本人也是不熟悉go语言,只为了能在go语言顺利调用c代码,因此才考虑用swig。不过,我也有几个考虑的,第一,我有java调用c代码的经验(jni),我知道调用c代码,最关键的内存的回收要处理好,不...

2018-08-23 14:25:33

编译原理之词法分析、语法分析、语义分析

词法分析(Lexical analysis或Scanning)和词法分析程序(Lexical analyzer或Scanner)   词法分析阶段是编译过程的第一个阶段。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。词法分析程序实现这个任务。词法分析程序可以使用lex等工具自动生成。语法分析(Syntax

2017-08-16 08:58:32

c语言的__FILE__、__LINE__和#line

C语言中的__FILE__用以指示本行语句所在源文件的文件名,举例如下(test.c):#include int main(){printf("%s\n",__FILE__);}在gcc编译生成a.out,执行后输出结果为:test.c在windows的vc6.0下编译执行结果为:c:\documents and settings\administr

2017-08-15 23:30:32

DH密钥交换和ECDH原理

下面我们以Alice和Bob为例叙述Diffie-Hellman密钥交换的原理。1,Diffie-Hellman交换过程中涉及到的所有参与者定义一个组,在这个组中定义一个大质数p,底数g。2,Diffie-Hellman密钥交换是一个两部分的过程,Alice和Bob都需要一个私有的数字a,b。下面是DH交换的过程图:本图片来自wiki下面我们进行一个

2017-08-15 22:39:43

c++ 多值返回,指针使用

一般来说,如果一个函数需要返回多个参数,可以采用以下两种方法:第一种方法是将返回值作为写参数。第二种方法是定义一个结构,返回指向该结构的指针。下面的一个例子是指针使用的一个例子。change1 是值传递,不能作为返回值使用。int change1(char* name){    name=”alter”;    return 1;}i

2017-08-10 15:36:35

c++ const理解

看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设

2017-08-09 17:07:13

C++中值传递、指针传递、引用传递的总结

1. 值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。void swap(int a,int b){     int temp;     temp=a;     a=b;     b=temp;    

2017-08-09 15:06:32

C++ const用法

C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量  1 #include 2 using namespace std; 3 int main(){ 4 int a1=3; ///non-co

2017-08-09 14:52:35

c/c++中define用法详解及代码示例

c++中define用法define在c++语言中用法比较多,这里对其进行整理。1.无参宏定义无参宏的宏名后不带参数。 其定义的一般形式为:#define 标识符 字符串11其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。 例如:

2017-08-02 13:38:14

C++项目中的extern "C" {}

引言在用C++的项目源码中,经常会不可避免的会看到下面的代码:123456789#ifdef __cplusplusextern "C" {#endif /*...*/ #ifdef __cplusplus}

2017-08-02 10:03:25

Android CMake轻松实现基于OpenSSL的HmacSHA1签名

最近有这么一个需求,要对接口进行签名验证以防止被刷。开始想到了在Java中实现HmacSHA1签名,但由于Java代码较容易反编译直接获取秘钥,而否定了这个方案。为了解决这个问题,把实现签名的逻辑代码用C/C++来编写,编译成xxx.so库,大大提高了反编译的门槛,从而降低了被反编译的风险。在C/C++中要实现HmacSHA1签名,只有依赖一个很出名的C语言中常用的加解密库OpenSSL。什么

2017-07-31 15:16:48

android ndk error :undefined reference to.

在用AS的NDK编译c时,添加了一个C的头文件和.c文件,在调用的时候,一直出现undefined reference to 。。。。查看代码之后,发现一点问题都没有,就是一直编译不过。也在C的头文件加入了:#ifdef __cplusplusextern "C" {#endif// my code#ifdef __cplusplus}#endif

2017-07-27 11:07:06

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!