草庐IT

SpringAOP原理

全部标签

【二进制安全】堆漏洞:Double Free原理

参考:https://www.anquanke.com/post/id/241598次要参考:https://xz.aliyun.com/t/6342malloc_chunk的源码如下:structmalloc_chunk{INTERNAL_SIZE_Tprev_size;/*前一个chunk的大小*/INTERNAL_SIZE_Tsize;/*当前chunk的大小*/structmalloc_chunk*fd;/*指向前一个释放的chunk*/structmalloc_chunk*bk;/*指向后一个释放的chunk*/}释放的chunk会以单向链表的形式回收到fastbin里面。fastb

云计算:从基础架构原理到最佳实践之:云计算容错与高可用性

作者:禅与计算机程序设计艺术1.简介概述“云”这个词汇已经成为互联网行业的热门话题了。虽然“云”目前并不等同于真正意义上的云计算技术,但确实给人们带来了更多方便、快捷、便利的服务。云计算通过利用大量分布式计算资源实现各种业务的快速部署和自动化,极大的提升了各组织机构的工作效率。但是,云平台本身也存在很多隐患和局限性。在硬件层面上,单点故障可能会导致整个平台不可用;而在软件层面上,在云环境中运行的应用程序经常会出现各种错误或异常,使得服务出现故障时难以排查和恢复。如何降低云计算平台的故障率和可用性,成为当下热点研究领域。基于此,我编撰了一篇名为《云计算:从基础架构原理到最佳实践之:云计算容错与高

【STM32】详解超声波测距模块工作原理

一、产品介绍超声波测距模块可提供2cm-400cm的非接触距离感测功能,测距精度3mm,模块包括超声波发射器,接收器与控制电路。二、基本工作原理(1)采用IO口trig出发测距,给Echo最少10us的高电平信号。(2)模块自动发送40khz的方波,自动检测是否有信号返回(3)有信号返回,通过IO口ECHO(如上图)输出一个高电平,高电平持续时间就是超声波从发射到返回的时间。公式:距离=(高电平时间*340m/s)/2三、时序图如何看时序图?从上到下,从左到右四、示例代码超声波模块初始化voidsr04_init(void){ //使能端口B、端口E的硬件时钟 RCC_AHB1PeriphCl

《嵌入式虚拟化技术与应用》:深入浅出阐述嵌入式虚拟机原理,实现“小而能”嵌入式虚拟机!

目录 为什么嵌入式系统需要虚拟化技术?专家推荐本书适合谁? 内容简介本书目录 权威作者团队随着物联网设备的爆炸式增长和万物互联应用的快速发展,虚拟化技术在嵌入式系统上受到了业界越来越多的关注、重视和实际应用。嵌入式系统与虚拟化技术这个跨界创新组合应运而生,其典型的应用场景包括软件定义汽车驾驶舱、工业领域的工作负载整合等。 为什么嵌入式系统需要虚拟化技术?虚拟化技术尤其是开源虚拟化技术,构成了云计算的基石,促进了云时代的蓬勃发展。而随着万物互联的物联网的指数级发展,虚拟化技术也开始在嵌入式领域得到广泛的应用。能够促使嵌入式设备支持虚拟化技术的原因有如下几点:第一、随着半导体技术的发展,摩尔定律推

USB PD v1.0快速充电通信原理

1 原理本篇文章讲的快速充电是指USB论坛所发布的USBPowerDelivery快速充电规范(通过VBUS直流电平上耦合FSK信号来请求充电器调整输出电压和电流的过程),不同于本人发布的另一篇文章所讲的高通QuickCharger2.0规范,因为高通QC2.0是利用D+和D-上的不同的直流电压来请求充电器动态调整输出电压和电流实现快速充电的过程。 USBPDv1.0的通信是将协议层的消息调制成24MHZ的FSK信号并耦合到VBUS上或者从VBUS上获得FSK信号来实现手机和充电器通信的过程。如图所示,在USBPD通信中,是将24MHz的FSK通过cAC-Coupling耦合电容耦合到VBUS

通信原理板块——幅度调制(线性调制)原理(AM、DSB、SSB、VSB)

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等1、调制的定义、目的及分类(1)调制——将信号形式转换成适合在信道中传输的一种过程(2)载波调制——用调制信号去控制载波的参数,使载波的某一个或某几个参数按照调制信号的规律变化(3)调制的作用和目的①将基带信号转换成适合在信道中传输的已调信号;②实现信道的多路复用,提高信道利用率;③扩展信号带宽,提高系统抗干扰能力(4)调制的分类①按照调制信号分为模拟调制和数字调制;②按照载波分为连续波调制和

Kafka数据同步原理详解

Kafka数据同步原理详解Kafka是一种分布式的消息队列系统,它具有高吞吐量、可扩展性和分布式特性等优势。在Kafka中,数据按照主题进行分区,每个主题都有一组分区。每个分区都有自己的生产者和消费者,生产者负责向分区中写入消息,消费者负责从分区中读取消息。因此,Kafka的数据同步主要涉及到生产者和消费者之间的数据传输以及副本同步。分区同步分区写入过程当生产者向Kafka发送消息时,Kafka会将消息存储在本地的一个特殊的文件夹中,称为log文件夹。每个log文件夹中都会包含一个或多个分区的日志文件,每个日志文件对应一个分区。在写入消息时,Kafka会根据分区策略将消息分配到不同的分区中,然

【电路设计】缓启动电路的工作原理

【摘要】通信产品一般采用分散供电方式,各单板上采用DC/DC模块将-48V电源转换为其所需的5V、3.3V、2.5V等子电源。由于输入电压高,电源电路中又存在用于滤波和防止DIP的大电容,在单板插入上电时,会对-48V电源造成冲击,瞬时大电流将造成-48V电源电压出现跌落,可能影响到其它单板的正常工作;同时,由于瞬时大电流的原因,单板插入时在接插件上会产生明显的打火现象,这会引起电磁干扰,并对接插件造成腐蚀。为了避免上述现象,-48V电源供电单板需要“缓慢”上电。一、缓启动电路的作用通信设备产品单板上几乎都在电源模块的输入端设计有缓启动电路,缓启动电路的功能主要有两个:1、延迟单板电源的上电时

【C++】C++11——智能指针、内存泄漏、智能指针的使用和原理、RAII、auto_ptr、unique_ptr、shared_ptr、weak_ptr

文章目录C++117.智能指针7.1内存泄漏7.2智能指针的概念7.3智能指针的使用7.3.1auto_ptr7.3.2unique_ptr7.3.3shared_ptr7.3.4weak_ptrC++117.智能指针7.1内存泄漏  什么是内存泄漏:  内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。  内存泄漏通常由于程序在设计上的缺陷或错误,例如动态分配内存后,未在合适的时间或无法正确释放该段内存,而导致的。内存泄漏通常需要程序员通过分析程序源代码

机器学习之朴素贝叶斯分类器原理详解、公式推导(手推)、面试问题、简单实例(python实现,sklearn调包)

目录1.朴素贝叶斯原理1.1.特性1.2.思路2.公式推导3.简单实例3.1.数据集脱单数据集2.0脱单数据集1.0西瓜数据集3.2.python实现3.3.sklearn实现3.4.实验结果4.几个注意点(面试问题)5.运行(可直接食用)1.朴素贝叶斯原理1.1.特性朴素贝叶斯是一种有监督学习算法,这种算法基于贝叶斯的一个朴素的假设——每对特征和样本数据都是独立同分布的。最终可以推出朴素贝叶斯分类器的判定准则:hnb(x)=arg maxc∈Υ P(c)∏i=1dP(xi ∣ c)h_{nb}(x)=\mathop{arg\max}\limits_{c\in\varUpsilon}\P(c)