自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (3)
  • 收藏
  • 关注

原创 搜狐云景客户端工具评测之WordPress的搭建

搜狐云景是搜狐推出的一款PaaS产品,目前还处在公测阶段,拿到邀请码后试用了一下,感觉还不错。搜狐云景提供了四种方式部署应用,感觉应该可以满足各种口味的码农:1. zip包的形式在网页上传并部署  2. CLI命令行  3.Git一键部署 4.Open API用了几次网页上传的方式,觉得有点烦,这里试试CLI命令行工具。好了,废话不多说,开始搞起。下载在搜狐云景的官

2014-06-10 23:45:11 3595 4

转载 ReentrantLock可重入锁的使用场景

摘要 从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些。 场景1:如果发现该操作已经在执行中则不再执行(有状态执行) a、用在定时任务时,如果任务执行时间可能超过下次计划执行时间,确保该有状态任务只有一个正在执行,忽略重复触发。b、用在界面交互时点击执行较长时间请求操作时,防止多次点击导致后台重复执行(忽略重复触发)。 以上两种情况多用于进行非

2015-10-29 16:06:45 514

转载 Eclipse 3.7手工安装Maven2的插件(包含POM图形编辑工具)

一、自动安装Eclipse (以3.7为例) 一般我们可以用系统自带的插件安装功能:Help –> Install New Software …输入m2e的插件地址: http://m2eclipse.sonatype.org/sites/m2e/ ,按照提示一步一步直到重启即可。二、手工安装本人的还是比较推荐(可能是本人的习惯而已)用 links 或者是新版的

2015-05-29 16:32:11 1129

转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解

JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。    现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露

2015-01-22 12:05:50 935

原创 Jetty运行一段时间后发现多个文件丢失

原因:Jetty临时目录被tmpwatch定时任务删除linux下部署的jetty,隔大哥一周时间就会访问出错,或者出现web应用的目录列表。很长一段时间都被这个问题困扰着,由于是个演示系统,持续运行的要求不高,无奈配置了一个cron,定时重启。最近发现原来linux下有一个叫做tmpwatch的命令,而且默认配置成了cron.daily。每日执行一次。

2014-09-02 15:09:33 1260

转载 JVM调优总结 -Xms -Xmx -Xmn -Xss

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms355

2014-08-27 11:37:18 544

转载 Web 网页通信之长连接、长轮询

基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性。一、什么是长连接、长轮询?用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息。这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已。

2014-08-11 12:03:15 503

转载 Eclipse+PyDev 安装和配置

Python开发有很多工具,其中Eclipse+Pydev 是最常见的一种。本文简单介绍Windows下Eclipse+PyDev 安装和配置。  Eclipse 是一种基于 Java 的可扩展开源开发平台。就其自身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。  PyDev 是Eclipse的 Python IDE 插件,利用 PyDev 插件把 Eclipse

2014-08-08 14:16:51 507

原创 由OpenSessionInView引出的List复制问题

public String toAuditUser(ModelMap map){List users = authService.getAuditUsers();List tmpUsers = new ArrayList(users);for(UserInfo user : tmpUsers){String provinceCode = user.getProvince();S

2014-07-25 23:56:30 555

原创 搜狐云景客户端工具评测之WordPress的搭建

以满足各种口味的码农:1. zip包的形式在网页上传并部署 2. CLI命令行 3.Git一键部署 4.Open API用了几次网页上传的方式,觉得有点烦,这里试试CLI命令行工具。好了,废话不多说,开始搞起。下载在搜狐云景的官网=>文档=>资源下载 可以看到开发工具下载的页面,发现对Windows, Linux, Mac都支持,这个略叼。。 话说BAE的CLI只支持Linux,SAE压根没有。开始试用 先试下windows下的版本,大致

2014-06-18 10:36:28 119

原创 搜狐云景客户端工具评测之WordPress的搭建

搜狐云景是搜狐推出的一款PaaS产品,目前还处在公测阶段,拿到邀请码后试用了一下,感觉还不错。搜狐云景提供了四种方式部署应用,感觉应该可以满足各种口味的码农:1. zip包的形式在网页上传并部署  2. CLI命令行  3.Git一键部署 4.Open API用了几次网页上传的方式,觉得有点烦,这里试试CLI命令行工具。好了,废话不多说,开始搞起。下载在搜狐云景的官

2014-06-11 00:06:48 652

转载 Mysql主从服务

一、什么叫mysql复制?   关于mysql复制,我是这样理解的:将某一台主机上的Mysql数据复制到其它主机(slaves)上,并重新执行一遍从而实现当前主机上的mysql数据与(master)主机上数据保持一致的过程我们可以称为复制。   复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环

2014-05-17 12:07:27 753

转载 你会做Web上的用户登录功能吗?

Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能。下面的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关系到用户安全的功能,希望大家能从下面的文章中能知道什么样的方法才是一个好的用户登录功能。以下内容,转载时请保持原文一致,并请注明作者和出处。用户名和口令首先,我们先来说说用户名和口令的

2014-02-21 13:44:22 633

转载 使用ThreadMXBean更精确地评估Thread占用时间

需要评估某个程序运行消耗的时间时,一般情况下在JAVA中使用System.currentTimeMillis()来记录当前的时间,运行后再次采集一次当前时间,将两者的差作为运行消耗的时间。但这个时间并不是十分的精确,因为在程序运行的过程中,可能发生系统进程切换等系统事件,这部分时间也被计算在这个消耗时间里。而Java 虚拟机实现可能提供了支持测量当前线程的 CPU 时间的功能。Thread

2014-01-13 14:54:53 7307

原创 Spring源码学习笔记之一:从BeanPostProcesser开始

对Spring的源码之前没有系统的阅读过,现在有点时间正好仔细的学习一下。我觉得带着问题去学习源码是速度比较快的一种方式,好过漫无目的的浏览,那样看起来也比较吃力。第一部分就从BeanPostProcesser(不了解的参照:http://blog.csdn.net/xuechongyang/article/details/17683225)这个东西入手,因为刚发现这个东西的时候解决了

2014-01-02 18:27:35 6789 1

转载 使用BeanPostProcessor接口对受管Bean进行预处理

有时候,我们希望在Spring IoC容器初始化受管Bean之前、属性设置之后对该Bean先做一些预处理,或者在容器销毁受管Bean之前自己释放资源。那么该如何实现呢?Spring IoC为我们提供了多种方法来实现受管Bean的预处理和后处理。在Spring中定义了BeanPostProcessors接口,代码如下:Java代码  package org.spr

2013-12-30 16:29:11 1709

原创 How To Install Wordpress with nginx on Ubuntu 12.04

TweetVote on HNWrite an ArticleAbout WordpressWordpress is a free and open source website and blogging tool that uses php and MySQL. It was created in 2003 and has since then

2013-11-21 01:17:27 1421

原创 yGuard in Maven

maven-antrun-plugin yguard yguard 2.1.0 system lib/yguard.jar package <property refid="maven.compile.classpath"

2013-11-01 12:00:46 3448

原创 Hibernate使用笔记

1. 用sum等方法时,别名不能作为preparedParameter。例如 "select  sum(s.cpu_usage) as cpuUsage,  sum(mem_usage) as memUsage from t_machine order by ?"sqlQuery.setString(0, "cpuUsage")会不起作用。可以用字符串拼接的方法解决。

2013-10-29 17:34:37 629

原创 Java垃圾回收器总结

判断对象是否被回收的算法:一、引用计数法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都为0的对象就是不可能再被使用的。二、根搜索算法   在主流的商用程序语言中(Java和C#,甚至包括前面提到的古老的Lisp),都是使用根搜索算法(GC Roots Tracing)判定对象是否存活的。这个算法的基本思路就

2013-09-29 20:40:57 540

转载 HTTP Header 详解

HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传递message- header,即http header消息。http header 消息通常被分为4个部分:ge

2013-09-22 12:57:37 732

转载 Redis 的安装配置介绍

redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。问题是这个项目还很新,可能还不足够稳定,而且没有在实际的一些大型系统应用的实例。此外,缺乏mc中批量get也是比较大的问题,始终批量获取跟多次获

2013-08-21 11:02:22 510

转载 MySQL索引 使用笔记

我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的B-Tree索引。其中聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引,统称索引。当然,除了B+树这种类型的索引之外,还有哈稀索引(hash index)等。MySQL InnoDB B-Tree索引使用Tips这里主要讨论一下InnoDB B-Tree索引的使用,不提设计,只管使用。B-T

2013-06-26 16:18:13 626

转载 MySQL索引类型一览 让MySQL高效运行起来

索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL  );   我们随机向里面插

2013-06-26 15:47:47 421

转载 Java使用memcached

1.加载commons-pool-1.5.6.jar、java_memcached-release_2.6.6.jar、slf4j-api-1.6.1.jar、slf4j-simple-1.6.1.jar2.创建memcached工具类:01public class MemcachedUtil {0

2013-06-23 21:20:57 1169

原创 Ubuntu下eclipse界面配置

1.安装Courier New字体apt-get install ttf-mscorefonts-installer2. 更改字体和大小window->Preferences->General->Appearance->Colors and Font ->Java->Java Editor3.代码悬浮提示窗口颜色步骤一:通过修改配置文件的方式实现ubuntu主题背景

2013-06-19 16:32:44 4330

原创 eclipse远程调试

打开debug configuration,创建一个remote java application,在host中输入服务器地址,一般就本机localhost。在port一栏中输入上面配置中端口号8000。这样,当服务器启动后,就可以进行远程debug了。这种debug方式的好外是可以在debug依赖的jar包,并在上面设置断点。(前提是你已经获得了jar包的源代码)以下是启动相应服务器需要配置的参

2013-05-31 22:03:07 694

转载 Java堆和栈的区别 经典总结

内存分配策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允 许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求. 栈式存储分配也

2013-05-24 16:14:28 601 1

转载 Java栈与堆

Java把内存划分成两种:一种是栈内存,一种是堆内存。       在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。       当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。       堆内存用来存放由new创建的对象和数组。

2013-05-24 16:08:49 417

原创 Hadoop实时运行信息抓取

主要通过Hadoop自带的API和仿照Hadoop的部分源码处理过程重新编写数据获取程序,基本可以抓到hadoop自带jetty页面的各种重要数据。需要的请参照https://github.com/chongyangxue/HadoopMonitor...

2013-04-30 21:21:29 131

原创 Hadoop实时运行信息抓取

github.com/chongyangxue/HadoopMonitor

2013-04-30 21:21:29 130

原创 删除文件排除指定文件或者目录方法(linux)

删除文件排除指定文件或者目录方法以下命令以网站目录www为例做介绍,有时候更新网站的时候需要保留比如图片目录,或者其他目录就需要这样的操作实例一:删除文件夹内所有文件只保留一个文件命令[root@linuxzgf www]# cd html[root@linuxzgf html]# lsa dede include install plus ...

2013-04-18 21:39:25 1147

原创 删除文件排除指定文件或者目录方法(linux)

作实例一:删除文件夹内所有文件只保留一个文件命令[root@linuxzgf www]# cd html[root@linuxzgf html]# lsa dede include install plus special templetsdata images index.php member robots.txt tags.php uploads[root@linuxzgf html]# rm -rf `ls -I ind

2013-04-18 21:39:25 468

转载 Java 默认修饰符 总结

1.       类(class)可见性修饰符: public—在所有类中可见,在其他包中可以用import导入。             缺省—就是没有修饰符,在同一个包中的类中可见,在其他包中不能用import导入。              修饰符:final—终态类,表示该类不能被继承                            abstract—

2013-04-11 17:21:07 903

转载 在Spring环境下存取properties文件中的值

(1) 基本的使用方法是lysis" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">classpath:/spring/include/dbQuery.properties其中classpath是引用src目录下的文件写法。PropertyPlacehol

2013-04-08 09:58:51 3232

转载 eclipse常用插件在线安装地址或下载地址

一,反编译插件:A、Jadclipse1、打开eclipse增加站点:http://jadclipse.sf.net/update,在线安装好JDT Decompiler 3.4.02、http://nchc.dl.sourceforge.net/sourceforge/jadclipse/net.sf.jadclipse_3.3.0.jar将            jad

2013-03-20 18:32:19 514

转载 hadoop版本总结

hadoop有两个分支:0.20.x 和0.23.x。其中0.20.x是比较稳定的版本,0.23.x中新特性更多,但相对不稳定。其中从0.20.x 分支发展出来的是:hadoop1.0,CDH3从0.23.x 分支发展出来的是:hadoop-alpha,CDH4下面具体说hadoop1.0、2.0 和CDH3、CDH4:Apach

2013-03-20 13:29:16 701

原创 Hadoop监控程序

最近一个项目需要收集hadoop作业的执行状态的信息,我给出了以下的解决策略:1、从Hadoop提供的jobtracker.jsp获取需要的信息,这里遇到的一个问题是里面使用了application作用域JobTracker tracker = (JobTracker) application.getAttribute("job.tracker");而Jetty服务器是嵌入到Had

2013-03-20 12:36:16 800

转载 Hadoop配置文件配置项定义说明

hadoop的集群配置中,大部分都用的默认设置,如果想要提高整个集群的性能,可以考虑通过修改配置的方法实现,配置项大部分都配置在这三个文件里:core_site.xml, hdfs_site.xml, mapred_site.xml, 下面将经常会用到的配置项总结如下:(待补充) core_site.xmlfs.default.name说明: Name No

2013-03-19 14:17:00 12397 2

原创 Hadoop配置文件配置项定义说明

hadoop的集群配置中,大部分都用的默认设置,如果想要提高整个集群的性能,可以考虑通过修改配置的方法实现,配置项大部分都配置在这三个文件里:core_site.xml, hdfs_site.xml, mapred_site.xml, 下面将经常会用到的配置项总结如下:(待补充) core_site.xmlfs.default.name说明: Name Node的URIv...

2013-03-19 14:16:05 212

张孝祥整理java面试题大全

长达150页的java面试题大全,很好的东西。

2012-12-18

华为SIP学习文档

学习SIP协议很好的文档:SIP协议是一个用于建立,更改和终止多媒体会话的应用层控制协议。它是IETF多媒体数据和控制体系结构的一部分并大量借鉴了成熟的HTTP协议,具有易扩展、易实现等特点,因此非常适合用于实现基于因特网的多媒体会议、IP电话等系统。本文对SIP协议的基本结构、功能、控制流程进行介绍。

2012-11-16

Linux C一站式学习

历史前言I. C语言入门1. 程序的基本概念1. 程序和编程语言2. 自然语言和形式语言3. 程序的调试4. 第一个程序2. 常量、变量和表达式1. 继续Hello World2. 常量3. 变量4. 赋值5. 表达式 6. 字符类型与字符编码3. 简单函数1. 数学函数2. 自定义函数3. 形参和实参4. 局部变量与全局变量4. 分支语句1. if语句2. if/else语句3. 布尔代数4. switch语句5. 深入理解函数1. return语句2. 增量式开发3. 递归6. 循环语句1. while语句2. do/while语句3. for语句4. break和continue语句5. 嵌套循环6. goto语句7. 结构体1. 复合数据类型--结构体2. 数据抽象3. 数据类型标志4. 嵌套结构体8. 数组1. 数组的基本操作2. 数组应用实例:统计随机数3. 数组应用实例:直方图4. 字符串5. 多维数组9. 编码风格1. 缩进和空白2. 注释3. 标识符命名4. 函数5. indent工具10. gdb 1. 单步执行和跟踪函数调用2. 断点3. 观察点4. 段错误11. 排序与查找1. 算法的概念2. 插入排序3. 算法的时间复杂度分析4. 归并排序5. 线性查找6. 折半查找12. 栈与队列1. 数据结构的概念2. 堆栈3. 深度优先搜索4. 队列与广度优先搜索5. 环形队列13. 本阶段总结1. C语言基本语法2. 思维方法与编程思想3. 调试方法II. C语言本质14. 计算机中数的表示1. 为什么计算机用二进制计数2. 不同进制之间的换算3. 整数的加减运算4. 浮点数15. 数据类型详解1. 整型2. 浮点型3. 类型转换3.1. Integer Promotion3.2. Usual Arithmetic Conversion3.3. 由赋值产生的类型转换3.4. 强制类型转换3.5. 编译器如何处理类型转换16. 运算符详解1. 位运算1.1. 按位与、或、异或、取反运算 1.2. 移位运算1.3. 掩码1.4. 异或运算的一些特性2. 其它运算符2.1. 复合赋值运算符2.2. 条件运算符2.3. 逗号运算符2.4. sizeof运算符与typedef类型声明3. Side Effect与Sequence Point4. 运算符总结17. 计算机体系结构基础1. 内存与地址2. CPU3. 设备4. MMU5. Memory Hierarchy18. x86汇编程序基础1. 最简单的汇编程序2. x86的寄存器3. 第二个汇编程序4. 寻址方式5. ELF文件5.1. 目标文件5.2. 可执行文件19. 汇编与C之间的关系1. 函数调用2. main函数和启动例程3. 变量的存储布局4. 结构体和联合体5. C内联汇编6. volatile限定符20. 链接详解1. 多目标文件的链接2. 定义和声明2.1. extern和 static关键字2.2. 头文件2.3. 定义和声明的详细规则3. 静态库4. 共享库4.1. 编译、链接、运行 4.2. 动态链接的过程4.3. 共享库的命名惯例5. 虚拟内存管理21. 预处理1. 预处理的步骤2. 宏定义2.1. 函数式宏定义2.2. 内联函数2.3. #、 ##运算符和可变参数2.4. 宏展开的步骤3. 条件预处理指示4. 其它预处理特性22. Makefile基础1. 基本规则2. 隐含规则和模式规则3. 变量4. 自动处理头文件的依赖关系5. 常用的 make命令行选项23. 指针1. 指针的基本操作2. 指针类型的参数和返回值3. 指针与数组4. 指针与 const限定符5. 指针与结构体6. 指向指针的指针与指针数组7. 指向数组的指针与多维数组8. 函数类型和函数指针类型9. 不完全类型和复杂声明24. 函数接口1. 本章的预备知识1.1. strcpy与 strncpy1.2. malloc与 free2. 传入参数与传出参数3. 两层指针的参数4. 返回值是指针的情况5. 回调函数6. 可变参数25. C标准库1. 字符串操作函数 1.1. 初始化字符串1.2. 取字符串的长度1.3. 拷贝字符串1.4. 连接字符串1.5. 比较字符串1.6. 搜索字符串1.7. 分割字符串2. 标准I/O库函数2.1. 文件的基本概念2.2. fopen/fclose2.3. stdin/stdout/stderr2.4. errno与perror函数2.5. 以字节为单位的I/O函数2.6. 操作读写位置的函数2.7. 以字符串为单位的I/O函数2.8. 以记录为单位的I/O函数2.9. 格式化I/O函数2.10. C标准库的I/O缓冲区3. 数值字符串转换函数4. 分配内存的函数5. 本章综合练习26. 链表1. 编写中27. 二叉树和哈希表1. 编写中III. Linux系统编程28. 文件与I/O1. 汇编程序的Hello world2. C标准I/O库函数与Unbuffered I/O函数3. open/close4. read/write5. lseek6. fcntl7. ioctl8. mmap29. 文件系统1. 引言2. ext2文件系统2.1. 总体存储布局2.2. 实例剖析2.3. 数据块寻址2.4. 文件和目录操作的系统函数 3. VFS3.1. 内核数据结构3.2. dup和dup2函数30. 进程1. 引言2. 环境变量3. 进程控制3.1. fork函数3.2. exec函数3.3. wait和waitpid函数4. 进程间通信4.1. 管道4.2. 其它IPC机制5. 练习:实现简单的Shell31. Shell脚本1. Shell的历史2. Shell如何执行命令2.1. 执行交互式命令2.2. 执行脚本3. Shell的基本语法3.1. 变量3.2. 文件名代换(Globbing):* ? []3.3. 命令代换:`或 $()3.4. 算术代换:$(())3.5. 转义字符\3.6. 单引号3.7. 双引号4. bash启动脚本4.1. 作为交互登录Shell启动,或者使用--login参数启动4.2. 以交互非登录Shell启动4.3. 非交互启动4.4. 以sh命令启动5. Shell脚本语法5.1. 条件测试:test [5.2. if/then/elif/else/fi5.3. case/esac5.4. for/do/done5.5. while/do/done 5.6. 位置参数和特殊变量5.7. 函数6. Shell脚本的调试方法32. 正则表达式1. 引言2. 基本语法3. sed4. awk5. 练习:在C语言中使用正则表达式33. 信号1. 信号的基本概念2. 产生信号2.1. 通过终端按键产生信号2.2. 调用系统函数向进程发信号2.3. 由软件条件产生信号3. 阻塞信号3.1. 信号在内核中的表示3.2. 信号集操作函数3.3. sigprocmask3.4. sigpending4. 捕捉信号4.1. 内核如何实现信号的捕捉4.2. sigaction4.3. pause4.4. 可重入函数4.5. sig_atomic_t类型与volatile限定符4.6. 竞态条件与sigsuspend函数4.7. 关于SIGCHLD信号34. 终端、作业控制与守护进程1. 终端1.1. 终端的基本概念1.2. 终端登录过程1.3. 网络登录过程2. 作业控制2.1. Session与进程组2.2. 与作业控制有关的信号3. 守护进程35. 线程 1. 线程的概念2. 线程控制2.1. 创建线程2.2. 终止线程3. 线程间同步3.1. mutex3.2. Condition Variable3.3. Semaphore3.4. 其它线程间同步机制4. 编程练习36. TCP/IP协议基础1. TCP/IP协议栈与数据包封装2. 以太网(RFC 894)帧格式3. ARP数据报格式4. IP数据报格式5. IP地址与路由6. UDP段格式7. TCP协议7.1. 段格式7.2. 通讯时序7.3. 流量控制37. socket编程1. 预备知识1.1. 网络字节序1.2. socket地址的数据类型及相关函数2. 基于TCP协议的网络程序2.1. 最简单的TCP网络程序2.2. 错误处理与读写控制2.3. 把client改为交互式输入2.4. 使用fork并发处理多个client的请求2.5. setsockopt2.6. 使用select3. 基于UDP协议的网络程序4. UNIX Domain Socket IPC5. 练习:实现简单的Web服务器5.1. 基本HTTP协议5.2. 执行CGI程序A. 字符编码1. ASCII码 2. Unicode和UTF-83. 在Linux C编程中使用Unicode和UTF-8B. 编译开发工具小结1. gcc常用选项2. gcc常见错误信息3. binutils常用命令

2011-05-11

空空如也

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

TA关注的人

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