文章教程

Java Scanner 类(javascanner类)

java.util.Scanner是Java5的新特征,我们可以通过 Scanner 类来获取用户的输入。 下面是创建 Scanner 对象的基本语法:Scanner s = new Scanner(System.in); 接下来我们演示一个最简单的的数据输入,并通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读 …

音视频开发:SDL播放器实战(音视频sdk开发)

1 SDL简介SDL(Simple DirectMedia Layer)是一个跨平台开发库(Windows、macOS、Linux、iOS 和 Android等),旨在通过 OpenGL 和 Direct3D 提供对音频、键盘、鼠标、游戏杆和图形硬件的低级访问,开发者只需要编写一套代码既可以支持跨平台的运行。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒 …

详细音频解码实战(1)(音频解码技术包括)

在阅读本文前,如果关于音频有些知识不懂,可以看看前面的文章。FFmpeg编程入门系列(1)讲解FFmpeg内存模型(1)详解FLV格式分析AAC ADTS格式分析(1)AAC ADTS实战(1)1.?频解码过程?频解码过程如下图所示:AAC的音频格式送到音频解码器,然后得到PCM收据,音频解码器也有分为硬件或软件解码器,这里就以FFmpeg解码器为主作讲解。 …

MySQL数据库审计核心实现(内有代码)

大家好,今天分享关于基于C语言的Mysql数据库审计核心实现。本篇首先介绍MySQL网络协议,然后再介绍代码如何通过旁路镜像的方式实现对数据库的审计(我写的是针对pcap包,如果你希望通过旁路镜像方式,稍微改造即可)。目前业界有非常多的数据库审计产品,基本是以流量或者探针形式对数据库进行综合审计,功能包括:审计查询、攻击检测、越权访问等。其核心基本是建立在操 …

在C++中,如何避免出现Bug?(c++ builtin)

C++中的主要问题之一是存在大量行为未定义或对程序员来说意外的构造。我们在使用静态分析器检查各种项目时经常会遇到这些问题。但正如我们所知,最佳做法是在编译阶段尽早检测错误。让我们来看看现代C++中的一些技术,这些技术不仅帮助编写简单明了的代码,还能使代码更加安全可靠。1、什么是现代C++?“现代C++”这一术语在C++11发布后变得非常流行。那么它是什么意思 …

纯技术:谷歌PageRank算法原理及实现

PageRank算法原理介绍PageRank算法是google的网页排序算法,在《The Top Ten Algorithms in Data Mining》一书中第6章有介绍。大致原理是用户搜索出的多个网页需要按照一定的重要程度(即后面讲的权重)排序,每个网页的权重由所有链接到它的其他 网页的权重的加权和,加权系数为每个网页链出的网页数的倒数,也就是说每个 …

原创经验分享:低级bug耗费12小时Fix

调试某程序非常简单的程序,简单到认为不可能存在缺陷,但该BUG处理时间超过12小时:程序属于后台进程,监控系统每隔15秒检查外设IO状态,IO异常后发出报警或复位外设,外设都在linux下有sysclass等文件节点。程序有规律性4-5小时后崩溃程序崩溃原因也非常简单:某文件反复打开未释放,打开文件数超过linux单进程最大打开文件数。未对文件打开成功检查, …