自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java编程性能注意的地方

转自[url]http://www.iteye.com/magazines/66[/url]

2014-02-14 09:16:03 151

原创 erlang的陷阱

转自[url]http://blog.csdn.net/dp0304/article/details/7381891[/url]1. 耗尽atom因为atom是不会被垃圾回收的,所以如何程序运行时生成太多的atom,(例如在无穷循环里,每次循环都调用几下list_to_atom),atom table会被塞满,然后erlang就当掉了2。进程的耗尽如果你spawn了太多un...

2013-10-22 21:13:06 160

原创 C语言初级优化

程序进行优化,通常是指优化程序代码或程序执行速度。优化代码和优化速度实际上是一个予盾的统一,一般是优化了代码的尺寸,就会带来执行时间的增加,如果优化了程序的执行速度,通常会带来代码增加的副作用,很难鱼与熊掌兼得,只能在设计时掌握一个平衡点。一、程序结构的优化1、程序的书写结构虽然书写格式并不会影响生成的代码质量,但是在实际编写程序时还是应该尊循一定的书写规则,一个书写清晰、明了的程...

2013-09-24 18:35:32 164

原创 C语言基础问题可当面试题

[code="C"]int main(){ char a[1000]; int i; for(i=0; i

2013-09-24 17:11:55 358

原创 Linux下cpu使用率load average的简单理解

load average一般可以通过top或者uptime观察到,格式如下:load average: 0.10, 0.05, 0.58分别代表了最近1分钟,5分钟,15分钟CPU的平均负载情况如果是单核CPU的话,1.00就表示CPU已经满负荷了,如果是多核CPU的话,load average达到CPU的核数即说明该CPU已经满负荷了,如果是多颗物理CPU,则当loa...

2013-08-14 17:25:47 223

原创 位数组

[code="c"]#define CHAR_BIT (8)#define BITMASK(b) (1

2013-06-27 11:29:46 134

原创 Android中的lcd_density设置

转自:http://www.linuxidc.com/Linux/2011-02/32499.htm在/system/build.prop中设置:对于HVGA屏,设置ro.sf.lcd_density=160对于WVGA屏,设置ro.sf.lcd_density=240下文对于lcd_density的设置讲解的很清楚。我的是800x600的屏,在Android ...

2011-10-16 23:27:25 360

原创 八款开源Android游戏引擎

1、Angle Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中仅仅包含有少量的示例教程。最低运行环境要求不详。项目地址:http://code.google.com/p/angle/ 2、Roko...

2011-09-18 12:00:55 102

原创 android mac 开发环境配置

http://blog.csdn.net/andypan1314/article/details/6411786

2011-09-17 21:18:08 93

原创 itoa

[code="c"]#include void itoa (int n,char s[]);//atoi 函数:将s转换为整形数int main(void ){ int n; char s[100]; printf("Input n:\n"); scanf("%d",&n); printf("the string : \n"); itoa (n,s);...

2011-07-17 22:04:20 123

atoi

[code="c"]#include #include int atoi (char s[]);int main(void ){ char s[100]; gets(s); printf("integer=%d\n",atoi(s)); return 0;}int atoi (char s[]){ int i,n,sign...

2011-07-17 21:59:21 97

原创 Linux C 多线程编程使用-D_REENTRANT

1、多线程编译使用-D_REENTRANT,如:gcc -D_REENTRANT -lpthread -o test test.c2、头文件定义了一些标准库函数的reentrant变化的原型3、重新定义了errno,让多线程函数有一个自己的安全的errno,而不是全局的。宏定义如下:#define errno (*(__errno_location()))...

2011-06-29 17:15:40 163

原创 linux下查看进程 所占用的cpu和mem

linux下查看进程 所占用的cpu和memps -o %cpu,%mem -p pid获取用ps -elf也可以查看到

2011-06-21 11:20:01 340

redis make test 在linux vm上出问题卡住了

今天下载了redis-2.2.4在Red Hat Enterprise Linux Server release 5.4 (Tikanga) vm虚拟机上编译没问题,但是在make test的时候 卡住在BRPOPLPUSH with multiple blocked clients测试操作,后来找了一台centos上是了一下没问题,具体原因现在还没查到。...

2011-04-19 14:56:52 656 1

原创 关于long node name启动失败的问题

今天在一台Red Hat Enterprise Linux Server release 5.4 (Tikanga)上执行erl -name sfsdf 报如下错误:[root@cloudbox ejabberd]#erl -name sfsdf{error_logger,{{2011,4,13},{14,28,4}},"Can't set long node name!\nPleas...

2011-04-13 14:56:51 546

原创 玩转ejabberd一

一、可以通过ejabberdctl debug 看.app的内容[code="erlang"](ejabberd@xxx.xxx.xxx.xx)8> application:get_all_key(ejabberd).{ok,[{description,"ejabberd"}, {id,[]}, {vsn,"2.1.6"}, {modules,[acl,...

2011-04-08 17:47:39 161

原创 ejabberd安装

下载otp_src_R13B04.tar.gz 安装otp安装otp_doc_man_R13B04.tar.gz 把otp_doc_man_R13A.tar.tar中的man文件夹加压出来放到$ERL_HOME/lib/erlang/下面即可下载ejabberd-2.1.6.tar.gztar xvfz ejabberd-2.1.6.tar.gzcd ejabberd-2.1.6...

2011-03-27 16:45:35 138

原创 关闭rpc.statd服务

转载http://blog.linsc.net/read.php?29

2010-10-21 16:07:38 793

原创 两行代码实现全排列,erlang好强悍

[code="erlang"]-module(libmis).-export([perms/1]).perms([]) -> [[]];perms(L) -> [ [H|T] || H libmis:perms("123").["123","132","213","231","312","321"]

2010-09-27 11:34:07 215

原创 C程序简单嵌入lua解释器

[code="C"]#include #include #include #include #include void luaM_setstring(lua_State *L, const char *index, char *value){ lua_pushstring(L, index); lua_pushstring(L, value);...

2010-09-17 14:40:59 470

原创 select

转自http://wenku.baidu.com/view/32d52a4e767f5acfa1c7cdc6.html

2010-05-31 10:41:41 95

原创 epoll学习

epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered.在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的 select/poll操作,只要还有没有处理的事件就会一直通知. 以代码来说明问题: 首先给出server的代码,需要说明的是每次accept的连接,加入可读集的时候采用的都是ET...

2010-05-27 12:13:48 64

原创 进程和线程的区别

线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.(4)二者均可并发执行.线程、进程和程序的简单比较 我...

2010-05-27 09:30:12 72

原创 Linux proc详解

Linux procfs详解1.0 proc文件系统总览在类Unix系统中体现了一种良好的抽象哲学,就是几乎所有的数据实体都被抽象成一个统一的接口--文件来看待,这样我们就可以用一些简单的基本工具完成大量复杂的操作。在Linux中存在着一类特殊的伪文件系统,用于使用与文件接口统一的操作来完成各种功能,例如ptyfs、devfs、sysfs和procfs。而procfs就是其中应用最广泛...

2010-05-26 11:08:35 706 2

原创 selinux

关闭selinux的方法修改 /etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。

2010-05-26 09:16:57 94

原创 常用命令

[code="shell"]find . -name "*.c"|xargs grep -H "apr_app_initialize"[/code]将文本文件中DOS换行符号转化为UNIX的换行符号 [code="java"] tr -s "\r" "\n"

2010-05-19 18:01:00 86

原创 lighttpd中的watcher workers模型

[code="C"]/* start watcher and workers */ num_childs = srv->srvconf.max_worker; if (num_childs > 0) { int child = 0; while (!child && !srv_shutdown && !graceful_shutdown) { if (num_child...

2010-05-06 16:37:02 138

计算一个整数二进制表示时有多少位是为1的算法

[code="C"]int test(int n){ int nCount = 0; while(n) { nCount++; n = n & (n - 1); } return nCount;}[/code]例如test...

2010-04-28 11:13:20 223

原创 Linux下高性能网络编程中的几个TCP/IP选项

[url]http://blog.chinaunix.net/u3/103668/showart.php?id=2075554[/url]

2009-10-28 17:55:02 86

原创 Linux 的多线程编程的高效开发经验

[url]http://www.xxlinux.com/linux/article/development/soft/20090424/16485.html[/url]

2009-10-28 17:36:27 92

linux 2.4 和linux2.5以上 多线程的不同

在Linux 2.4内核中,Linux内核中使用了一个内核线程来处理用户态进程中的多个线程的上下文切换(线程切换)。由于内核中并没有什么线程组的概念,即一个进程的多个线程,因此必须依靠在pthread库中实现一个额外的线程来管理其他用户线程(即用户程序生成的线程)的建立,退出,资源分配和回收以及线程的切换。由于当时硬件并没有线程寄存器之类的东东来支持多线程,因此线程的切换性能低下,并且...

2009-10-28 14:44:57 167

libevent事件处理框架分析

几个重要的结构体定义:[code="C"]struct event_base { const struct eventop *evsel;/*事件驱动模型入口,在event_init函数中确定事件驱动模型*/ void *evbase;/*对应事件驱动模型实现相关属性参数*/ int event_count; /* counts number of total events */...

2009-10-23 10:33:04 91

libevent中事件优先级实现过程

首先它是通过指向struct event_list的指针的指针来实现的在struct event_base结构中体现如下:[code="C"]/* active event management */struct event_list **activequeues;int nactivequeues;[/code]其中nactivequeues为活动事件队列链表数,对应的优先级...

2009-10-22 15:56:05 211

原创 linux源代码包(.tar.gz)制作

本文以“hello world”程序为例,简单说明linux下源代码包(.tar.gz)的制作。  首先,确保你的系统装有以下GNU软件:  Automake  Autoconf  m4  perl  libtool  1.新建一目录,将你的源代码放在此目录下,以下的操作均在此目录里进行。   shell> mkdir hello  2.执行autoscan命...

2009-10-20 22:12:09 299

gdb调试多线程

gdb提供了以下供调试多线程的进程的功能: thread THREADNO 一个用来在线程之间切换的命令。 info threads 一个用来查询现存线程的命令。 thread apply [THREADNO] [ALL] ARGS 一个用来向线程提供命令的命令。 注意:这些特性不是在所有gdb版本都能使用,归根结底要看操作系统是否支持。 如果你的gdb不支持这些命令,会显示出...

2009-10-18 11:22:38 117

原创 关于SO_LINGER的使用说明

SO_LINGER 此选项指定函数close对面向连接的协议如何操作(如TCP)。缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数据发送给对方。SO_LINGER选项用来改变此缺省设置。使用如下结构:struct linger { int l_onoff; /* 0 = off, nozero = on */ ...

2009-09-27 18:15:10 266

用最简单的方法判断一个数是否是2的指数次幂

[code="C"]!(i& (i-1))[/code]

2009-09-25 08:47:48 601

vsftp配置随笔

创建ftp用户和普通用户一样加到ftp组里面/etc/passwd里面的shell改成/sbin/nologin如果要限制ftp用户在自己的HOME目录,则要在vsftpd.chroot_list添加该用户在/etc/vsftpd/vsftpd.conf里面打开vsftpd.chroot_list相应的选项...

2009-09-22 10:55:43 86

原创 Linux 信号signal处理机制 四

4、alarm和 setitimer系统调用 系统调用alarm的功能是设置一个定时器,当定时器计时到达时,将发出一个信号给进程。该调用的声明格式如下: unsigned int alarm(unsigned int seconds); 在使用该调用的进程中加入以下头文件: #include 系 ...

2009-09-03 16:40:10 131

原创 Linux 信号signal处理机制 三

前面两节已经介绍了有关信号的大部分知 识。这一节我们来了解一下这些系统调用。其中,系统调用signal是进程用来设定某个信号的处理方法,系统调用kill是用来发送信号给指定进程的。这 两个调用可以形成信号的基本操作。后两个调用pause和alarm是通过信号实现的进程暂停和定时器,调用alarm是通过信号通知进程定时器到时。所 以在这里,我们还要介绍这两个调用。 1、sign...

2009-09-03 16:38:43 156

空空如也

空空如也

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

TA关注的人

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