自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 深入理解sysbench工具

它主要包括以下几种方式的测试:1、cpu性能2、磁盘io性能3、调度程序性能4、内存分配及传输速度5、POSIX线程性能6、数据库性能(OLTP基准测试)目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库。

2024-01-26 17:32:09 991 3

原创 深入理解stress/stress-ng

stress是一种工作负载生成器工具,主要用于系统CPU、内存、I/O 和磁盘压力的可配置测量。stress-ng是压力工作负载生成器工具的更新版本。

2024-01-25 18:00:33 1400

原创 深入理解badblocks

badblocks命令是一个用于查找与标记磁盘坏块的工具,可以扫描和诊断磁盘上的坏块并将其从可使用中排除。

2024-01-24 18:29:50 1548 5

原创 深入理解stressapptest

stressapptest是一款免费的开源软件,支持用于测试Linux系统的稳定性和可靠性。它可以利用多个CPU/Core,甚至可以访问主内存的所有部分来测试系统的稳定性,以此推断系统是否存在内存泄漏或其他性能方面的问题。stressapptest的主要目标是发现难以重现的系统稳定性问题和其他体现在Java虚拟机、KVM Hypervisor和Hadoop集群等普通用例中的Linux系统中的性能问题。它还包括多个测试模式和选项以支持不同测试场景,比如随机测试、循环测试、全内存测试、持续测试等。

2024-01-24 17:08:03 1720

原创 深入理解memtester

memtester官网:https://pyropus.ca./software/memtester/

2024-01-23 18:46:01 991 4

原创 深入理解Rust函数

1、函数名和变量名使用蛇形命名法(snake case),例如 fn add_two() -> {}。2、函数的位置可以随便放,Rust 不关心我们在哪里定义了函数,只要有定义即可。3、每个函数参数都需要标注类型。

2024-01-22 13:06:08 1356 4

原创 深入理解Rust语句和表达式

/ 语句// 语句x + y // 表达式语句会执行一些操作但是不会返回一个值,而表达式会在求值后返回一个值,因此在上述函数体的三行代码中,前两行是语句,最后一行是表达式。

2024-01-22 12:58:58 939

原创 深入理解Rust所有权机制

所有的程序都必须和计算机内存打交道,如何从内存中申请空间来存放程序的运行内容,如何在不需要的时候释放这些空间,成了重中之重,也是所有编程语言设计的难点之一。

2024-01-20 10:55:07 1017 2

原创 深入理解Rust引用与借用

获取变量的引用,称之为借用(borrowing)。

2024-01-20 10:53:58 960

原创 深入理解Rust基本类型

Rust基本类型有如下几种:1、数值类型: 有符号整数 (i8, i16, i32, i64, isize)、 无符号整数 (u8, u16, u32, u64, usize) 、浮点数 (f32, f64)、以及有理数、复数。2、字符串:字符串字面量和字符串切片 &str。3、布尔类型: true和false。4、字符类型: 表示单个 Unicode 字符,存储为 4 个字节。5、单元类型: 即 () ,其唯一的值也是 ()。

2024-01-19 14:32:35 1251

原创 深入理解Rust变量绑定与解构

这和 mut 变量的使用是不同的,第二个 let 生成了完全不同的新变量,两个变量只是恰好拥有同样的名称,涉及一次内存对象的再分配 ,而 mut 声明的变量,可以修改同一个内存地址上的值,并不会发生内存对象的再分配,性能要更好。常量可以在任意作用域内声明,包括全局作用域,在声明的作用域内,常量在程序运行的整个过程中都有效。变量遮蔽的用处在于,如果你在某个作用域内无需再使用之前的变量(在被遮蔽后,无法再访问到之前的同名变量),就可以重复的使用变量名字,而不用绞尽脑汁去想更多的名字。

2024-01-19 10:17:40 889 3

原创 Android Launcher3各启动场景源码分析

Launcher3是Android系统提供的默认桌面应用(Launcher),它的源码路径在**“packages/apps/Launcher3/”**。Launcher3的启动场景主要包括:1、开机后启动:开机时,android ams服务拉起Launcher。2、按键启动:比如短压home键,android wms中的PhoneWindowManager拉起Launcher。3、异常崩溃后启动:Launcher异常崩溃后,android ams再次拉起Launcher。

2024-01-18 10:32:01 1460

原创 Android SystemUI梳理

在Android系统中SystemUI是一个系统级的APP,它提供了系统的用户界面,由system_server进程启动。SystemUI本身不属于system_server进程,它是一个独立的进程。它的HMI包括了状态栏、导航栏、通知栏、锁屏、近期任务等等。SystemServer是一个由Zogyte进程启动的程序,它负责启动和管理Android系统中的各种核心服务。

2024-01-18 10:07:02 1602

原创 Android CarService源码分析

Android Automative是在原先Android的系统架构上增加了一些与车相关的(图中虚线框中绿色背景的)模块。

2024-01-17 17:56:26 1137

原创 FFmpeg之PostProc

FFmpeg中的postproc库是一个视频后处理库,用于应用各种图像处理滤镜和算法来改善和优化视频质量。postproc库提供了一些常见的视频后处理滤镜,例如去隔行滤波、去噪滤波、锐化滤波等,可以用于增强视频的清晰度、减少噪点和伪影等。在早期版本的 FFmpeg 中,postproc 库是默认启用的,可以通过命令行选项 -postproc 来应用后处理滤镜。

2024-01-17 17:15:08 1084

原创 FFmpeg之SWScale

Libswscale里面实现了各种图像像素格式的转换,例如YUV与RGB之间的转换;以及图像大小缩放(例如640x360拉伸为1280x720)功能。而且libswscale还做了相应指令集的优化,因此它的转换效率比自己写的C语言的转换效率高很多。

2024-01-16 16:00:19 953 6

原创 FFmpeg之SwrRessample

音频应用有时遇到44.1kHz/48KHz/32kHz/16kHz以及8kHz之间互相转换,这一过程称为SRC(sample rate converter),产品上有用codec芯片硬件实现SRC功能,有用软件实现SRC。采样率转换的基本思想是抽取和内插,从信号角度看音频重采样就是滤波。滤波函数的窗口大小以及插值函数一旦被确定,其重采样的性能也就确定了。抽取可能引起频谱混叠,而内插会产生镜频分量。

2024-01-16 15:41:44 985 2

原创 FFmpeg之AVFormat

avformat中实现了目前多媒体领域中的几乎所有封装格式,可以封装,可以解封装(也叫解复用),根据需求不同,所支持的也有所不同,ffmpeg能否支持一种封装格式的视频的封装与解封装,完全取决于这个库,例如mp4、flv、mkv等容器的封装与解封装;又或者RTMP、RTSP、TCP、UDP等协议的封装与解封装;关于封装与解封装的操作,对CPU的消耗不会特别严重,因为封装与解封装不涉及到复杂的计算,更多的是I/O,如果希望增加自己定制的封装格式的话,中增加自己的对应的format模块。

2024-01-15 17:46:19 1332 4

原创 FFmpeg之AVFilter

FFMPEG 除了具有强大的封装/解封装,编/解码功能之外,还包含了一个非常强大的组件,滤镜avfilter。avfilter 组件常用于多媒体处理与编辑,ffmpeg 包含多种滤镜,比如旋转,加水印,多宫格等等。一个filter的输出可以作为另一个filter的输入,因此多个filter可以组织成为一个网状的filter graph,从而实现更加复杂或者综合的任务。关于 filter 的概念和用法可以去查找 FFmpeg 的其他资料,这里不再赘述。

2024-01-15 17:05:17 1121

原创 FFmpeg架构全面分析

它的官网为:,由Fabrice Bellard(法国著名程序员Born in 1972)于2000年发起创建的开源项目。该人是个牛人,在很多领域都有很大的贡献。FFmpeg是多媒体领域的万能工具。只要涉及音视频领域的处理,基本上没有它做不了的事情!通俗点讲,从视频录制、视频编辑再到播放,它都能做!最近比较火的抖音,还有国内的一些视频点播厂商,像爱奇艺、腾讯视频、优酷视频,还有播放器,像QQ影音、暴风影音等,都离不开它!否则非常痛苦!为什么呢?

2023-06-26 17:05:16 1362 27

原创 嵌入式开发学习之--存储器

本章主要了解常见的几种存储器,以及了解其区别。

2022-12-27 15:33:59 634 16

原创 设计模式入门

设计模式入门

2022-12-06 00:10:02 107

原创 HTTP&HTTPS概念及优缺点

HTTP&HTTPS概念及优缺点

2022-12-05 09:13:01 1496 16

原创 Linux入门知识

​。

2023-11-06 16:58:12 183

原创 数据结构学习之数据结构绪论

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。我的理解,数据结构就是数据和数据之间的关系,研究他们之间的逻辑关系,不同的的环境用不同的逻辑对数据进行收发、存储等等操作,争取最优解的一门知识。数据结构是相互之间存在一种或多种特定关系的数据元素的集合,从不同角度讨论会有不同的分类,如按逻辑结构分类有集合结构,线性结构,树形结构和图形结构;

2023-05-06 17:28:02 1371 29

原创 嵌入式开发学习之--IIC读写EEPROM(上)

本章主要对IIC有一个初步的了解,下一篇结合代码继续学习IIC协议。

2022-12-27 17:35:29 1214 52

原创 嵌入式开发学习之--DMA(上)

本篇文章主要了解一下什么是DMA

2022-12-27 14:56:09 2255 40

原创 嵌入式开发学习之--串口通讯(下)

用串口发送莫斯码

2022-12-27 14:54:31 508 3

原创 Android13源码下载及全编译流程

学习Android必须要用一份Android源码,本章我们来讲一下如何获取Android源码并进行全编译。

2022-12-12 16:07:35 14726 32

原创 嵌入式开发学习之--串口通讯(上)

串口通讯,相对简单地通讯方式,广泛应用在各种各样的设备中,依赖于串口的通讯协议也是一大把。所以必须学会如何操作配置。

2022-12-10 19:08:05 1336 10

原创 嵌入式开发学习之--中断应用概览

大体了解一下什么是中断

2022-12-07 22:00:05 480 2

原创 嵌入式开发学习之--RCC(下)

时钟,相当于外设的生命线。

2022-12-06 08:54:40 498

原创 ZMQ之共享键值缓存(克隆模式)

ZMQ之共享键值缓存(克隆模式)

2022-12-05 11:23:54 553 8

原创 TCP三次握手四次挥手及常见问题解决方案

TCP三次握手四次挥手及常见问题解决方案

2022-12-05 09:12:15 1267 1

原创 TLS及CA证书申请流程

TLS及CA证书申请流程

2022-12-04 10:19:17 2339 1

原创 ZMQ之克隆模式的可靠性

ZMQ之克隆模式的可靠性

2022-12-04 09:00:32 442 1

原创 嵌入式开发学习之--RCC(上)

本篇文章学习一下单片机时钟都有哪些。

2022-12-04 07:48:25 3075

原创 ZMQ中请求-应答模式的可靠性设计

ZMQ中请求-应答模式的可靠性设计

2022-12-03 17:22:08 1176

原创 ZMQ之自杀的蜗牛模式和黑箱模式

ZMQ之自杀的蜗牛模式和黑箱模式

2022-12-03 13:59:09 346

原创 嵌入式开发学习之--位带操作

这一篇主要学习位带操作

2022-12-03 13:46:33 1319

ISO 13400-1-2011(一般信息和用例定义)

ISO 13400-1-2011(一般信息和用例定义),车载电子必看、新能源汽车、OTA、FOTA

2022-06-15

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

TA关注的人

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