当前位置: 首页 > 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之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...