当前位置: 首页 > news >正文

【置顶】 本博博文汇总

文章目录

  • 前言
  • 音视频
    • 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异常解决

在执行如下代码时&#xff0c;发现当apps.add("...");代码执行时&#xff0c;会报java.lang.UnsupportedOperationException错误 List<String> apps Arrays.asList("...");apps.add("..."); 问题出现的原因如下&#xff1a; 1、ArrayLi…...

openmediavault debian linux安装配置企业私有网盘(三 )——raid5与btrfs文件系统无损原数据扩容

一、适用环境 1、企业自有物理专业服务器&#xff0c;一些敏感数据不外流时&#xff0c;使用openmediavault自建NAS系统&#xff1b; 2、在虚拟化环境中自建NAS系统&#xff0c;用于内网办公&#xff0c;或出差外网办公时&#xff0c;企业内的文件共享&#xff1b; 3、虚拟化环…...

Two Phase Termination(两阶段)设计模式

Two Phase Termination设计模式是针对任务由两个环节组成&#xff0c;第一个环节是处理业务相关的内容&#xff0c;第二个阶段是处理任务结束时的同步、释放资源等操作。在进行两阶段终结的时候&#xff0c;需要考虑&#xff1a; 第二阶段终止操作必须保证线程安全。 要百分百…...

闲人闲谈PS之四十九——PLM和SAP集成常见的问题

惯例闲话&#xff1a;天气突变&#xff0c;没想到珠三角也骤降了10几度&#xff0c;昨晚还吹风扇模式&#xff0c;早上起来一下子感觉丝丝凉意。闲人还是喜欢冬天&#xff0c;冷&#xff0c;能让人思维清晰&#xff0c;提高工作效率。趁着天气适宜&#xff0c;赶紧加班擦屁股去…...

帆软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动画过程实现

对话的 ... 加载动画&#xff0c;直接用 CSS 就可以实现&#xff0c;样式可以自己改&#xff0c;逻辑大差不差 <div class"loading-text"><span class"dot1"></span><span class"dot2"></span><span class&quo…...

【LeetCode: 2415. 反转二叉树的奇数层 | BFS + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...