自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 【面试题】请说下在C++11用过哪些特性?

shared_ptr:基于共享的智能指针,有多个对象指向同一资源,就用shared_ptr,里面主要是使用引用计数来实现的;基于范围的for循环:利用auto关键字取出具体的元素或引用,冒号后面跟具体的容器或者基于范围的一个类型。可能会产生循环引用,用weak_ptr来解决循环引用,因为weak_ptr引用时不会占用引用计数。function函数对象:包装一个可执行体,将一个函数转换成一个具体的对象。unique_ptr:只允许一个对象去指向一个具体的资源。目的:写代码更便捷,更严谨。

2024-10-07 09:39:12 265

原创 海量数据去重的hash,布隆过滤器Bloom Filter,一致性hash

布隆过滤器是⼀种概率型数据结构,它的特点是⾼效的插⼊和查询,能明确告知某个字符串。

2024-10-06 16:54:27 1238

原创 4种红黑树的使用场景,从内核到应用开发

红黑树作为一种自平衡的二叉搜索树,在计算机系统中被广泛应用于需要高效插入、查找、删除操作的场景中。它的设计确保了性能的稳定性和操作的高效性。以下是红黑树的主要优势总结。

2024-10-03 16:54:20 1271

原创 STL中红黑树和散列表的实现、应用、技巧

stl的组成部分:容器、算法、迭代器、仿函数(函数对象)、适配器、空间配置器(内存分配器)set和map的区别:map和multimap的区别:

2024-10-02 18:02:11 248

原创 磁盘存储、B树、B+树

一颗M阶B树T,满足以下条件每个结点至多拥有M课子树根结点至少拥有两颗子树除了根结点以外,其余每个分支结点至少拥有M/2课子树所有的叶结点都在同一层上有k棵子树的分支结点则存在k-1个关键字,关键字按照递增顺序进行排序关键字数量满足 ceil( M/2 ) - 1 <= n <= M-1。

2024-10-02 11:09:11 532

原创 MySQL总结 - 索引原理以及 SQL 优化

索引分类:主键索引、唯一索引、普通索引、组合索引、以及全文索引(elasticsearch);

2024-08-13 21:53:49 679 1

原创 MySQL总结-SQL语句、索引、视图、存储过程、触发器

按照数据结构来组织、存储和管理数据的仓库;是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合;结构化查询语言(Structured Query Language) 简称 SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL 是关系数据库系统的标准语言。关系型数据库包括:MySQL, SQL Server, Oracle, Sybase, postgreSQL 以及 MS Access等;

2024-08-12 16:31:39 856

原创 数组篇-刷题总结

相信大家有遇到过这种情况: 感觉题目的边界调节超多,一波接着一波的判断,找边界,拆了东墙补西墙,好不容易运行通过了,代码写的十分冗余,毫无章法,其实真正解决题目的代码都是简洁的,或者有原则性的,大家可以在这道题目中体会到这一点。本题中,主要要理解滑动窗口如何移动 窗口起始位置,达到动态更新窗口大小的,从而得出长度最小的符合条件的长度。在这道题目中我们讲到了循环不变量原则,只有在循环中坚持对区间的定义,才能清楚的把握循环中的各种细节。二分法是算法面试中的常考题,建议通过这道题目,锻炼自己手撕二分的能力。

2024-06-06 09:33:45 286

原创 线程池原理及代码实现

为什么会有线程池,到底解决了什么问题?减少线程的创建与销毁(线程的角度)异步解耦的作用(设计的角度)

2024-06-03 11:29:06 873

原创 实现基于UDP的RTP传输音频aac的RTSP服务器

上期已经实现了一个基于UDP的RTP传输h264的RTSP服务器,客户端播放器能够向RTSP服务端发起连接建立的请求,并且客户端在发起RTSP的Play请求以后,RTSP服务端在回复了Play请求之后,开始源源不断的通过RTP协议向客户端推送h264视频流。本期需要实现,客户端建立与RTSP服务端的连接后,并且在RTSP服务端回复了客户端的Play请求以后,服务端需要源源不断的读取一个本地aac音频文件,并将读取到的aac音频码流封装到RTP数据包中,再推送至客户端。

2024-05-29 10:14:33 712

原创 RTP封装&h264原理&实现传输h264的RTSP服务器

实现:客户端建立与RTSP服务端的连接后,并且在RTSP服务端回复了客户端的Play请求以后,服务端需要源源不断的读取一个本地h264视频文件,并将读取到的h264视频流封装到RTP数据包中,再推送至客户端。这样我们就实现了一个简单的支持RTSP协议流媒体分发服务。

2024-05-29 00:05:11 1660

原创 RTSP协议讲解及代码实现

随着网络技术的不断发展,实时流媒体传输在各种应用场景中越来越广泛地被应用。而实现实时流媒体传输的关键之一就是选择合适的协议来控制媒体流的传输和播放。在众多的流媒体传输协议中,RTSP(Real-Time Streaming Protocol)是一种被广泛应用的协议之一,它能够实现对实时流媒体的控制和传输,为用户提供了高质量的实时播放体验。本篇博客将记录我学习 RTSP 协议的过程,以及探索 RTSP 媒体传输的交互过程。

2024-05-28 16:40:11 2242

原创 网络io与io多路复用select/poll/epoll

应用程序没有正确处理关闭连接的过程:当客户端主动关闭连接时,服务器会进入 CLOSE_WAIT 状态,等待应用程序调用 close() 函数来关闭连接。如果应用程序没有调用 close(),连接将一直处于 CLOSE_WAIT 状态。资源泄漏:如果应用程序在处理连接时出现资源泄漏问题,导致连接无法被及时释放,可能会导致大量的 CLOSE_WAIT 状态的连接堆积。

2024-05-28 10:51:48 2039

原创 实现一个高性能的HTTP-FLV流媒体服务器

在当今的互联网时代,流媒体技术已经成为传输音视频内容的核心技术之一。为了更好地理解和应用流媒体技术,开始学习并实现了一个高性能的HTTP-FLV流媒体服务器。HTTP-FLV是一种常用的实时流媒体传输协议,结合了HTTP协议的广泛兼容性和FLV(Flash Video)格式的高效性,非常适用于实时视频流的传输。在博客中,将详细介绍HTTP-FLV的基本概念,并分享在实现高性能HTTP-FLV流媒体服务器过程中积累的经验和技巧。Boost网络库【C++】开源:jsoncpp库。

2024-05-26 13:14:14 813

原创 HLS流媒体服务器基础

本篇博客记录了学习HLS流媒体协议的原理、工作流程以及搭建最简单的HLS服务器的过程。通过学习HLS协议,将能够理解流媒体技术的核心概念,并具备搭建自己的流媒体服务的基础知识。希望通过本文的学习,能够对HLS流媒体协议有一个全面的了解,并且能够运用这些知识搭建自己的流媒体服务,为用户提供更优质的视频播放体验。

2024-05-24 15:15:23 2654 1

原创 第一篇博客-FFmpeg编程入门

快速了解FFmpeg编程入门相关。

2024-05-23 15:30:20 317 1

空空如也

空空如也

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

TA关注的人

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