自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 java实现双缓冲生产者消费者模型的两种方式

方式一:借助wait() notify()实现生产者攒够N个队列,消费者再消费优点:对于擅长 块处理 的消费者线程来说,明显提高性能,而且消费者wait,可以把CPU空置给生产者。相比于下面方式二,不会导致CPU的空转,和消费者线程的浪费。提出方式一的问题背景是生产者负责实时接收消息,攒够1000个后,通知消费者线程调用neo4j接口,插入图数据库。package test;i...

2019-07-03 09:13:11 421

转载 64位寄存器与汇编

64位寄存器分配的不同 区别有:64位有16个寄存器,32位只有8个。但是32位前8个都有不同的命名,分别是e _ ,而64位前8个使用了r代替e,也就是r _。e开头的寄存器命名依然可以直接运用于相应寄存器的低32位。而剩下的寄存器名则是从r8 - r15,其低位分别用d,w,b指定长度。32位使用栈帧来作为传递的参数的保存位置,而64位使用寄存器,分别用rdi,rsi,rdx,rcx,r8,r...

2018-05-05 10:22:44 4744

原创 linux从汇编提取shellcode相关知识点

一、64位寄存器需要注意的    1.用户模式的系统调用依次传递的寄存器为:         rdi,rsi,rdx,rcx,r8和r9;     2.内核接口的系统调用一次传递的寄存器为:         rdi,rsi,rdx,r10,r8和r9;注意这里和用户模式的系统调用只有第4个寄存器不同,其他都相同。     3.系统调用通过syscall指令进入,不像32位下的汇编使用的是int 0...

2018-05-04 19:42:47 554

转载 Linux Shell中各种分号和括号的用法总结

各种括号的用法总结如下1.Shell中变量的原形:${var}大家常见的变量形式都是$var2.命令替换$(cmd)命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是ESC下面的那个键)有相同之处3.一串的命令执行()和{}()和{}都是对一串的命令进行执行,但有所区别:A,()只是对一串命令重新开一个子shell进行执行B,{}对一串命令在当前shell执行C,()和{}...

2018-04-03 20:36:56 675

转载 tail -f |awk|cat实时管道遇到的阻塞问题

awk 中 对于tail f 的文件重定向原创 2016年07月05日 11:21:241556先看一下如下两个命令:tail -f in | awk '{print  $0}'    如果我们不断的往 in 中输入,结果是可以输出来的。  第二条命令  awk  ‘{print $0}’  in >> out是可以把 in中的内容  打印到 out中的 第三条命令  把如下两个命令结...

2018-03-15 20:44:13 3655

转载 局部敏感哈希

局部敏感哈希(Locality-Sensitive Hashing, LSH)方法介绍本文主要介绍一种用于海量高维数据的近似最近邻快速查找技术——局部敏感哈希(Locality-Sensitive Hashing, LSH),内容包括了LSH的原理、LSH哈希函数集、以及LSH的一些参考资料。一、局部敏感哈希LSH在很多应用领域中,我们面对和需要

2017-12-18 10:45:36 230

转载 [转]scanf格式控制符的完整格式

scanf格式控制的完整格式:  %     *     m     l或h     格式字符  ①格式字符与printf函数中的使用方式相同,以%d、%o、%x、%c、%s、%f、%e,无%u格式、%g格式。  ②可以指定输入数据所占列宽,系统自动按它截取所需数据。如:  scanf( "%3d%3d", &a, &b);  输入:123456  系统自动将123

2017-11-03 11:21:17 1388

原创 eclipse+maven+jetty发布hello world!Web应用

1、配置好java ee eclipse+maven环境。2、添加项目3、选择maven-archetype-webapp4、添加公司/组织名称,项目名称,版本号5、补全未生成的文件夹6、pom.xml中添加jetty插件信息    1   

2016-07-28 10:05:31 1335 1

转载 linuxmint安装拼音输入法

sudo add-apt-repository ppa:fcitx-team/nightlysudo apt-get updatesudo apt-get install  fcitx-googlepinyin如果进入首选想-fcitx配置,输入法列表里面出现google拼音,就表示安装成功了,如果出现问题,有可能是fcitx组件不完整,把所有依赖补全就行。

2016-05-08 10:22:59 825

原创 关于apt-get的一点小记

在debian 系下面,安装软件有两种途径,一种直接下载源码,然后./configure ,make ,make install,这种方式,可控性好,版本可以自己确定,但是经常编译出错。另一种方式apt-get,简单易行,有两个需要注意的问题,一个是更新软件源,一般sudo apt-get update,可以解决,还是找不着的话,只能手动改source.list,sudo gedit

2016-05-08 10:18:46 306

转载 unix与Linux

Unix是目前还在存活的操作系统的元老了,走过了40年的历程。由它引发的思想变革,对当今计算机文化造成的深远影响。这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史。Unix的传奇历史是整个计算机世界文化最具代表性的,它对整个计算机世界文化的影响也是最巨大,最深远的。他给人带来的不单单的对过去的回味,更为我们带来了计算机世界的新思潮。Unix 起源回顾Unix历史,我们

2016-04-17 11:30:12 372

转载 C语言文件操作

C语言文件操作一、标准文件的读写1.文件的打开fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开

2016-04-05 21:42:35 283

转载 单机版hadoop搭建

hadoop框架Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成。其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上。

2015-12-12 00:09:06 393

原创 XPmode切换管理员账户

win7下使用XPMode虚拟机时,在XPmode上面安装软件有时会遇到权限不够,需要使用管理员权限的问题,但是默认管理员密码为空,此时注销XPMuser账户,登入管理员账号,(填入密码为空),系统会提示密码不能为空      下面为从网上找的关闭组策略的方式,关闭之后,可以用空密码登入管理员账号,真实XP系统应该也有这个问题。        如果当前账户设置了自动登录,而其登录密码又为空

2015-09-17 21:08:46 1174

转载 gdb调试list 、vector等容器

GDB中print方法并不能直接打印STL容器中保存的变量,其实只要http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt这个文件保存为~/.gdbinit  就可以使用它提供的方法方便调试容器 [c-sharp] view plaincopyData type

2015-08-21 14:54:18 6874 1

原创 借助tinyxml解析config.xml文件

int read_config(){char config_xml_path[256] = {0};getcwd(config_xml_path, 200);strcat(config_xml_path,"/down1.xml");TiXmlDocument docConfigFile(config_xml_path);if (!docConfigFile.LoadFile

2015-08-04 14:12:12 391

转载 linux搭建Apache服务(未经测试,先转再说)

1. Apache服务器基本配置  查询Apache服务器是否安装:rpm -q  httpd  启动Apache服务器:service httpd  start  设置Apache为自动启动:chkconfig httpd  on2、编辑Apache主配置文件  vi /etc/httpd/conf/httpd.conf (1)ServerRoot"/etc/httpd"

2015-07-24 19:49:13 362

转载 Linux Centos 配置防火墙

查看打开的端口:# /etc/init.d/iptables status#开放端口:8080/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT#将更改进行保存/etc/rc.d/init.d/iptables save#重启防火墙以便改动生效:(或者直接重启系统)/etc/init.d/i

2015-07-24 19:17:28 299

原创 Linux C 创建新目录,然后转换工作空间到该目录下,并调用wget函数下载文件到新建目录下

#include#include int main (){char wget_cmd[100];char *pathname="/var/www/html/sssnsd/";char buf[50];if(mkdir(pathname, 0777)==-1)          {          perror("mkdir   error");     

2015-07-23 16:18:09 709

原创 Linux关掉某个端口

netsta -anp|grep 12341234为要关掉的端口号然后找出占用给端口的进程号,kill -9 端口号,至此解除占用。

2015-07-23 10:55:55 1418 1

转载 ffmpeg常用命令

1.分离视频音频流ffmpeg -i input_file -vcodec copy -an output_file_video  //分离视频流ffmpeg -i input_file -acodec copy -vn output_file_audio  //分离音频流2.视频解复用ffmpeg –i test.mp4 –vcodec copy –an –f m4v

2015-07-22 22:23:12 2718

转载 关于UDP socket的一点小知识

书上都是这么说的,UDP客户端不用绑定IP和端口,操作系统会给它自动分配端口。。。。  但是虽然没有显示绑定,但是操作系统却似乎做了些隐蔽的事情。首先,在客户端,fd = socket(AF_INET, SOCK_DGRAM, 0),然后就想在此fd下进行recvfrom是收不到对方(假设对方就是服务器吧)的消息是办不到的,其实想想也很容易明白,这是fd未和任何端口、IP产生关联要是这样都

2015-07-20 13:40:50 420

转载 stack smashing detected报错

使用环境:ubuntu 11.10、C++出错情景:使用mysql执行一个query语句,以进行一个涉及多个表的联合查询(query语句比较长)代码如下:[cpp] view plaincopychar query[128]={0};  sprintf(query, ".....");  ...  return myList;  执行结束之后,返

2015-07-19 15:57:44 1056

转载 LINUX中system()函数详解

相关函数 fork,execve,waitpid,popen 表头文件 #include 定义函数 int system(const char * string); 函数说明 system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期

2015-07-19 15:56:39 3907

转载 LINUX中fork()函数详解

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数

2015-07-19 15:55:19 380 1

转载 Linux:C/Socket多路复用select

作一个tcp的服务程序,同时可能有大量的客户端连上来,希望分别记住各个socket谁有数据过来,就读出来,放到一个请求队列--这些事情用一个线程完成另外有一个结果队列,如果结果里包含了socket的编号,用一个线程专门:取出来按编号找回原来发送者socket,发回给原来的客户端还有一个就是处理线程(池),它取出请求队列里的一个请求,进行处理,把处理结果放入结果队列不知道有没

2015-07-17 14:59:28 425

原创 linux socket 阻塞式 TCP

SERVER.C    /* File Name: server.c */      #include      #include      #include      #include      #include      #include      #include      #define DEFAULT_PORT 8000      #define

2015-07-17 12:28:22 871

转载 LINUX select socket编程 TCP

使用select函数可以以非阻塞的方式和多个socket通信。程序只是演示select函数的使用,功能非常简单,即使某个连接关闭以后也不会修改当前连接数,连接数达到最大值后会终止程序。1. 程序使用了一个数组fd_A,通信开始后把需要通信的多个socket描述符都放入此数组。2. 首先生成一个叫sock_fd的socket描述符,用于监听端口。3. 将sock_fd和数组fd_A中不为

2015-07-17 12:25:50 543

原创 C语言获取文件大小

#include"mp4_hls_convert.h"int getFileSize(char * strFileName)   {          FILE * fp = fopen(strFileName, "r");          fseek(fp, 0L, SEEK_END);          int size = ftell(fp);        

2015-07-16 17:40:07 453

转载 C语言实现修改文本文件中特定行的实现代码

最近由于项目需要实现修改文件的功能,所以,博主认真查阅了一些资料,但是,很遗憾,并没有太多的收获好的,首先我先叙述下功能要求:其实很简单,就是Shell中sed命令的C语言实现,实现定位到所需要的字段的那一行,之后修改成需要的内容。但是由于C语言是面向过程的语言,需要顺序执行的特点,所以,实现中遇到了很多麻烦,在这里博主将实现的过程描述如下,以便大家参考。问题描述:文本内容:

2015-07-16 17:37:17 1115

原创 C语言实现文件复制或者拼接

#include"mp4_hls_convert.h"//获取文件长度int getFileSize(char * strFileName)   {          FILE * fp = fopen(strFileName, "r");          fseek(fp, 0L, SEEK_END);          int size = ftell(fp);

2015-07-16 17:36:03 2323

转载 linux下编译ffmpeg环境

1、下载ffmpeg。下载网址:http://www.ffmpeg.org/download.html2、解压缩tar -zxvf ffmpeg-2.0.1.tar.gz3、配置,生成Makefile./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg如果执行结果不对,可以根据提示信息,并

2015-07-15 16:33:19 429

转载 ffmpeg转mp4为ts 命令行实现

在使用hls技术播放视频流时,首先要把视频转换为ts片和一个m3u8播放列表,使用ffmpeg进行该转换时(低版本ffmpeg不支持直接转,只能现在转换成ts,再用m3u8-segmenter切片,笔者使用的是ffmpeg version-2.1.2),通常使用如下命令:ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict -2 -f hls

2015-07-15 16:30:03 5843

转载 学习FFmpeg API – 解码视频

学习FFmpeg API – 解码视频  ffmpeg是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料。可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快,有些API已经完全换掉了,导致dranger教程中的 代码已经无法编译,正好最近需要使用ffmpeg,于是就利用dranger的教程和代码,自己

2015-07-15 16:26:54 610

转载 apiexample.c例子教我们如何去利用ffmpeg库中的api

apiexample.c例子教我们如何去利用ffmpeg库中的api函数来自己编写编解码程序。      (1)首先,main函数中一开始会去调用avcodec_init()函数,该函数的作用是初始化libavcodec,而我们在使用avcodec库时,该函数必须被调用。  (2)avcodec_register_all()函数,注册所有的编解码器(codecs),解析器(

2015-07-15 09:59:58 504

tinyxml.cpp

tinyxml解析xml配置文件用到的4个cpp文件,将此6个文件(两个头文件)加入到工程目录下,并在代码开头处加入 #include"tinyxml.h"即可

2015-08-04

空空如也

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

TA关注的人

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