【置顶】 本博博文汇总
文章目录
- 前言
- 音视频
- ijkplayer源码分析
- FFmpeg、音视频协议
- Andriod系统音视频框架
- C、C++
- Android&Java
- 源码分析、绘制、渲染
- Dalvik、Art虚拟机
- Java并发
- 计算机基础
- 操作系统
- 计算机网络
- 设计模式、数据结构、算法
前言
23年底了,想来也工作十年,也一直在csdn输出。
这十年,从业务层做到性能优化,再到音视频,再到播放器稳定性相关的native crash。
这十年,也积累了不少文章,在此汇总一下;另外还有大量的深度源码分析草稿,之后也整理发出来吧。
音视频
本系列有一些放到付费专栏里了,都是苦心孤诣研究琢磨的文章,现在也往里面添加了深度性能优化和稳定性方面的内容,欢迎关注。
ijkplayer源码分析
整体概述
read线程流程
视频解码流程
视频渲染流程
音频解码流程
音频播放流程
视频向音频同步
PacketQueue分析
FrameQueue分析
start流程和buffering缓冲策略
FFmpeg、音视频协议
FFmpeg学习 总体介绍
FFmpeg学习 avformat_open_input()函数分析
FFmpeg学习 avformat_find_stream_info()函数分析
FFmpeg学习 av_read_frame()函数分析
FFmpeg学习 avcodec软解码函数分析
音视频 FLV格式解析
音视频 H.264格式介绍
音视频 RTMP协议分析
音视频 HLS协议和m3u8格式分析
音视频 TS格式解析
Andriod系统音视频框架
MediaCodec源码分析 createByCodecName流程
MediaCodec源码分析 configure流程
Android 深入理解SurfaceView
Android 性能优化 命令行查看CPU使用率
Android 创建线程源码分析 JavaThread&NativeThread
Android 设置线程优先级源码分析
C、C++
C内存模型
C语言 基础知识整理
c、c++ 常用API汇总
C++实战笔记
C++ Primer 前六章基础知识笔记
C++ 侯捷课程知识整理
arm体系结构:寄存器
arm体系结构:汇编指令
C语言 非本地跳转 实现native层TryCatch
Android&Java
源码分析、绘制、渲染
JNI原理 System.loadLibrary源码分析
JNI原理 模仿System.loadLibrary和dlopen使用
Android基础 Bitmap基础
硬件加速和软件绘制 invalidate和RequestLayout流程
Android源码分析 理解Refbase
Android 性能优化 Systrace使用
Dalvik、Art虚拟机
-
ART
Andriod ART虚拟机 启动和初始化
Android ART虚拟机 关键类
Android ART虚拟机 堆Heap类构造函数
Android ART虚拟机 Space类体系
Android ART虚拟机 对象创建内存分配流程
Android ART虚拟机 GC流程分析
Android ART&Dalvik虚拟机 追踪对象分配 -
Dalvik
Android 虚拟机 内存优化 分析GC日志
Android Dalvik虚拟机 启动和初始化
Android Dalvik虚拟机 堆初始化流程
Android Dalvik虚拟机 GC流程分析
Android Dalvik虚拟机 堆内存管理 增长&释放 -
深入理解虚拟机
深入理解Java虚拟机 第二章 Java运行时数据区域
深入理解Java虚拟机 第七章 虚拟机类加载器
深入理解Java虚拟机 第七章 虚拟机类加载时机与过程
Java虚拟机 对象创建流程、初始化流程
Java并发
EffectiveJava第十章:并发
Java并发 并发编程一定快么
Java并发 基础概念
Java并发 示例
Java并发 并发机制的底层实现原理
Java并发 线程安全的三个条件
Java并发 锁优化和锁升级
Java并发 Java内存模型 happens-before原则
Java并发 lockInterruptibly导致IllegalMonitorStateException异常研究
计算机基础
操作系统
操作系统 定义、特征、用户态、核心态、中断、系统调用
操作系统 CPU调度 定义、分类、时机、方式、调度算法
操作系统 程序如何运行:编译、链接、装入
操作系统 内存管理概念和连续分配方式
操作系统 内存管理概念和连续分配方式
操作系统 进程篇之基本概念、状态和状态转换
操作系统 进程篇之进程间通信
操作系统 线程的概念、属性和实现方式
操作系统 虚拟内存技术
操作系统 死锁和死锁处理策略
操作系统 内存管理单元MMU TLB
计算机网络
计算机网络 TCP/IP模型
计算机网络 TCP协议梳理
计算机网络 UDP协议梳理
计算机网络 网络层梳理
计算机网络 DNS服务介绍
计算机网络 CDN技术介绍
计算机网络 常见的网络性能指标
计算机网络 网络地址转换NAT
计算机网络 浏览器输入url回车后发生了什么
计算机网络 DNS解析命令汇总
计算机网络 网络层 ICMP协议 ping和traceroute介绍
设计模式、数据结构、算法
面向对象设计原则
设计模式 基础概念
设计模式 状态机
设计模式总结
算法 常见的排序算法
算法 二叉树遍历 递归和非递归
算法 字符串匹配算法
算法 字符串匹配算法
算法 有向无环图 拓扑排序
算法 排列、组合 相关
相关文章:
【置顶】 本博博文汇总
文章目录 前言音视频ijkplayer源码分析FFmpeg、音视频协议Andriod系统音视频框架C、C Android&Java源码分析、绘制、渲染Dalvik、Art虚拟机Java并发 计算机基础操作系统计算机网络设计模式、数据结构、算法 前言 23年底了,想来也工作十年,也一直在c…...
react.js源码二
三、调度Scheduler scheduling(调度)是fiber reconciliation的一个过程,主要决定应该在何时做什么?在stack reconciler中,reconciliation是“一气呵成”,对于函数来说,这没什么问题,因为我们只想要函数的运行结果,但对于UI来说还需要考虑以下问题: 并不是所有的state更…...
如何学习英语
前言 首先写一些自己的感言吧,其实从大学的时候就在不断地听英语,学英语,但是到毕业十几年后,英语一直没起到什么作用,当然最有作用的时候就是几次英语面试吧。 工作之后有一段学习英语的经历,当时花费了…...
robot测试自动化
一. 安装 黑羽robot 首先确保你电脑上安装好了 Python 3.7 或者 3.8 版本的解释器 hyrobot 使用说明1 | 白月黑羽 安装RF 黑羽robot基于Robot Framework ,所以必须先安装RobotFramework 直接执行如下Pip命令即可: pip install robotframework...
Linux---重定向命令
1. 重定向命令的介绍 重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。 2. 重定向命令的使用 命令说明>如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式>>如果文件存在会追加写入文件末尾,相当于文件…...
小区生活污水处理需要哪些设备和工艺
在小区生活中,污水处理是一个非常重要的环节,它关乎到环境的保护和居民的生活质量。因此,了解小区生活污水处理所需要的设备和工艺是至关重要的。 首先,在小区生活污水处理中,需要用到的设备包括污水收集系统、初级沉淀…...
【高性能计算】Cpp + Eigen + Intel MKL + 函数写成传引用
CUDA加速原理:CUDA编程学习:自定义Pytorch+cpp/cuda extension 高质量C++进阶[2]:如何让线性代数加速1000倍? 【gcc, cmake, eigen, opencv,ubuntu】三.eigen和mkl安装和使用 Linux下MKL库的安装部署与使用,并利用cmake编译器调用MKL库去提升eigen库的计算速度 Eigen库…...
【教学类-05-02】20231216 (比大小> <=)X-Y之间的比大小88题(补全88格子,有空格分割提示)
作品展示: 背景需求: 1、以前做过一份比大小的题目 【教学类-05-01】20211018 Python VSC 大班 数字比大小(> <)_vsc比较3位数大小-CSDN博客文章浏览阅读674次。【教学类-05-01】20211018 Python VSC 大班…...
【Spark精讲】Spark与MapReduce对比
目录 对比总结 MapReduce流程 编辑 MapTask流程 ReduceTask流程 MapReduce原理 阶段划分 Map shuffle Partition Collector Sort Spill Merge Reduce shuffle Copy Merge Sort 对比总结 Map端读取文件:都是需要通过split概念来进行逻辑切片&…...
SQL错题集3
1.薪水第二多的员工的emp_no以及其对应的薪水salary limit a,b 其中a表示查询数据的起始位置,b表示返回的数量。 (MySQL数据库中的记录是从0开始的) 注意从0开始 2.员工编号emp_no为10001其自入职以来的薪水salary涨幅值growth 聚合函数不能…...
Elasticsearch:使用 OpenAI 生成嵌入并进行向量搜索 - nodejs
在我之前的文章: Elasticsearch:使用 Open AI 和 Langchain 的 RAG - Retrieval Augmented Generation (一)(二)(三)(四) 我详细地描述了如何使用…...
[python高级编程]:02-类
此系列主要用于记录Python学习过程中查阅的优秀文章,均为索引方式。其中内容只针对本作者一人,作者熟悉了解的内容不再重复记录。 目录 01-装饰器 overload -- 方法重载 02-多态 多态和鸭子类型 03-设计模式 抽象基类和接口 01-装饰器 overload -- 方…...
java.lang.UnsupportedOperationException异常解决
在执行如下代码时,发现当apps.add("...");代码执行时,会报java.lang.UnsupportedOperationException错误 List<String> apps Arrays.asList("...");apps.add("..."); 问题出现的原因如下: 1、ArrayLi…...
openmediavault debian linux安装配置企业私有网盘(三 )——raid5与btrfs文件系统无损原数据扩容
一、适用环境 1、企业自有物理专业服务器,一些敏感数据不外流时,使用openmediavault自建NAS系统; 2、在虚拟化环境中自建NAS系统,用于内网办公,或出差外网办公时,企业内的文件共享; 3、虚拟化环…...
Two Phase Termination(两阶段)设计模式
Two Phase Termination设计模式是针对任务由两个环节组成,第一个环节是处理业务相关的内容,第二个阶段是处理任务结束时的同步、释放资源等操作。在进行两阶段终结的时候,需要考虑: 第二阶段终止操作必须保证线程安全。 要百分百…...
闲人闲谈PS之四十九——PLM和SAP集成常见的问题
惯例闲话:天气突变,没想到珠三角也骤降了10几度,昨晚还吹风扇模式,早上起来一下子感觉丝丝凉意。闲人还是喜欢冬天,冷,能让人思维清晰,提高工作效率。趁着天气适宜,赶紧加班擦屁股去…...
帆软BI目录
数据导入ORACLE库 写法 SELECT * FROM (SELECT a.id ,a.expandType,a.parentId,a.displayName,a.sortIndex,LEVEL lv ,replace(sys_connect_by_path(displayName,//),//Dec-Entry_Management//,) AS 路径FROM FINE_AUTHORITY_OBJECT aSTART WITH a.id decision-directory-ro…...
(第8天)保姆级 PL/SQL Developer 安装与配置
PL/SQL Developer 安装与配置(第8天) 咱们前面分享了很多 Oracle 数据库的安装,但是还没有正式使用过 Oracle 数据库,怎么连接 Oracle 数据库?今天就来讲讲我学习中比较常用的 Oracle 数据库连接工具:PL/SQL DEVELOPER。 PL/SQL Developer 的安装和配置对于新手来说还是…...
【CSS】前端点点点加载小点样式css动画过程实现
对话的 ... 加载动画,直接用 CSS 就可以实现,样式可以自己改,逻辑大差不差 <div class"loading-text"><span class"dot1"></span><span class"dot2"></span><span class&quo…...
【LeetCode: 2415. 反转二叉树的奇数层 | BFS + DFS】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
