1、nginx(轻量级)与apache(网页服务器软件)的比较:
Nginx(发音同engine x)是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器
a 、nginx最新版本的静态文件处理能力高于apache,出错率低相比较而言apache的在压力测试时表现不稳定;http://blog.csdn.net/lengzijian/article/details/7699444
b、动态文件处理能力:根据出错率来看,nginx明显低于apache,总的观察看来nginx无论是动态处理能力还是静态处理能力,都比apahce要强劲很多
c、优化后Nginx 0.8.46 + PHP 5.2.14 (FastCGI)可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍
d、同时nginx还是一款优秀的反向代理、负载均衡服务器,策略丰富(round robin、IP、Hash以及一些第三方的策略插件)
http://zh.wikipedia.org/wiki/Nginx
各自优缺点:
a、Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。与旧版本(<=2.2)的Apache不同,nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑,削减了上下文调度开销,所以并发服务能力更强。整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。 在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。
b、整体采用模块化设计是nginx的一个重大特点,甚至http服务器核心功能也是一个模块。要注意的是:nginx的模块是静态的,添加和删除模块都要对nginx进行重新编译,这一点与Apache的动态模块完全不同。
2、JAVA与C语言的运算符重载实现比较:
if(3>2>1){
}
a、java中提示
The operator > is undefined for the argument type(s) boolean, int
if(3>a&&a>1)这种写法才是对的
http://blog.csdn.net/java05/article/details/3239997
&&和||只能用与逻辑运算 当你运行代码System.out.println(9&&10);时.
会抛出The operator && is undefined for the argument type(s) int, int 的错误 改成String也会报同样的错误.
通过在&&或||两边放置不同类型数据,发现他们只支持boolean类型.
而&和|两边则支持int boolean char三种类型,如果放的是int 或char则进行位运算,如果放的是boolean则进行逻辑运算
b、但是同样的表达式在c语言中是可以进行运行的
3、HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:
(1) 建立TCP连接
在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80
(2) Web浏览器向Web服务器发送请求命令
一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令
例如:GET/sample/hello.jsp HTTP/1.1
(3) Web浏览器发送请求头信息
浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。
(4) Web服务器应答
客户机向服务器发出请求后,服务器会客户机回送应答,
HTTP/1.1 200 OK
应答的第一部分是协议的版本号和应答状态码
(5) Web服务器发送应答头信息
正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。
(6) Web服务器向浏览器发送数据
Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据
(7) Web服务器关闭TCP连接
一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码
Connection:keep-alive
TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
4、linux shell文本替换工具sed,更多工具请参看http://blog.csdn.net/shuzui1985/article/details/7730538
sed
原文件sedtest中为:
jhy
mvk
mvk
end
分别执行:
a、sed "/mv/d" sedtest
文件未被修改,输出为:
jhy
end
b、sed "s/mv/d/" sedtest
文件未被修改,输出为:
jhy
dk
dk
end
c、sed -i "s/mv/d/" sedtest
没有输出,文件被修改为:
jhy
dk
dk
end
6、一些简单的SQL语句
常用的表数据类型:
(1)char、varchar、text和nchar、nvarchar、ntext
char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。
后面三种数据类型和前面的相比,从名称上看只是多了个字母"n",它表示存储的是Unicode数据类型的字符。写过程序的朋友对Unicode应该很了解。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
nchar、nvarchar的长度是在1到4000之间。和char、varchar比较:nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。
text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。
(2)datetime和smalldatetime datetime:从1753年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒。 smalldatetime:从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟。 (3)bitint、int、smallint、tinyint和bit bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据。 int:从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据。 smallint:从-2^15(-32,768)到2^15-1(32,767)的整数数据。 tinyint:从0到255的整数数据。 bit:1或0的整数数据。
1、当使用非unicode时慎用以下这种查询: select f from t where f = N'xx' 原因:无法利用到索引,因为数据库会将f先转换到unicode再和N'xx'比较 2、char 和相同长度的varchar处理速度差不多(后面还有说明) 3、varchar的长度不会影响处理速度!!!(看后面解释) 4、索引中列总长度最多支持总为900字节,所以长度大于900的varchar、char和大于450的nvarchar,nchar将无法创建索引 5、text、ntext上是无法创建索引的
创建数据库
create database database-name
删除数据库
drop database database-name
between的用法,between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2
创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
create table student(name char(4),time datetime not null)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
删除新表:drop table tabname
增加字段
alter table docdsp add dspcode char(200)
删除字段
ALTER TABLE table_NAME DROP COLUMN column_NAME
修改字段类型
ALTER TABLE table_name ALTER COLUMN column_name new_data_type
范德萨