??xml version="1.0" encoding="utf-8" standalone="yes"?>四虎在线观看,久久综合av,国产一二精品视频http://www.aygfsteel.com/Timnity/archive/2005/12/29/25951.htmlTimnityTimnityThu, 29 Dec 2005 13:50:00 GMThttp://www.aygfsteel.com/Timnity/archive/2005/12/29/25951.htmlhttp://www.aygfsteel.com/Timnity/comments/25951.htmlhttp://www.aygfsteel.com/Timnity/archive/2005/12/29/25951.html#Feedback0http://www.aygfsteel.com/Timnity/comments/commentRss/25951.htmlhttp://www.aygfsteel.com/Timnity/services/trackbacks/25951.html介绍一下应用环?Q?BR>windows 2003  apache_2.0.55   tomcat-5.5.9

后面两个软g都可以从 www.Apache.org 免费下蝲得到?/P>

apache_2.0.55-win32-x86-no_ssl.msi q个文g下蝲后安装就可以使用无需~译

jakarta-tomcat-5.5.9.exe 直接安装可以了

q入正题Q由于win默认IIS占据?0端口所以要安装Apache之前先打开 开始菜?理工具-服务选项

停止 IIS Admin Service 服务 在这个上面右键选属性把启动cd更改为禁止,以免下蝲操作pȝ重vQiis有自动开始服务造成80端口与apache冲突?/P>

接着双击apache_2.0.55-win32-x86-no_ssl.msi文gq行安装Q安装过E可选安装目录?/P>

我这里是装在?C:Apache Group目录下面Q安装程序自Z个Apache2目录Q所以安装完毕Apache文g都在C:Apache GroupApache2目录下面?/P>

安装l束后打开 http://localhost/ 应该可以看到ApacheƢ迎画面Q至此Apache安装成功?/P>

接着安装TOMCATQ关于TOMCAT的安装方法网上已l很多资源了Q而且5.0以后的TOMCAT安装很容易,直接双击q行选择安装目录一路下一步就行了?/P>

我的TOMCAT安装在了C:Tomcat5目录下。默认的TOMCAT服务端口?080Q所以安装完毕后览器里键入http://localhost:8080 应该能看到tomcat的欢q画面,是一只猫Q我惛_安熟悉了?/P>

二者都正确安装后,接着开始整合工作?/STRONG>

整合二者需要apache出品的一个组Ӟ文g不大所以我们在文章内提供下?jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip 解压~后其实我们只需要modules目录里面的mod_jk2.so 文gQcopy到Apache安装目录下modules文g多wQ我们的路径是C:\Apache Group\Apache2\modules 

接着在C:\Apache Group\Apache2\conf目录下徏workers2.properties文g。内容用C本编辑ؓQ?/P>

代码内容
[shm]
file=${serverRoot}/logs/shm.file
size=1048576
#The socket channel
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
#define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
#uri mapping
[uri:/*.jsp]
[uri:/*.do]
[uri:/*.gv]
worker=ajp13:localhost:8009

然后用记事本~辑C:\Apache Group\Apache2\conf\httpd.conf 文gQ在文gNq加一下内?/P>

代码内容
#服务器IP地址

NameVirtualHost 192.168.1.100:80
<VirtualHost 192.168.1.100:80>

#理员EMAIL
ServerAdmin gamvan@gmail.com

#|站l对路径
DocumentRoot "E:\MYJAVA\myWeb"

# L?如果有域名解析到q个IP可以直接写域名如 club.gamvan.com
ServerName 192.168.1.100  

#以下两行是日志文仉认即?/FONT>
ErrorLog logs/error.log
CustomLog logs/access.log common
</VirtualHost>

实际应用中最好去掉井号后面的灰色注释内容Q好了APACHE搞定了。接下来配置TOMCAT的虚拟目录,我想大家都很熟悉Q但是我q里q是|嗦一下业队的h章标?详解 二字?BR>
扑ֈTOMCAT安装目录Q我q里是C:\Tomcat5\conf C本打开 server.xml文g ctrl+f查找到这个标{

<!-- Define the default virtual host -->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">


我们不管q个Q直接在q个标签上面加入一个完整的虚拟L配置标签Q注意要和apache配置的虚拟目录一P代码如下Q?/P>

代码内容
<Host name="192.168.1.100" appBase="E:\MYJAVA\myWeb"  unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="" debug="0" />
</Host>


OKQ记得保存文Ӟ然后重vtomcat Q?重vapacheQ?键入http://192.168.1.100 应该可以访问JSP文g了,试一下吧?BR>
注意我这?192.168.1.100 是我的内|本机IPQ实际用的话你可以换成你自q内网本机IPQ或者干脆用127.0.0.1

PSQapache服务器和tomcat整合后不能立卌问,需要等待一会,可能是他俩内部握手确认合作协议呢Q?刷几下就行了。实在不行重Pq不行就重新配置一遍,如何q不行请?club.gamvan.com 今晚在线开发?/A>来交一下,让大家一起帮助您解决?/P>

Timnity 2005-12-29 21:50 发表评论
]]>
堆和栈的区别 [转]http://www.aygfsteel.com/Timnity/archive/2005/12/29/25939.htmlTimnityTimnityThu, 29 Dec 2005 13:29:00 GMThttp://www.aygfsteel.com/Timnity/archive/2005/12/29/25939.htmlhttp://www.aygfsteel.com/Timnity/comments/25939.htmlhttp://www.aygfsteel.com/Timnity/archive/2005/12/29/25939.html#Feedback0http://www.aygfsteel.com/Timnity/comments/commentRss/25939.htmlhttp://www.aygfsteel.com/Timnity/services/trackbacks/25939.html一、预备知识—程序的内存分配
一个由c/C++~译的程序占用的内存分ؓ以下几个部分
1、栈区(stackQ?nbsp;q译器自动分配释放 Q存攑և数的参数|局部变量的值等。其操作方式cM于数据结构中的栈?BR>2、堆区(heapQ?nbsp;?nbsp;一般由E序员分配释放, 若程序员不释放,E序l束时可能由OS回收 。注意它与数据结构中的堆是两回事Q分配方式倒是cM于链表,呵呵?BR>3、全局区(静态区Q(staticQ—,全局变量和静态变量的存储是放在一块的Q初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在盔R的另一块区域?nbsp;- E序l束后有pȝ释放 
4、文字常量区—常量字W串是攑֜q里的?nbsp;E序l束后由pȝ释放
5、程序代码区—存攑ևC的二q制代码?BR>二、例子程?nbsp;
q是一个前辈写的,非常详细 
//main.cpp 
int a = 0; 全局初始化区 
char *p1; 全局未初始化?nbsp;
main() 

int b; ?nbsp;
char s[] = "abc"; ?nbsp;
char *p2; ?nbsp;
char *p3 = "123456"; 123456\0在常量区Qp3在栈上?nbsp;
static int c =0Q?nbsp;全局Q静态)初始化区 
p1 = (char *)malloc(10); 
p2 = (char *)malloc(20); 
分配得来?0?0字节的区域就在堆区?nbsp;
strcpy(p1, "123456"); 123456\0攑֜帔R区,~译器可能会它与p3所指向?123456"优化成一个地斏V?nbsp;



二、堆和栈的理论知?nbsp;
2.1甌方式 
stack: 
ql自动分配?nbsp;例如Q声明在函数中一个局部变?nbsp;int b; pȝ自动在栈中ؓb开辟空?nbsp;
heap: 
需要程序员自己甌Qƈ指明大小Q在c中malloc函数 
如p1 = (char *)malloc(10); 
在C++中用newq算W?nbsp;
如p2 = (char *)malloc(10); 
但是注意p1、p2本n是在栈中的?nbsp;


2.2 
甌后系l的响应 
栈:只要栈的剩余I间大于所甌I间Q系l将为程序提供内存,否则报异常提示栈溢出?nbsp;
堆:首先应该知道操作pȝ有一个记录空闲内存地址的链表,当系l收到程序的甌Ӟ 
会遍历该链表Q寻扄一个空间大于所甌I间的堆l点Q然后将该结点从I闲l点链表中删除,q将该结点的I间分配l程序,另外Q对于大多数pȝQ会在这块内存空间中的首地址处记录本ơ分配的大小Q这P代码中的delete语句才能正确的释放本内存I间。另外,׃扑ֈ的堆l点的大不一定正好等于申L大小Q系l会自动的将多余的那部分重新攑օI闲链表中?nbsp;

2.3甌大小的限?nbsp;
栈:在Windows?栈是向低地址扩展的数据结构,是一块连l的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是pȝ预先规定好的Q在WINDOWS下,栈的大小?MQ也有的说是1MQM是一个编译时q定的常数Q,如果甌的空间超q栈的剩余空间时Q将提示overflow。因此,能从栈获得的I间较小?nbsp;
堆:堆是向高地址扩展的数据结构,是不q箋的内存区域。这是由于系l是用链表来存储的空闲内存地址的,自然是不q箋的,而链表的遍历方向是由低地址向高地址。堆的大受限于计算机系l中有效的虚拟内存。由此可见,堆获得的I间比较灉|Q也比较大?nbsp;


2.4甌效率的比较: 
栈由pȝ自动分配Q速度较快。但E序员是无法控制的?nbsp;
堆是由new分配的内存,一般速度比较慢,而且Ҏ产生内存片,不过用v来最方便. 
另外Q在WINDOWS下,最好的方式是用VirtualAlloc分配内存Q他不是在堆Q也不是在栈是直接在q程的地址I间中保留一快内存,虽然用v来最不方ѝ但是速度快,也最灉|?nbsp;

2.5堆和栈中的存储内?nbsp;
栈: 在函数调用时Q第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可执行语句Q的地址Q然后是函数的各个参敎ͼ在大多数的C~译器中Q参数是由右往左入栈的Q然后是函数中的局部变量。注意静态变量是不入栈的?nbsp;
当本ơ函数调用结束后Q局部变量先出栈Q然后是参数Q最后栈指针指向最开始存的地址Q也是dC的下一条指令,E序p点l运行?nbsp;
堆:一般是在堆的头部用一个字节存攑֠的大。堆中的具体内容有程序员安排?nbsp;

2.6存取效率的比?nbsp;

char s1[] = "aaaaaaaaaaaaaaa"; 
char *s2 = "bbbbbbbbbbbbbbbbb"; 
aaaaaaaaaaa是在q行时刻赋值的Q?nbsp;
而bbbbbbbbbbb是在~译时就定的; 
但是Q在以后的存取中Q在栈上的数l比指针所指向的字W串(例如?快?nbsp;
比如Q?nbsp;
Qi nclude 
void main() 

char a = 1; 
char c[] = "1234567890"; 
char *p ="1234567890"; 
a = c[1]; 
a = p[1]; 
return; 

对应的汇~代?nbsp;
10: a = c[1]; 
00401067 8A 4D F1 mov cl,byte ptr [ebp-0Fh] 
0040106A 88 4D FC mov byte ptr [ebp-4],cl 
11: a = p[1]; 
0040106D 8B 55 EC mov edx,dword ptr [ebp-14h] 
00401070 8A 42 01 mov al,byte ptr [edx+1] 
00401073 88 45 FC mov byte ptr [ebp-4],al 
W一U在d时直接就把字W串中的元素d寄存器cl中,而第二种则要先把指针D到edx中,在根据edxd字符Q显然慢了?nbsp;


2.7结Q?nbsp;
堆和栈的区别可以用如下的比喻来看出: 
使用栈就象我们去饭馆里吃饭,只管点菜Q发出申P、付钱、和吃(使用Q,吃饱了就赎ͼ不必理会切菜、洗菜等准备工作和洗、刷锅等扫尾工作Q他的好处是快捷Q但是自由度?nbsp;
使用堆就象是自己动手做喜Ƣ吃的菜_比较ȝQ但是比较符合自q口味Q而且自由度大?img src ="http://www.aygfsteel.com/Timnity/aggbug/25939.html" width = "1" height = "1" />

Timnity 2005-12-29 21:29 发表评论
]]>
վ֩ģ壺 | | ӯ| | Ҧ| ϻ| | ̩| | ¬| Ϊ| | ٺ| | | | | | ³ľ| ½| | | | | | | | | ̨| ˲| ̶| | | | ̨| | | Դ| ͡| | Ϫ|