简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
数据从网卡到应用的过程 数据从网卡到应用的过程1、过程概述2、网卡3、网卡驱动数据从网卡到应用的过程1、过程概述假设一个HTTP请求的数据到达网卡,那数据是如何被层层处理并到达应用呢?2、网卡网卡(Network Adapter),也称网络适配器,是一个 硬件设备,有全球唯一的 MAC(Media Access Control)地址,MAC地址在网卡生产时就被烧制在ROM中,网卡初始化时恢复到计算
ConstraintLayout Bias1、Bias 定义,水平偏移和垂直偏移2、使用参考1、Bias 定义,水平偏移和垂直偏移注意前提 : 该属性生效的前提是 , 必须设置水平方向上的两个约束 ; Left ( 或 Start ) 约束 和 Right ( 或 End ) 约束都必须设置 ;2、使用参考1、https://hanshuliang.blog.csdn.net/article/de
共享内存(shared memory共享内存共享内存共享内存允许两个或多个进程共享一给定的存储区,因为数据不需要来回复制,所以是最快的一种进程间通信机制。共享内存可以通过mmap()映射普通文件 (特殊情况下还可以采用匿名映射)机制实现,也可以通过系统V共享内存机制实现。共享内存是内核为进程创建的一个特殊内存段,它将出现在进程自己的地址空间中,其它进程可以将同一段共享内存连接(attach)到自己
类与类之间的关系以及UML类图1、类与类之间的关系1.1、定义和分类1.2、依赖关系(Dependency)1.2.1、定义1.2.2、使用( use a)1.2.3、实例1.3、关联关系(Association)1.3.1、定义1.3.2、使用1.3.3、实例1.4、聚合关系(Aggregation)1.4.1、定义1.4.2、使用(has-a)1.5、组合关系(Composition)1.5.
BundleBundle的理解和使用1、什么是Bundle参考Bundle的理解和使用1、什么是Bundle参考1、https://blog.csdn.net/pgg_cold/article/details/79468702?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.con
C++类的虚函数表和虚函数在内存中的位置C++类的虚函数表和虚函数在内存中的位置参考C++类的虚函数表和虚函数在内存中的位置虚函数表位于只读数据段(.rodata),即:C++内存模型中的常量区;虚函数代码则位于代码段(.text),也就是C++内存模型中的代码区参考1、https://blog.twofei.com/496/2、https://blog.csdn.net/Lily_zhangro
1、使用进行,从而来监听Activity的何时被destroy。2 、在的回调中,去检测Activity是否被回收,检测方式如以下步骤。3、使用一个弱引用指向这个activity,并且给这个弱引用指定一个引用队列queue,同时创建一个key来标识该activity。4 、然后将检测的方法投递到空闲消息队列。5、当空闲消息执行的时候,去检测queue里面是否存在刚刚的弱引用,如果存在,则说明此ac
简单工厂模式简单工厂模式1、背景2、定义3、特征4、应用参考简单工厂模式1、背景我开一家披萨店,当客户需要某种披萨并且我这家店里也能做的时候,我就会为其提供所需要的披萨(当然是要钱的哈哈),如果其所需的我这没有,则是另外的情况,后面会谈。这时候,我这家披萨店就可以看做工厂(Factory),而生产出来的披萨被成为产品(Product),披萨的名称则被称为参数,工厂可以根据参数的不同返回不同的产品,
排列组合问题排列组合问题参考排列组合问题EPOLL事件的两种模型:Level Triggered (LT) 水平触发.socket接收缓冲区不为空 有数据可读 读事件一直触发.socket发送缓冲区不满 可以继续写入数据 写事件一直触发符合思维习惯,epoll_wait返回的事件就是socket的状态Edge Triggered (ET) 边沿触发.socket的接收缓冲区状态变化时触发读事件,即
ConstraintLayout Chains 链式约束1. 链 简介( 1 ) Chains ( 链 ) 简介2. 创建 链 及 分析 生成的代码( 1 ) 创建水平链( 2 ) 链创建后的代码及样式( 3 ) 链创建后 生成的 代码3. 链头 及 链的间距( 1 ) 链头设置( 2 ) 链 间距4. 链 的 三种风格( 1 ) 链 风格设置( 2 ) 链 的 三种风格( 3 ) CHAIN_S