自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浮于表,沉于心

思进者万般情物皆风景,消沉者心有云翳遮月明。

  • 博客(37)
  • 资源 (7)
  • 收藏
  • 关注

原创 linux c实现的简单web响应程序(会完善成一个简单web服务器)

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <sys/socket.h>#include <netinet/in.h>#include <sys/socket.h&gt

2013-01-13 14:45:40 298

原创 自旋锁

   自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于中断处理等部分(对于单处理器来说,防止中断处理中的并发可简单采用关闭中断的方式,即在标志寄存器中关闭/打开中断标志位,不需要自旋锁,在单处理器且不可抢占的情况下同样不需要自旋锁)。  自旋锁同样是为了保护共享资源而得出来的一种锁,它与互斥锁所起到的作用类似。当资源申请者对共享资源进行访问时必需取得这个锁才能继续执行,直接持有...

2012-12-21 21:09:13 118

原创 Condition Variable与Mutex搭配的前因后果

本来打算用一个形象的生活情况来比喻条件互斥的,但想了再想实在没有想到比较科学贴切的比喻.那还是开门见山来说吧.Condition Variable无论在C/C++还是C#,JAVA语言里,都会搭配一个Mutex来用.我们知道Mutex的普通意义上是维持一个互斥变量,从而保证一个或一组操作的原子性.同样,简单的说Mutex加在Condition Variable上也是为了保证它的原子...

2012-12-21 21:01:33 335

原创 线程间同步

    前面专门找了一些资料去了解函数的可重入性以及线程安全同步,我们知道在多线程并发访问共享数据时候往往会出现数据冲突,这跟之前的函数可重入性是一样的.比如两个线程要对一个全局变量加1.但这个过程在x86平台上并非原子操作,它可能会经过以下三步才能完成:1:从内存中读取变量到寄存器中2:寄存器加13:将寄存器的值写回内存 这一个非原子操作可想而知,如果有多线程并发执行,那么这...

2012-12-10 16:11:33 107

原创 可重入与线程安全

 可重入 & 信号安全 可重入性函数( Reentrant Function) 可重入与线程安全是两个独立的概念, 都与函数处理资源的方式有关。 首先,可重入和线程安全是两个并不等同的概念,一个函数可以是可重入的,也可以是线程安全的,可以两者均满足,可以两者皆不满组(该描述严格的说存在漏洞,参见第二条)。 其次,从集合和逻辑的角度看,可重入是线程安全的子集,可重入是线程...

2012-12-10 15:37:20 185

原创 redis 主从复制

redis 主从复制      redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。下面是关于redis主从复制的一些特点1.master可以有多个slave2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构3.主从复制不会阻塞master。也就是说当...

2012-11-28 21:58:38 81

原创 Redis 内存存储结构

转自:搜索技术博客-淘宝 Redis内存存储结构分析1 Redis 内存存储结构本文是基于 Redis-v2.2.4 版本进行分析.1.1 Redis 内存存储总体结构Redis 是支持多key-value数据库(表)的,并用 RedisDb 来表示一个key-value数据库(表). redisServer 中有一个 redisDb *db; 成员变量, RedisServ...

2012-11-27 16:07:02 160

原创 Redis运行流程源码解析

 转自:http://www.searchdatabase.com.cn/showcontent_62166.htm概述  Redis通过定义一个 struct redisServer 类型的全局变量server 来保存服务器的相关信息(比如:配置信息,统计信息,服务器状态等等)。启动时通过读取配置文件里边的信息对server进行初始化(如果没有指定配置文件,将使用默认值对sever进...

2012-11-27 15:59:22 89

原创 Linux信号(signal) 机制分析

 分享应用程序公共主页人人生活人人小组同名同姓校园百科大学百科人人热点人人小站人人逛街人人校招【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注...

2012-11-17 17:27:02 152

原创 linux进程间通信(IPC)与控制---管道

进程有独立的用户内存地址,进程的全局变量对其它进程透明,需通过内核缓冲内共享数据,通信管道: 声明在unistd.h头文件中原型 int pipe(int filedes[2]);  filedes[0]表示输入管道,filedes[1]表示输出管道. 返回值:0表示创建管道成功,-1为失败/代码测试: #include <stdio.h>#incl...

2012-11-16 22:41:28 138

原创 shell批量文件目录创建

上代码:#! /bin/shis_directory(){ DIR_NAME=$1 echo "开始测试目录$DIR_NAME" if [ -d $DIR_NAME ];then echo "$DIR_NAME 已存在" return 1 else echo "创建文件目录-$DIR_NAME" return 0 fi}f...

2012-11-16 22:25:28 355

原创 Linux自定义系统调用

 Linux自定义系统调用 如果用户在Linux中添加新的系统调用,应该遵循几个步骤才能添加成功,下面几个步骤详细说明了添加系统调用的相关内容。2.1添加源代码第一个任务是编写加到内核中的源程序,即将要加到一个内核文件中去的一个函数,该函数的名称应该是新的系统调用名称前面加上sys_标志。假设新加的系统调用为mycall(int number),在/usr/src/linux/...

2012-11-16 12:05:04 214

原创 linux系统调用

目录:1. Linux系统调用原理2. 系统调用的实现3. Linux系统调用分类及列表4.系统调用、用户编程接口(API)、系统命令和内核函数的关系5. Linux系统调用实例1.系统调用原理 系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关...

2012-11-15 18:20:08 183

原创 strace实现原理(ptrace)

 strace实现原理 引子:1.在Linux系统中,进程状态除了我们所熟知的TASK_RUNNING,TASK_INTERRUPTIBLE,TASK_STOPPED等,还有一个TASK_TRACED。这表明这个进程处于什么状态?2.strace可以方便的帮助我们记录进程所执行的系统调用,它是如何跟踪到进程执行的?3.gdb是我们调试程序的利器,可以设置断点,单步跟踪程...

2012-11-15 17:37:42 689

原创 运用exec与dup2写的小测试

上代码: /* upper.c */#include <stdio.h>int main(void){int ch;while((ch = getchar()) != EOF) {putchar(toupper(ch));}return 0;} 终端输入:upper的默认输出是终端,gcc -g upper.c -o up...

2012-11-15 16:44:43 240

原创 exec系列函数介绍

     用fork 创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec 函数以执行另一个程序。当进程调用一种exec 函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行。调用exec 并不创建新进程,所以调用exec 前后该进程的id并未改变。exec函数可分了两大系列,主要的区别在于命令行参数的传递. ...

2012-11-15 15:51:13 147

原创 fork函数

fork,分叉之意,这是因为其一次调用,两次返回所造成的.先看看一个小程序的执行结果. #include <sys/types.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>int main(void){ pid_t pid; char ...

2012-11-15 15:50:50 86

原创 VFS中的file_operations与inode的关系

    每个进程在PCB(Process Control Block)中都保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针,现在我们明确一下:已打开的文件在内核中用file结构体表示,文件描述符表中的指针指向file结构体。在file结构体中维护File Status Flag(file结构体的成员f_flags)和当前读写位置(file结构体的...

2012-11-13 11:59:00 655

原创 阔别一年,心境已变.

I'm back.....无需过多感慨,继续努力.

2012-11-13 11:19:28 128

原创 ext2文件系统结构体组成

The Second Extended File System(ext2)文件系统是Linux系统中的标准文件系统,是通过对Minix的文件系统进行扩展而得到的,其存取文件的性能极好。在ext2文件系统中,文件由inode(包含有文件的所有信息)进行唯一标识。一个文件可能对应多个文件名,只有在所有文件名都被删除后,该文件才会被删除。此外,同一文件在磁盘中存放和被打开时所对应的inode是不同的,并...

2012-11-13 11:19:14 980

原创 内存映射文件

内存映射文件:最适合管理大的数据流和在多个进程间共享数据“内存映射文件”与虚似内存相似,内存映射文件允许保留一块地址空间区域和向该区域提交物理存储,这是相同之处。不同点是:它的物理存储来自于磁盘文件,而不是系统的页面文件。一旦文件被成功映射,那么就可以像整个文件被装入内存一样来访问它。一、使用内存映射文件的目的:1.系统使用内存映射文件来装入和执行EXE和DLL文件。2.可以使用内存映射文件来访问...

2012-11-12 19:23:22 92

原创 Linux Shell编程之U盘加载与卸载

额,也不记得是什么时候写的了···偶然翻到···拿出来供学习而已···写得挺粗糙的··(估计还会有bug的说,哈哈哈)· 老鸟飘过吧··代码:#! /bin/shecho "请选择你要进行的操做项" echo "1:加载U盘驱动" echo "2:去除U盘驱动" echo "3:复制U盘内容到指定文件夹" echo "4...

2012-11-12 19:22:13 1264

原创 CreateProcess函数 详细使用说明

函数原型  BOOL CreateProcess  (  LPCTSTR lpApplicationName,  LPTSTR lpCommandLine,  LPSECURITY_ATTRIBUTES lpProcessAttributes。  LPSECURITY_ATTRIBUTES lpThreadAttributes,  BOOL bInheritHandles,  DWORD dwCr...

2012-11-12 19:20:06 661

原创 解决fedora16亮度调度,双显卡用户切换问题

ati显卡调度亮度,因fedora16是在grub2引导的,所以找到引导文件/boot/grub2/grub.cfg:ctrl+f:输入字符串quiet查找到该行,空格,加入引导代码:acpi_backlight=vendor acpi_osi=linux,保存。重启生效。另,但每次登陆默认亮度总为最高,而且默认会两显示电源开启,这样消耗电能加大排热量可以这样配置:1:由于fedora16缺失rc...

2012-11-12 19:16:32 109

原创 ext2文件系统解构探析

 内容要点:  超级块  块位图  inode位图  数据块  inode结构  VFS基本原理    整理听课笔记及自己可与搜集的各种资料,按理解总结一些文件系统,并且其中部分内容可参看我的上篇笔记《硬盘存储结构小结》; 文件系统:系统结构:     块设备:文件组织管理以物理块为单位。物理块是块设备上大小相同的存储区域(如磁盘上的扇区)。一个块究竟多...

2012-11-12 19:15:26 108

原创 dom4j的简单应用

在做一个进销存项目,底层存储结构由原先的Mysql改为了直接用xml来存,所以特意去学了一下dom4j的一些使用方法。 可能一些例子会借用网上已流传开来的代码,毕竟挺适合入门的。 先贴代码吧。[code="java"] /** * * @param filename * @return:return o stand for sucessful...

2011-08-23 14:11:59 74

原创 回首过去,展望未来。

[align=left] 好久,不在这里写博文了。无论是技术相关的,还是非技术的。总结一下半年来所进行的生活吧,失得已在过去,只是留点纪念罢了。 在蓝杰培训也有好段时间了,一步步走来,有所坚持,有所放弃。坚持的是自己对技术的依然执着,既使是那种三分钟热度,也是不间停的三分钟热度。放弃的时,自己有很多技术都没有深层理解,深层挖掘其博大思想,总结加以利用。我想,我对技术并不缺乏...

2011-08-12 00:29:30 177

原创 IOC设计模式的理解

IOC全称是Inversion of Control,即反转控制,或者说是依赖注入更为合适。选择别纠结这些全称的专业词。我们可以用别外一些方式去理解它,IOC,是一种设计模式。它的延生所要实现的是把藕合从代码中移出去,统一放到XML文件中,通过一个容器在需要的时候把这个依赖关系形成,即把需要的接口实现注入到需要它的类中,这可能就是“依赖注入”说法的来源了。 IOC模式,系统中通过...

2010-11-30 22:07:51 373

原创 java中的反射机制

[align=center][b][b]java的反射机制[/b][/b] 关键词:反射 [/align] 先让我们看看java中的反射机制所能实现的功能: 一:对于任意一个类,都能够知道这个类的所有属性和方法 1: 在运行时判断任意一个对象所属的类; 2:在运行时构造任意一个类的对象; 3:在运行时判断任意一个类所具有的成员变量和方法; ...

2010-11-30 21:24:40 77

原创 Ajax总结报告

AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.在说它之前,自然要介绍一下它的产生最主要原因了。 我们以前都是通过表单(form)去提交信息的,当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法其实在效率上是不高的,因为在前后...

2010-10-16 02:36:55 476

MVC总结报告

最近听了两节的MVC讲解,特在此做一个小小的个人总结以便日后三省。MVC(Model-View-Control,模型—视图—控制器模式),这样一说,还是略显抽像的。因为我们是在做一个简单的Blog,所以总结自然而然也是跟它相关而谈的。简单而论吧,Model模型就是我们后台的JavaBean(例如对数据table的设定与操作(pjo与dao类)),View视图就相当于我们的游览器的Jsp...

2010-10-16 01:46:12 359

原创 《android中对camera数据的简单编码处理》

大多数图像处理软件在处理时是需要RGB格式的图像,而默认的视频流是压缩的YUV格式,Android下是YUV420SP,这个格式,虽然可以在程序中修改,但是修改后好像不起作用,也就是说只能得到编码为YUV420SP的视频流,这就需要把YUV420SP的视频流转换成RGB格式的图像,用于图像识别 从log中可以看到Parameters预设的参数:picture-forma...

2010-09-08 14:09:13 164

C:Android camera S:PC opencV阶段总结

最近在跟一学长在合作开发一项目,以PC这Server端,Android为Client端,通过调用Android HTC的Camera获取图片帧数据,利用Socket与Server建立的无线连接将数据进行传输,Server以C++编程为基础对传回来的数据恢原,并以opencV作为核心技术处理,进期阶段是想实现图片的自动识别,后期阶段是对移动物体的更高精确实别,该项目最初定义,属于一类实事监...

2010-07-31 01:24:39 116

原创 基于Eclipse的Android开发环境搭建

基于Eclipse的Android开发环境搭建

2010-06-15 20:37:50 110

java中的异常总结

1. 什么是“异常” 程序员可控范围之外的因素,造成程序可能出错.比如我们在创建一个文件时,纵使文件创建格式正确,但我们无法知道传入的文件路径是否存在,这个不是程序员可以预知的.而这些也就是被定义为超越了程序员逻辑正确之外的事,叫做异常. 2.try-catch的基本流程 .try-catch机制是为了能够使程序从异常中恢复过来,避免系统蹦溃等严重后果发生.如果try里面的...

2010-05-29 23:06:33 67

文件读取操作的个人总结

1.数据大小的概念 数据类型分为两大类,一类是基本类型,还有一种是类类型.基本的数据类型如int byte long型等,它们储存同一个数据所分配的内存空间是不一样的.如储存"123456"这个数据,它们所分配的空间分别是4个字节,1个字节8个字节.显然,如果用long型储存是很浪费内存的,所以不同的基本数据类型所存贮的数据大小范围不一样,这就使得内存空间得到了较为合理的使用.在计算...

2010-05-29 22:55:37 182

基于哈夫曼编码的简单压缩软件实现流程图

基于哈夫曼编码的简单压缩软件实现流程图

2010-05-29 22:42:55 1428 3

Windows系统注册表简介

Windows系统注册表简介

2011-12-14

JavaScript教程 JavaScript源码

JavaScript教程 JavaScript源码

2011-12-14

SSH框架整合详解(精典)

SSH框架整合详解(精典)

2011-12-14

java面试笔试题大汇总

java面试笔试题大汇总

2011-12-14

substance java皮肤 substance 是一款很漂亮的皮肤

java皮肤 substance 是一款很漂亮的皮肤 java皮肤 substance 是一款很漂亮的皮肤 java皮肤 substance 是一款很漂亮的皮肤 java皮肤 substance 是一款很漂亮的皮肤 java皮肤 substance 是一款很漂亮的皮肤

2010-09-25

SuperScan3.0

百端口扫描器:SuperScan3.0中文版 使用方法 打开主界面,默认为扫描(Scan)菜单,允许你输入一个或多个主机名或IP范围。你也可以选文件下的输入地址列表。输入主机名或IP范围后开始扫描,点Play button,SuperScan开始扫描地址 扫描进程结束后,SuperScan将提供一个主机列表,关于每台扫描过的主机被发现的开放端口信息。SuperScan还有选择以HTML格式显示信息的功能。

2010-08-31

BMP文件格式分析,更深入讲解BMP文件格式的构造

比较完整的BMP文件格式分析 BMP文件格式分析,更深入讲解BMP文件格式的构造

2010-07-31

空空如也

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

TA关注的人

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