<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[幸福的狗窝]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[幸福在哪里？别找了，看我，我就是幸福！追着幸福跑吧。]]></description>
<link>http://hi.baidu.com/ryouaki</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[数据库调优]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/2fe2356095e157d58cb10d43.html]]></link>
        <description><![CDATA[
		
		<p>以影响程度排序<br>
D1 业务逻辑 （影响最大）<br>
D2 数据设计 （表结构设计，数据建模）<br>
D3 应用程序设计 （SQL 语句的写法）<br>
D4 数据库的逻辑结构 （索引，区间，段，表空间）<br>
D5 数据库操作 （参数和配置）<br>
D6 访问路径<br>
D7 内存分配情况<br>
D8 I/O 和物理设计 （DBA 与业务沟通）（峰值多大，使用周期）<br>
D9 资源的征用<br>
D10 操作系统的调节&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
<br>
D1-D3 影响最大但比较难修改 （事先去做）</p>
<p>D4-D9 性能影响不是最大但经常去做的（DBA）</p>
<p>D10 手段不是很多</p>
<p> </p>
<p>本以为 数据库调优是什么呢。原来就是平时经常注意的 SQL文优化。当然这是以 我 作为一个程序员的角度去考虑。</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/%CF%B5%CD%B3%D3%A6%D3%C3">系统应用</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/2fe2356095e157d58cb10d43.html#comment">查看评论</a>]]></description>
        <pubDate>2009-09-14  11:43</pubDate>
        <category><![CDATA[系统应用]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/2fe2356095e157d58cb10d43.html</guid>
</item>

<item>
        <title><![CDATA[STRUTS2 多国语言的设置]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/088326c2450c813fe4dd3b28.html]]></link>
        <description><![CDATA[
		
		<p>&nbsp;&nbsp;&nbsp; Locale locale = null;<br>
&nbsp;&nbsp;&nbsp; if(language.equals(&quot;zh_CN&quot;))<br>
&nbsp;&nbsp;&nbsp;&nbsp; locale = Locale.CHINA;<br>
&nbsp;&nbsp;&nbsp; if(language.equals(&quot;ja_JP&quot;))<br>
&nbsp;&nbsp;&nbsp;&nbsp; locale = Locale.JAPAN;<br>
&nbsp;&nbsp;&nbsp; ActionContext.getContext().setLocale(locale);<br>
&nbsp;&nbsp;&nbsp; super.setAttaToSession(&quot;WW_TRANS_I18N_LOCALE&quot;,locale);</p>
<p> </p>
<p>这样就可以设置 浏览器浏览的语言版本。</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/web%D3%A6%D3%C3">web应用</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/088326c2450c813fe4dd3b28.html#comment">查看评论</a>]]></description>
        <pubDate>2009-09-12  14:28</pubDate>
        <category><![CDATA[web应用]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/088326c2450c813fe4dd3b28.html</guid>
</item>

<item>
        <title><![CDATA[Linux CVS添加新用户方法]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/61003e2ca46b28e58b1399f6.html]]></link>
        <description><![CDATA[
		
		<p>1 使用root用户进行登录</p>
<p>2 使用htpasswd命令生成md5加密密码</p>
<p>htpasswd -cb passtmp user *we_2k9@ //切忌不能用$符号开头。passtmp是生成的临时文件。里面存放加密后的密码</p>
<p>3 用cat 察看加密后的密码</p>
<p>cat passtmp</p>
<p>user:S20c4uBTCABxg</p>
<p>4 编辑cvsroot安装目录下CVSROOT子目录中passwd文件</p>
<p>将 passtmp的内容添加在文件末尾</p>
<p>user:S20c4uBTCABxg:cvsroot //添加cvsroot 访问目录权限</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/%CF%B5%CD%B3%D3%A6%D3%C3">系统应用</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/61003e2ca46b28e58b1399f6.html#comment">查看评论</a>]]></description>
        <pubDate>2009-07-29  10:03</pubDate>
        <category><![CDATA[系统应用]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/61003e2ca46b28e58b1399f6.html</guid>
</item>

<item>
        <title><![CDATA[[饮食健康]水果汁 15种 以后再添]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/d174b033aa18474bac4b5f0d.html]]></link>
        <description><![CDATA[
		
		<strong>果汁：</strong>调理肠胃，促进肾机能，預防高血压。
<p><strong>西柚汁：</strong>降低胆固醇，預防感冒及牙龈出血。</p>
<p><strong>奇异果汁：</strong>含丰富維他命C，清熱生津，止吐深泻。</p>
<p><strong>芒果汁：</strong>帮助消化，防止晕船呕吐喉咙疼。</p>
<p><strong>菠萝汁：</strong>消肿，帮助消化，舒緩喉痛。</p>
<p><strong>木瓜汁：</strong>消滯润肺，帮助消化蛋白质。</p>
<p><strong>西瓜汁：</strong>消暑利尿，降血压。</p>
<p><strong>西芹汁：</strong>补充体力，舒緩焦虑、压力。</p>
<p><strong>香蕉汁：</strong>提高精力，強健肌肉，滋润肺肠，血脉畅通。</p>
<p><strong>葡萄汁：</strong>调节心跳，补血安神，加強肾、肝功能，帮助消化。</p>
<p><strong>柠檬汁：</strong>含丰富维他命C，止咳化痰，有助排除体內毒素。</p>
<p><strong>橙汁：</strong>滋润健胃，強化血管，可預防心脏病、中风、伤风、感冒和瘀伤。</p>
<p><strong>士多啤梨汁：</strong>利尿止泻，強健神经，补充血液。</p>
<p><strong>梨汁：</strong>能維持心脏，血管正常运作，去除体內毒素。</p>
<p><strong>椰子汁：</strong>預防心脏病，关节炎和癌症，強健肌肤，滋润止咳。</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/%CC%EC%CC%EC%C3%C0%CA%B3">天天美食</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/d174b033aa18474bac4b5f0d.html#comment">查看评论</a>]]></description>
        <pubDate>2009-05-02  08:40</pubDate>
        <category><![CDATA[天天美食]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/d174b033aa18474bac4b5f0d.html</guid>
</item>

<item>
        <title><![CDATA[[饮食健康]蔬菜汁 15种 以后再添]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/bd0ecacc8d551b1800e9280d.html]]></link>
        <description><![CDATA[
		
		<p>西红柿+芹菜+柠檬汁=减肥。</p>
<p>橙子+胡萝卜=美容除斑、降低胆固醇。注意：最好分开榨汁再合饮。</p>
<p>猕猴桃+苹果+薄荷叶=调养肌肤、滋润美白，减少皱纹产生。</p>
<p>木瓜+蜂蜜+橙汁=适合体力不足、消化不良、便秘、肠胃弱者引用。</p>
<p>芹菜+胡萝卜+苹果=预防及稳定高血压及血管硬化。注意：最好分开榨汁再合饮。</p>
<p>莲藕+西瓜=防止舌咽干燥、口渴、干咳、皮肤干燥、毛发干枯、大便秘结等症候。</p>
<p>芹菜+蜂蜜=清热解毒，养肝滋阴，降血压。</p>
<p>黄瓜+柠檬+橙子+胡萝卜+蜂蜜=美容，可使皮肤柔细光滑。注意：黄瓜、胡萝卜含丰富维生素c生化酵素，应该最后加入。</p>
<p>芹菜+西红柿+蜂蜜=适合男性、慢性病患者、女性、工作疲劳者饮用。可预防血管硬化、除烦安神、帮助入眠；预防癌症，强精、健胃；可改善过敏体质。</p>
<p>胡萝卜+苹果+蜂蜜=适合儿童、视力较差、慢性疾病患者、中老年男性、女性等饮用。有增强抵抗力、改善皮肤粗糙；预防眼疾、癌症、慢性病；强壮骨骼、保护牙齿的作用。</p>
<p>芹菜+西瓜+蜂蜜=强心、利尿、消肿；消除疲劳，帮助消化；预防种脉硬化、高血压。</p>
<p>西瓜+黄瓜+蜂蜜+柠檬=利尿解热、净血、调节身体机能，适合肾脏机能不佳、易水肿者饮用。注意：黄瓜最后放。</p>
<p>西柚+菠萝+苹果+柠檬+蜂蜜=适宜晒后皮肤保养。</p>
<p>猕猴桃+胡萝卜+苹果+蜂蜜+柠檬=供给脑部及神经活力；预防贫血、眼疾、气喘、糖尿病；净化血液，美化肌肤；帮助毛发发育。注意：胡萝卜最后放。</p>
<p>芹菜+莴苣+菠萝+苹果+柠檬+蜂蜜=适合女性、男性、精力不足、熬夜工作者饮用。预防雀斑、日晒、皮肤粗糙具良好美容效果；增强精力、安定神经、对失眠有效。</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/%CC%EC%CC%EC%C3%C0%CA%B3">天天美食</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/bd0ecacc8d551b1800e9280d.html#comment">查看评论</a>]]></description>
        <pubDate>2009-05-02  08:38</pubDate>
        <category><![CDATA[天天美食]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/bd0ecacc8d551b1800e9280d.html</guid>
</item>

<item>
        <title><![CDATA[[原]Struts2.1.6+Spring2.5+hinernate3.2整合 实例图解]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/3297c4344999debfd0a2d393.html]]></link>
        <description><![CDATA[
		
		图片太大。 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/web%D3%A6%D3%C3">web应用</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/3297c4344999debfd0a2d393.html#comment">查看评论</a>]]></description>
        <pubDate>2009-04-14  13:50</pubDate>
        <category><![CDATA[web应用]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/3297c4344999debfd0a2d393.html</guid>
</item>

<item>
        <title><![CDATA[[原]Struts2与Spring2.5整合 实例图解]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/a27ea2ef6f9e223eadafd517.html]]></link>
        <description><![CDATA[
		
		<p> </p>
<div forimg="1" align="center">
<p><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/e05ec07757831b39b151b9ec.jpg"></p>
<p> <img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/2ac1a1fcf35d6bdffd037fed.jpg"></p>
<div forimg="1" align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/421bce86e883d71c66096eee.jpg">
<div forimg="1" align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/21282a16f3b7e76821a4e9e8.jpg">
<div forimg="1" align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/9cf72ba796a560b7d04358e8.jpg">
<div forimg="1" align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/47ecee949355d53cd31b70e9.jpg">
<div forimg="1" align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/9f20becad353a264f31fe7eb.jpg">
<div forimg="1" align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/91db12f48048cafbf3d385f4.jpg">
<div forimg="1" align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/15cb5f7aae2ee2cf2f73b3f5.jpg"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/web%D3%A6%D3%C3">web应用</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/a27ea2ef6f9e223eadafd517.html#comment">查看评论</a>]]></description>
        <pubDate>2009-04-13  11:34</pubDate>
        <category><![CDATA[web应用]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/a27ea2ef6f9e223eadafd517.html</guid>
</item>

<item>
        <title><![CDATA[[原]struts2.0工程搭建明细]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/f0f40bd02986cc87a1ec9c06.html]]></link>
        <description><![CDATA[
		
		<p><strong>使用工具:eclipse 3.2&nbsp;&nbsp;  <br>
软件包&nbsp;&nbsp;&nbsp;  :struts2.1.6<br>
软件包说明<br>
1 struts2-core-2.1.6.jar</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  struts2.0核心包。你必须把这个文件中的/WEB-INF/lib目录中您的Web应用程序。 　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  2 xwork-2.1.2.jar</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  包含webwork构建所依赖的xwork类库，struts2.0合并了webwork 　 <br>
<strong>3 commons-fileupload-1.2.1.jar</strong>&nbsp;&nbsp;  Apache开发的文件上传功能类.(Apache jakarta) <strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  4 freemarker-2.3.13.jar</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  FreeMarker 是一个模版引擎，一个基于文本的模板输出工具。&nbsp;&nbsp;<strong> <br>
5 ognl-2.6.11.jar</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  OGNL是Object-Graph Navigation Language的缩写，它是一种功能强大的表达式语言 <br>
<strong>6 commons-logging-1.0.4.jar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong>apache开发的log日志工具 <br>
<strong>详细步骤：</strong></p>
<div forimg="1" align="center"><img class="blogimg" style="width: 648px; height: 604px" height="819" width="920" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/7a835c2ac304791a5243c12a.jpg"></div>
<p><strong><img class="blogimg" style="width: 674px; height: 506px" height="786" width="943" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/e5da2236b7f347ffa2cc2b36.jpg"> </strong></p>
<div forimg="1" align="center"><img class="blogimg" style="width: 696px; height: 621px" height="673" width="690" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/f1039e0342d0c9ce09fa9332.jpg">
<div forimg="1" align="center"><img class="blogimg" style="width: 692px; height: 598px" height="717" width="786" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/088326c2fe00ec17e4dd3b3c.jpg">
<div forimg="1" align="center"><img class="blogimg" style="width: 692px; height: 535px" height="657" width="606" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/0bf11b0ee99bbee87acbe13b.jpg">
<div forimg="1" align="center"><img class="blogimg" style="width: 682px; height: 629px" height="635" width="518" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/90e832b535837cec37d3ca04.jpg">
<div forimg="1" align="center"><img class="blogimg" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/c209e8cb46b0dfdf53664f05.jpg">
<div forimg="1" align="center"><img class="blogimg" style="width: 692px; height: 599px" height="670" width="476" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/aad2483f9b6212ce55e72306.jpg">
<div forimg="1" align="center"><img class="blogimg" style="width: 690px; height: 655px" height="709" width="546" border="0" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/073d991f014444d7e1fe0b07.jpg"></div>
</div>
</div>
</div>
</div>
</div>
</div> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/web%D3%A6%D3%C3">web应用</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/f0f40bd02986cc87a1ec9c06.html#comment">查看评论</a>]]></description>
        <pubDate>2009-04-08  10:10</pubDate>
        <category><![CDATA[web应用]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/f0f40bd02986cc87a1ec9c06.html</guid>
</item>

<item>
        <title><![CDATA[MYSQL绿色版本的安装]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/23ada380ebb2e4d09023d902.html]]></link>
        <description><![CDATA[
		
		<p>1.下载绿色版MySQL<br>
&nbsp;&nbsp;&nbsp;  到官方网站下载最新版的绿色版MySQL（<a href="http://dev.mysql.com/downloads/">http://dev.mysql.com/downloads/</a>），然后解压到自己想要安<br>
装的目录，在解压后的目录中把my-large.ini另存为my.ini，修改数据库的默认编码为UTF-8。在[mysql]<br>
和[mysqld]后面添加default-character-set=utf8<br>
==============================================================================================<br>
[mysql]<br>
default-character-set=utf8<br>
然后下面<br>
# The MySQL server<br>
[mysqld]<br>
port&nbsp;&nbsp;  = 3306<br>
socket&nbsp;&nbsp;  = /tmp/mysql.sock<br>
……<br>
# Try number of CPU's*2 for thread_concurrency<br>
thread_concurrency = 8<br>
之后添加<br>
default-character-set=utf8<br>
==============================================================================================<br>
2.安装服务：<br>
在命令行切换到bin目录下，执行mysqld -install</p>
<p>3.启动（关闭）服务<br>
net start(stop) mysql</p>
<p>4.卸载服务<br>
mysqld -remove</p>
<p>5.给root用户添加（修改密码）密码manage（root初始密码为空）<br>
在bin命令行下输入：<br>
mysqladmin -uroot -p password manage<br>
输入密码时直接按回车（修改时输入原来密码）</p>
<p>6.登陆MySQL<br>
mysql -uroot -pmanage</p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/%CF%B5%CD%B3%D3%A6%D3%C3">系统应用</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/23ada380ebb2e4d09023d902.html#comment">查看评论</a>]]></description>
        <pubDate>2009-02-17  12:44</pubDate>
        <category><![CDATA[系统应用]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/23ada380ebb2e4d09023d902.html</guid>
</item>

<item>
        <title><![CDATA[[转载]大病来临的六大征兆]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/861d5fd3110012073bf3cf71.html]]></link>
        <description><![CDATA[
		
		<span><font color="#000000">三位来自美国佐治亚州的医生&mdash;&mdash;尼尔·舒 尔曼医学博士、杰克·伯奇医学博士以及朱恩·安医学博士最近出版了《你身体的红灯发出警报》的修订本，介绍身体生病之前会出现哪些症状或者体征。美国&ldquo;医 学博士网站&rdquo;介绍了其中的六种转瞬即逝的症状，需要格外注意，否则会造成生命危险。<br>
<br>
</font></span><span><font color="#000000">第 一，胳膊腿麻痹、刺痛、麻木、精神紊乱、晕眩、双瞳、说话打颤、语无伦次、虚弱、尤其是面部或者身体一侧出现上述情况。这些是中风、也就是脑卒中的前兆， 此时向大脑供氧的动脉堵塞或者破裂，造成大脑组织死亡。症状严重与否取决于疾病发生于大脑的什么部位。如果大动脉堵塞，大脑的很大一部分就会受到影响，进 而导致半身麻痹，同时失去讲话、理解等其他功能。如果是小血管堵塞，麻痹也许只限于胳膊腿。<br>
<br>
</font></span><span><font color="#000000">出现上述症状，应该即刻就医。一般说来，血栓发生三小时内是治疗的最佳时机。救助及时非常重要，可以大脑发生永久性损伤之前避免潜在大脑组织死亡。<br>
<br>
</font></span><span><font color="#000000">第 二，胸部疼痛或者不适、胳膊、两颚、颈部疼痛、突发冷汗、极度虚弱、恶心、呕吐、晕眩或者气短。这是心脏病发作的前兆。如果身体出现上述某些症状，就拨打 急救电话去医院治疗。舒尔曼和伯奇还建议，病人口中嚼一片阿司匹林，以防心脏病发作时心肌受到损伤，当然对阿司匹林过敏者除外。<br>
<br>
</font></span><span><font color="#000000">并 非所有人心脏病发作的时候都有胸痛或者压迫、消化不良感。有些病人，特别是女性、年纪大或者患有糖尿病的病人会出现&ldquo;无痛&rdquo;心脏病。注意&ldquo;无痛&rdquo;心脏病前 兆最关键：身体虚弱、突发晕眩、心跳加剧、气短、盗汗、大难临头的感觉或者恶心、呕吐。舒尔曼和伯奇说，最重要的是要知道心脏病发作的前兆，&ldquo;颚痛&mdash;&mdash;人 皆有之&rdquo;，不要一出现这种症状就说自己得了心脏病。位于亚特兰大埃默里大学医学院的内科副教授舒尔曼说：&ldquo;如果你还出汗，加上上面提到的一些其他症状，比 如气短，你就要注意将有严重情况发生。&rdquo;<br>
<br>
</font></span><span><font color="#000000">第 三，腿肚子酸痛，胸痛、气短或者咳血。这些是危险的腿部血栓形成的前兆，久坐之后，诸如长途空中和陆地旅行，最易发生。手术之后长时间卧床，也会出现这种 症状。伯奇说，人人都有可能得这种病，其常见性远远超过医生以及普通人的想象。坐卧时间久了&mdash;&mdash;站立行走时间久了也是一样，血液就会淤积在腿部。腿部出现 血栓，小腿肚子就觉得肿胀，摸起来很疼，你就该去看看医生了。如果突然胸痛或者气短，说明血栓可能已经脱落并通过血液进入肺部。那可是万分危险的，要立刻 去医院。<br>
<br>
</font></span><font color="#000000"><span>第 四，尿血但无痛感。如果发现尿中有血，即便没有痛感也要去看医生。尿血的常见原因有肾结石或者膀胱或者前列腺感染。出现这些症状，人们通常会有不舒服或者 疼痛的感觉，去医院是自然的了。相形之下，看到尿中有血却无痛感&mdash;&mdash;特别是绝无仅有的一次的时候，人们往往有&ldquo;等一等&rdquo;的想法。舒尔曼说，这种态度是要不 得的。不痛并不意味着不严重。肾脏、输尿管、膀胱、前列腺等部位的癌变都有可能引起尿道出血，当病灶很小，也就是能治的时候，病人通常是没有痛感的。舒尔 曼和伯奇说，不要忽略这些症状，要知道，尿中有血往往是早期诊断的唯一线索。<br>
<br>
</span><span>第五，哮喘不好也不坏。哮喘发作往往伴随</span></font><span style="color: black; "><font color="#000000">喘 息或者呼吸困难。如果症状不退，也不恶化，就应该去看急诊。如果哮喘发作不治疗，有可能出现严重的胸肌疲劳，甚导致病人死亡。有些人持续哮喘，却懒得去医 院，一来是这种情况以前发生过多次，二来是自己喘不上气来，需要别人送医院才行。哮喘导致呼吸困难，呼吸肌很可能疲劳，肺活量会减少。其结果，一个人体内 氧气水平会下降，血液二氧化碳水平会上升。伯奇和舒尔曼解释说：&ldquo;二氧化碳在血液中积聚会对大脑产生镇静作用。这样一来你会有一种昏昏欲睡的感觉，从而少 了呼吸的动力和精力。&rdquo;<br>
<br>
</font></span><span><font color="#000000">患 哮喘病的人看着很放松，呼吸的时候看着没费力气&mdash;&mdash;实际上，他们已经努力了七八个小时了。此时，情况也许更糟糕，因为这是呼吸衰竭的前兆。舒尔曼说，病人 病情恶化的时候，别人还以为他在好转呢。他们很镇静，就是死了，也是很平静的。关键是看，哮喘发作有多久了。连续几个小时使劲呼吸都没好转，就是看上去挺 好，也不能让病人继续呼吸下去了，应该马上去医院。<br>
<br>
</font></span><span><font color="#000000">第 六，抑郁和厮杀念头。忍得住压迫性胸痛或者气短的人很少，可是能忍住抑郁&mdash;&mdash;即便是到了堪堪毙命的地步也能忍的忍却有很多。舒尔曼说：&ldquo;抑郁是一个非常非 常严重的问题，这个问题会导致自杀。&rdquo;有些人抑郁的时候不寻求帮助，因为他们觉得在别人眼里他们神经不正常抑或缺少男子气。实际上，他们大脑中的化学物质 已经失去平衡。这也是一种疾病，一种别无二致的疾病。抑郁症包括悲伤、疲劳、冷漠、焦虑、睡眠习惯改变、没有食欲。抑郁可以通过药物或者心理方法治疗。<br>
<br>
</font></span><span><font color="#000000">当一个人有了上述这些症状的时候，一定要讲出来。医生也是人，也会误诊，包括心脏病也不例外。如果病人对潜在的症状有所认识，他们就医的时候就更有力量，就会获得更好的治疗效果。<br>
<br>
（原载二○○九年一月九日《生命时报》头版头条）</font></span> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/861d5fd3110012073bf3cf71.html#comment">查看评论</a>]]></description>
        <pubDate>2009-01-15  13:15</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/861d5fd3110012073bf3cf71.html</guid>
</item>

<item>
        <title><![CDATA[IOCP应用简例]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/9c606624c256af34c99559a8.html]]></link>
        <description><![CDATA[
		
		#include &lt;stdio.h&gt;<br>
#include &lt;stdlib.h&gt;<br>
#include &lt;conio.h&gt;<br>
#include &lt;string.h&gt;<br>
#include &lt;winsock2.h&gt;<br>
#include &lt;vector&gt;<br>
<br>
int main(int argc, char *argv[])<br>
{<br>
<br>
&nbsp;&nbsp;&nbsp;  if (argc &lt; 2) <br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  return 1;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  if (false == Initialize())<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  return 1;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  SOCKET ListenSocket; <br>
<br>
&nbsp;&nbsp;&nbsp;  struct sockaddr_in ServerAddress;<br>
<br>
&nbsp;&nbsp;&nbsp;  ListenSocket = WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED);<br>
<br>
&nbsp;&nbsp;&nbsp;  if (INVALID_SOCKET == ListenSocket) <br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  printf(&quot;\nError occurred while opening socket: %d.&quot;, WSAGetLastError());<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  goto error;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  ZeroMemory((char *)&amp;ServerAddress, sizeof(ServerAddress));<br>
<br>
&nbsp;&nbsp;&nbsp;  int nPortNo;<br>
&nbsp;&nbsp;&nbsp;  nPortNo = atoi(argv[1]);<br>
<br>
&nbsp;&nbsp;&nbsp;  ServerAddress.sin_family = AF_INET;<br>
&nbsp;&nbsp;&nbsp;  ServerAddress.sin_addr.s_addr = INADDR_ANY; <br>
&nbsp;&nbsp;&nbsp;  ServerAddress.sin_port = htons(nPortNo);&nbsp;&nbsp;&nbsp;  <br>
<br>
&nbsp;&nbsp;&nbsp;  if (SOCKET_ERROR == bind(ListenSocket, (struct sockaddr *) &amp;ServerAddress, sizeof(ServerAddress))) <br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  closesocket(ListenSocket);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  goto error;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  if (SOCKET_ERROR == listen(ListenSocket,SOMAXCONN))<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  closesocket(ListenSocket);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  goto error;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  g_hAcceptEvent = WSACreateEvent();<br>
<br>
&nbsp;&nbsp;&nbsp;  if (WSA_INVALID_EVENT == g_hAcceptEvent)<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  goto error;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  if (SOCKET_ERROR == WSAEventSelect(ListenSocket, g_hAcceptEvent, FD_ACCEPT))<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  WSACloseEvent(g_hAcceptEvent);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  goto error;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  DWORD nThreadID;<br>
&nbsp;&nbsp;&nbsp;  g_hAcceptThread = CreateThread(0, 0, AcceptThread, (void *)ListenSocket, 0, &amp;nThreadID);<br>
<br>
&nbsp;&nbsp;&nbsp;  while(!_kbhit())<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  Sleep(0);  <br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  CleanUp();<br>
&nbsp;&nbsp;&nbsp;  closesocket(ListenSocket);<br>
&nbsp;&nbsp;&nbsp;  DeInitialize();<br>
&nbsp;&nbsp;&nbsp;  return 0; <br>
<br>
error:<br>
&nbsp;&nbsp;&nbsp;  closesocket(ListenSocket);<br>
&nbsp;&nbsp;&nbsp;  DeInitialize();<br>
&nbsp;&nbsp;&nbsp;  return 1;<br>
}<br>
<br>
bool Initialize()<br>
{<br>
&nbsp;&nbsp;&nbsp;  g_nThreads = WORKER_THREADS_PER_PROCESSOR * GetNoOfProcessors();<br>
<br>
&nbsp;&nbsp;&nbsp;  g_phWorkerThreads = new HANDLE[g_nThreads];<br>
<br>
&nbsp;&nbsp;&nbsp;  InitializeCriticalSection(&amp;g_csConsole);<br>
<br>
&nbsp;&nbsp;&nbsp;  InitializeCriticalSection(&amp;g_csClientList);<br>
<br>
&nbsp;&nbsp;&nbsp;  g_hShutdownEvent = CreateEvent(NULL, TRUE, FALSE, NULL);<br>
<br>
&nbsp;&nbsp;&nbsp;  WSADATA wsaData;<br>
<br>
&nbsp;&nbsp;&nbsp;  int nResult;<br>
&nbsp;&nbsp;&nbsp;  nResult = WSAStartup(MAKEWORD(2,2), &amp;wsaData);<br>
<br>
&nbsp;&nbsp;&nbsp;  if (NO_ERROR != nResult)<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  return false; //error<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  if (false == InitializeIOCP())<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  return false;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  return true;<br>
}<br>
<br>
bool InitializeIOCP()<br>
{<br>
<br>
&nbsp;&nbsp;&nbsp;  g_hIOCompletionPort = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0 );<br>
<br>
&nbsp;&nbsp;&nbsp;  if ( NULL == g_hIOCompletionPort)<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  printf(&quot;\nError occurred while creating IOCP: %d.&quot;, WSAGetLastError());<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  return false;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  DWORD nThreadID;<br>
<br>
&nbsp;&nbsp;&nbsp;  for (int ii = 0; ii &lt; g_nThreads; ii++)<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  g_phWorkerThreads[ii] = CreateThread(0, 0, WorkerThread, (void *)(ii+1), 0, &amp;nThreadID);<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  return true;<br>
}<br>
<br>
void CleanUp()<br>
{<br>
&nbsp;&nbsp;&nbsp;  SetEvent(g_hShutdownEvent);<br>
<br>
&nbsp;&nbsp;&nbsp;  WaitForSingleObject(g_hAcceptThread, INFINITE);<br>
<br>
&nbsp;&nbsp;&nbsp;  for (int i = 0; i &lt; g_nThreads; i++)<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  PostQueuedCompletionStatus(g_hIOCompletionPort, 0, (DWORD) NULL, NULL);<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  WaitForMultipleObjects(g_nThreads, g_phWorkerThreads, TRUE, INFINITE);<br>
<br>
&nbsp;&nbsp;&nbsp;  WSACloseEvent(g_hAcceptEvent);<br>
<br>
&nbsp;&nbsp;&nbsp;  CleanClientList();<br>
}<br>
<br>
void DeInitialize()<br>
{<br>
&nbsp;&nbsp;&nbsp;  DeleteCriticalSection(&amp;g_csConsole);<br>
<br>
&nbsp;&nbsp;&nbsp;  DeleteCriticalSection(&amp;g_csClientList);<br>
<br>
&nbsp;&nbsp;&nbsp;  CloseHandle(g_hIOCompletionPort);<br>
<br>
&nbsp;&nbsp;&nbsp;  CloseHandle(g_hShutdownEvent);<br>
<br>
&nbsp;&nbsp;&nbsp;  delete[] g_phWorkerThreads;<br>
<br>
&nbsp;&nbsp;&nbsp;  WSACleanup();<br>
}<br>
<br>
DWORD WINAPI AcceptThread(LPVOID lParam)<br>
{<br>
&nbsp;&nbsp;&nbsp;  SOCKET ListenSocket = (SOCKET)lParam;<br>
<br>
&nbsp;&nbsp;&nbsp;  WSANETWORKEVENTS WSAEvents;<br>
<br>
&nbsp;&nbsp;&nbsp;  while(WAIT_OBJECT_0 != WaitForSingleObject(g_hShutdownEvent, 0))<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if (WSA_WAIT_TIMEOUT != WSAWaitForMultipleEvents(1, &amp;g_hAcceptEvent, FALSE, WAIT_TIMEOUT_INTERVAL, FALSE))<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  WSAEnumNetworkEvents(ListenSocket, g_hAcceptEvent, &amp;WSAEvents);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if ((WSAEvents.lNetworkEvents &amp; FD_ACCEPT) &amp;&amp; (0 == WSAEvents.iErrorCode[FD_ACCEPT_BIT]))<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  AcceptConnection(ListenSocket);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  return 0;<br>
}<br>
<br>
void AcceptConnection(SOCKET ListenSocket)<br>
{<br>
&nbsp;&nbsp;&nbsp;  sockaddr_in ClientAddress;<br>
&nbsp;&nbsp;&nbsp;  int nClientLength = sizeof(ClientAddress);<br>
<br>
&nbsp;&nbsp;&nbsp;  SOCKET Socket = accept(ListenSocket, (sockaddr*)&amp;ClientAddress, &amp;nClientLength);<br>
<br>
&nbsp;&nbsp;&nbsp;  WriteToConsole(&quot;\nClient connected from: %s&quot;, inet_ntoa(ClientAddress.sin_addr));<br>
<br>
&nbsp;&nbsp;&nbsp;  CClientContext&nbsp;&nbsp;  *pClientContext  = new CClientContext;<br>
<br>
&nbsp;&nbsp;&nbsp;  pClientContext-&gt;SetOpCode(OP_READ);<br>
&nbsp;&nbsp;&nbsp;  pClientContext-&gt;SetSocket(Socket);<br>
&nbsp;&nbsp;&nbsp;  AddToClientList(pClientContext);<br>
<br>
&nbsp;&nbsp;&nbsp;  if (true == AssociateWithIOCP(pClientContext))<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext-&gt;SetOpCode(OP_WRITE);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  WSABUF *p_wbuf = pClientContext-&gt;GetWSABUFPtr();<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  OVERLAPPED *p_ol = pClientContext-&gt;GetOVERLAPPEDPtr();<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  DWORD dwFlags = 0;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  DWORD dwBytes = 0;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  int nBytesRecv = WSARecv(pClientContext-&gt;GetSocket(), p_wbuf, 1, <br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &amp;dwBytes, &amp;dwFlags, p_ol, NULL);<br>
<br>
&nbsp;&nbsp;&nbsp;  }<br>
}<br>
<br>
bool AssociateWithIOCP(CClientContext&nbsp;&nbsp;  *pClientContext)<br>
{<br>
&nbsp;&nbsp;&nbsp;  HANDLE hTemp = CreateIoCompletionPort((HANDLE)pClientContext-&gt;GetSocket(), g_hIOCompletionPort, (DWORD)pClientContext, 0);<br>
<br>
&nbsp;&nbsp;&nbsp;  if (NULL == hTemp)<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  RemoveFromClientListAndFreeMemory(pClientContext);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  return false;<br>
&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  return true;<br>
}<br>
<br>
DWORD WINAPI WorkerThread(LPVOID lpParam)<br>
{&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  int nThreadNo = (int)lpParam;<br>
<br>
&nbsp;&nbsp;&nbsp;  void *lpContext = NULL;<br>
&nbsp;&nbsp;&nbsp;  OVERLAPPED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  *pOverlapped = NULL;<br>
&nbsp;&nbsp;&nbsp;  CClientContext&nbsp;&nbsp;  *pClientContext = NULL;<br>
&nbsp;&nbsp;&nbsp;  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  dwBytesTransfered = 0;<br>
&nbsp;&nbsp;&nbsp;  int nBytesRecv = 0;<br>
&nbsp;&nbsp;&nbsp;  int nBytesSent = 0;<br>
&nbsp;&nbsp;&nbsp;  DWORD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  dwBytes = 0, dwFlags = 0;<br>
<br>
&nbsp;&nbsp;&nbsp;  while (WAIT_OBJECT_0 != WaitForSingleObject(g_hShutdownEvent, 0))<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  BOOL bReturn = GetQueuedCompletionStatus(<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  g_hIOCompletionPort,<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &amp;dwBytesTransfered,<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  (LPDWORD)&amp;lpContext,<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &amp;pOverlapped,<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  INFINITE);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if (NULL == lpContext)<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  break;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext = (CClientContext *)lpContext;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if ((FALSE == bReturn) || ((TRUE == bReturn) &amp;&amp; (0 == dwBytesTransfered)))<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  RemoveFromClientListAndFreeMemory(pClientContext);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  continue;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  WSABUF *p_wbuf = pClientContext-&gt;GetWSABUFPtr();<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  OVERLAPPED *p_ol = pClientContext-&gt;GetOVERLAPPEDPtr();<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  switch (pClientContext-&gt;GetOpCode())<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  case OP_READ:<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext-&gt;IncrSentBytes(dwBytesTransfered);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if(pClientContext-&gt;GetSentBytes() &lt; pClientContext-&gt;GetTotalBytes())<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext-&gt;SetOpCode(OP_READ);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  p_wbuf-&gt;buf += pClientContext-&gt;GetSentBytes();<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  p_wbuf-&gt;len = pClientContext-&gt;GetTotalBytes() - pClientContext-&gt;GetSentBytes();<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  dwFlags = 0;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  nBytesSent = WSASend(pClientContext-&gt;GetSocket(), p_wbuf, 1, <br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &amp;dwBytes, dwFlags, p_ol, NULL);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if ((SOCKET_ERROR == nBytesSent) &amp;&amp; (WSA_IO_PENDING != WSAGetLastError()))<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  RemoveFromClientListAndFreeMemory(pClientContext);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  else<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext-&gt;SetOpCode(OP_WRITE);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext-&gt;ResetWSABUF();<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  dwFlags = 0;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  nBytesRecv = WSARecv(pClientContext-&gt;GetSocket(), p_wbuf, 1, <br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &amp;dwBytes, &amp;dwFlags, p_ol, NULL);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if ((SOCKET_ERROR == nBytesRecv) &amp;&amp; (WSA_IO_PENDING != WSAGetLastError()))<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  RemoveFromClientListAndFreeMemory(pClientContext);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  break;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  case OP_WRITE:<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  char szBuffer[MAX_BUFFER_LEN];<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext-&gt;GetBuffer(szBuffer);<br>
<br>
&nbsp;&nbsp;    &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext-&gt;SetOpCode(OP_READ);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext-&gt;SetTotalBytes(dwBytesTransfered);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  pClientContext-&gt;SetSentBytes(0);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  p_wbuf-&gt;len  = dwBytesTransfered;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  dwFlags = 0;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  nBytesSent = WSASend(pClientContext-&gt;GetSocket(), p_wbuf, 1, <br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &amp;dwBytes, dwFlags, p_ol, NULL);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if ((SOCKET_ERROR == nBytesSent) &amp;&amp; (WSA_IO_PENDING != WSAGetLastError()))<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  RemoveFromClientListAndFreeMemory(pClientContext);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  break;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  default:<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  break;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  } // switch<br>
&nbsp;&nbsp;&nbsp;  } // while<br>
<br>
&nbsp;&nbsp;&nbsp;  return 0;<br>
}<br>
<br>
void WriteToConsole(char *szFormat, ...)<br>
{<br>
&nbsp;&nbsp;&nbsp;  EnterCriticalSection(&amp;g_csConsole);<br>
&nbsp;&nbsp;&nbsp;  va_list args;<br>
&nbsp;&nbsp;&nbsp;  va_start(args, szFormat);<br>
&nbsp;&nbsp;&nbsp;  vprintf(szFormat, args );<br>
&nbsp;&nbsp;&nbsp;  va_end(args);<br>
&nbsp;&nbsp;&nbsp;  LeaveCriticalSection(&amp;g_csConsole);<br>
}<br>
<br>
void AddToClientList(CClientContext&nbsp;&nbsp;  *pClientContext)<br>
{<br>
&nbsp;&nbsp;&nbsp;  EnterCriticalSection(&amp;g_csClientList);<br>
&nbsp;&nbsp;&nbsp;  g_ClientContext.push_back(pClientContext);<br>
&nbsp;&nbsp;&nbsp;  LeaveCriticalSection(&amp;g_csClientList);<br>
}<br>
<br>
void RemoveFromClientListAndFreeMemory(CClientContext&nbsp;&nbsp;  *pClientContext)<br>
{<br>
&nbsp;&nbsp;&nbsp;  EnterCriticalSection(&amp;g_csClientList);<br>
<br>
&nbsp;&nbsp;&nbsp;  std::vector &lt;CClientContext *&gt;::iterator IterClientContext;<br>
<br>
&nbsp;&nbsp;&nbsp;  for (IterClientContext = g_ClientContext.begin(); IterClientContext != g_ClientContext.end(); IterClientContext++)<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if (pClientContext == *IterClientContext)<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  g_ClientContext.erase(IterClientContext);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  delete pClientContext;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  break;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  LeaveCriticalSection(&amp;g_csClientList);<br>
}<br>
<br>
void CleanClientList()<br>
{<br>
&nbsp;&nbsp;&nbsp;  EnterCriticalSection(&amp;g_csClientList);<br>
<br>
&nbsp;&nbsp;&nbsp;  std::vector &lt;CClientContext *&gt;::iterator IterClientContext;<br>
<br>
&nbsp;&nbsp;&nbsp;  for (IterClientContext = g_ClientContext.begin(); IterClientContext != g_ClientContext.end( ); IterClientContext++)<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  delete *IterClientContext;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  g_ClientContext.clear();<br>
<br>
&nbsp;&nbsp;&nbsp;  LeaveCriticalSection(&amp;g_csClientList);<br>
}<br>
<br>
int GetNoOfProcessors()<br>
{<br>
&nbsp;&nbsp;&nbsp;  static int nProcessors = 0;<br>
<br>
&nbsp;&nbsp;&nbsp;  if (0 == nProcessors)<br>
&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  SYSTEM_INFO si;<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  GetSystemInfo(&amp;si);<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  nProcessors = si.dwNumberOfProcessors;<br>
&nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  return nProcessors;<br>
} 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/c%26%2347%3Bc%2B%2B">c&#47;c++</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/9c606624c256af34c99559a8.html#comment">查看评论</a>]]></description>
        <pubDate>2008-12-24  10:06</pubDate>
        <category><![CDATA[c&#47;c++]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/9c606624c256af34c99559a8.html</guid>
</item>

<item>
        <title><![CDATA[[原创]创建基于BlazeDS的FLEX Web程序过程图解]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/333f61fab999719058ee90e4.html]]></link>
        <description><![CDATA[
		
		首先下载<br>
JDK，TOMCAT并安装。<br>
然后下载FLEX SDK<br>
http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email<br>
Blazeds<br>
http://opensource.adobe.com/wiki/display/blazeds/Release+Builds<br>
<br>
安装JDK，TOMCAT，FLEX。Blazeds直接解压即可。<br>
<br>
安装完FLEX以后，用Eclipse安装本地插件的方式安装Adobe\Flex Builder 3 Plug-in\eclipse目录下的包。然后启动Eclipse会出现如图菜单。表示安装成功<br>
<div align="center" forimg="1">
<div align="center" forimg="1">
<div align="center" forimg="1">
<div align="center" forimg="1"><a target="_blank" href="http://hiphotos.baidu.com/ryouaki/pic/item/5f6c0581e93249c5bd3e1e4d.jpg">
<div align="center" forimg="1">
<div align="center" forimg="1">
<div align="center" forimg="1"><img border="0" class="blogimg" small="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/9d2772d5392c8dd950da4b57.jpg"></div>
<div align="left"> </div>
</div>
</div>
</a>
<div align="left">创建Flex project如图设置：</div>
</div>
<a target="_blank" href="http://hiphotos.baidu.com/ryouaki/pic/item/0dfc6e08ff0d4f2de8248843.jpg">
<div align="left">
<div align="center" forimg="1"><img border="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/5c2f77174a65e91c4b90a7bd.jpg" small="0" class="blogimg"></div>
</div>
</a><br>
<div align="left">下一步如图设置，选择Blazeds解压后的包：<br>
<div align="center" forimg="1"><img border="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/d5f060f76bb9c83f730eecb9.jpg" small="0" class="blogimg"></div>
然后选择Finish创建工程完毕。<br>
修改工程目录下/Demo/WebContent/WEB-INF/flex/remoting-config.xml文件添加如下信息到&lt;/service&gt;标签之前：<br>
&nbsp;&nbsp;&nbsp;  &lt;destination id=&quot;javaService&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &lt;properties&gt;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &lt;source&gt;cn.test.JavaService&lt;/source&gt;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &lt;/properties&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;/destination&gt;</div>
<div align="left"> </div>
</div>
<div align="left">创建cn.test.JavaService.java文件内容如下：<br>
package cn.test;<br>
<br>
public class JavaService {<br>
&nbsp;&nbsp;&nbsp;  public String GetMessage() {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  return &quot;Hello kitty!&quot;;<br>
&nbsp;&nbsp;&nbsp;  }<br>
}<br>
将主页面程序修改如下：<br>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br>
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot;&gt;<br>
&lt;mx:Script&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;![CDATA[<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  import mx.rpc.remoting.RemoteObject;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  import mx.rpc.events.FaultEvent; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  import mx.controls.Alert; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  import mx.rpc.events.ResultEvent; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  private function click():void<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  var sa:RemoteObject = new RemoteObject(&quot;javaService&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  sa.addEventListener(ResultEvent.RESULT,result); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  sa.getOperation(&quot;GetMessage&quot;).send();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  // 用于接收服务器返回数据的回调函数 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  private function result(event:ResultEvent):void {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  Alert.show(event.result.toString(), &quot;OK&quot;); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  ]]&gt;<br>
&lt;/mx:Script&gt;<br>
&nbsp;&nbsp;&nbsp;  <br>
&lt;mx:Button label=&quot;发送&quot; click=&quot;click()&quot;/&gt; &nbsp;&nbsp;&nbsp;  <br>
&lt;/mx:Application&gt;<br>
<br>
PS：在启动TOMCAT之前要将工程的重新设置一下如图：<br>
<div align="center" forimg="1">
<div align="center" forimg="1"><img border="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/3ee730829e8781bf0df4d245.jpg" small="0" class="blogimg"></div>
</div>
如果不如上设置，那么 amf协议会去访问WebContext目录：<br>
然后启动tomcat，执行程序结果如下：<br>
<div align="center" forimg="1"><img border="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/c2dcb0f9db1c3144242df243.jpg" small="0" class="blogimg"></div>
</div>
</div>
<a href="http://hiphotos.baidu.com/ryouaki/pic/item/238291194c2a6667dbb4bd40.jpg" target="_blank"><br>
</a></div>
<div align="center" forimg="1"><img border="0" src="http://hiphotos.baidu.com/ryouaki/pic/item/732df025eb090d7d35a80f4d.jpg" small="0" class="blogimg"></div>
<br>
<br>
<br> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/flex%BF%AA%B7%A2">flex开发</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/333f61fab999719058ee90e4.html#comment">查看评论</a>]]></description>
        <pubDate>2008-12-09  11:45</pubDate>
        <category><![CDATA[flex开发]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/333f61fab999719058ee90e4.html</guid>
</item>

<item>
        <title><![CDATA[服务器推技术之Pushlets的使用]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/b3772f230439ad559922edcd.html]]></link>
        <description><![CDATA[
		
		 
 
 
 
<p align="left" style="text-align: left;" class="MsoNormal"><span style="font-size: 12pt; ">Pushlet </span><span style="font-size: 12pt; ">是一个开源的<span> Comet </span>框架，在设计上有很多值得借鉴的地方，对于开发轻量级的<span> Comet </span>应用很有参考价值。</span></p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">Pushlets的下载地址是 http://www.pushlets.com</p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">
 
 
 
 
 </p>
<p align="left" style="text-align: left;" class="MsoNormal"><span style="font-size: 12pt; ">Pushlet </span><span style="font-size: 12pt; ">使用了观察者模型：客户端发送请求，订阅感兴趣的事件；服务器端为每个客户端分配一个会话<span> ID </span>作为标记，事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。</span></p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">Pushlet支持ajax，flash，applet等多种形式客户端，其中以ajax的客户端集成相对简单。这里就不在介绍。详细参看实例里面stock部分。</p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">这里只是简单介绍如何创建基于FLASH客户端的使用。</p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">首先创造服务器端程序：</p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">并将pushlet.jar引入到工程，将</p>
<p align="left" style="text-align: left;" class="MsoNormal">pushlet.properties</p>
<p align="left" style="text-align: left;" class="MsoNormal">sources.properties</p>
<p align="left" style="text-align: left;" class="MsoNormal">拷贝到/WEB-INFO/classes目录下，并在sources.properties中填写如下语句</p>
<p align="left" style="text-align: left;" class="MsoNormal">source8=CometDemo.cn.CometDemoPull$CometRatePull</p>
<p align="left" style="text-align: left;" class="MsoNormal">然后创建java文件如下：</p>
<p align="left" style="text-align: left;" class="MsoNormal">-----------------------------------------------CometDemoPull.java</p>
<p align="left" style="text-align: left;" class="MsoNormal">package CometDemo.cn;<br>
<br>
import nl.justobjects.pushlet.core.Event;<br>
import nl.justobjects.pushlet.core.EventPullSource;<br>
import nl.justobjects.pushlet.util.Rand;<br>
<br>
public class CometDemoPull {<br>
&nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  static public class CometRatePull extends EventPullSource{<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  @Override<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  protected long getSleepTime() {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  return 3000L; //这里是设置了一个轮回的时间间隔<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  @Override<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  protected Event pullEvent() {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  Event event = Event.createDataEvent(&quot;/CometDemo/TestRate&quot;); //这里创建一个服务。</p>
<p align="left" style="text-align: left;" class="MsoNormal">&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  event.setField(&quot;JPY&quot;,Rand.randomInt(1, 100)); //以下是发送到客户端的数据<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  event.setField(&quot;GBR&quot;,Rand.randomInt(1, 100));<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  event.setField(&quot;RMB&quot;,Rand.randomInt(1, 100));<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  event.setField(&quot;USD&quot;,Rand.randomInt(1, 100));<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  return event;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  <br>
&nbsp;&nbsp;&nbsp;  }<br>
}</p>
<p align="left" style="text-align: left;" class="MsoNormal">----------------------------------------------------------------------------------</p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">在web.xml中添加如下servlet影射：</p>
<p align="left" style="text-align: left;" class="MsoNormal">  &nbsp;&nbsp;&nbsp;  &lt;!-- Define the pushlet servlet --&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;servlet&gt;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &lt;servlet-name&gt;pushlet&lt;/servlet-name&gt;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &lt;servlet-class&gt;nl.justobjects.pushlet.servlet.Pushlet&lt;/servlet-class&gt;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;/servlet&gt;<br>
<br>
&nbsp;&nbsp;&nbsp;  &lt;!-- Define the Servlet Mappings. --&gt;<br>
<br>
&nbsp;&nbsp;&nbsp;  &lt;!-- The pushlet --&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;servlet-mapping&gt;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &lt;servlet-name&gt;pushlet&lt;/servlet-name&gt;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &lt;url-pattern&gt;/pushlet.srv&lt;/url-pattern&gt;<br>
&nbsp;&nbsp;&nbsp;  &lt;/servlet-mapping&gt;</p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">=================================以上服务器端完成。</p>
<p align="left" style="text-align: left;" class="MsoNormal">然后是flash客户端</p>
<p align="left" style="text-align: left;" class="MsoNormal">这里我们原来pushlet的flash例子基础之上进行修改。原来的例子没有发送数据只是保持和服务器连接。这里将他修改为接受自定义数据的flash客户端</p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">代码修改如下：</p>
<p align="left" style="text-align: left;" class="MsoNormal">------------------------------------------------------------flash<br>
function display(text) {<br>
&nbsp;&nbsp;&nbsp;  panel = panel+text+newline;<br>
&nbsp;&nbsp;&nbsp;  panel.scroll = panel.maxscroll;<br>
}<br>
<br>
function displayEvent(xmlObject) {<br>
&nbsp;&nbsp;&nbsp;  attributes = xmlObject.attributes;<br>
&nbsp;&nbsp;&nbsp;  for (var j in attributes) {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  text = text + &quot; &quot; + j + &quot;=&quot; + attributes[j];<br>
&nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  display(text);<br>
}<br>
<br>
var eventXML;<br>
var intervalID;<br>
var sessionID;<br>
var host = &quot;http://localhost:8080/CometDemo&quot;;<br>
var path = &quot;/pushlet.srv?p_event=join-listen&amp;p_subject=/CometDemo/TestRate&amp;p_format=xml-strict&amp;p_mode=pull&quot;;<br>
var refreshPath=&quot;/pushlet.srv?p_event=refresh&amp;p_id=&quot;<br>
<br>
loadXML(host, path);<br>
<br>
function loadXML(host, path) {<br>
&nbsp;&nbsp;&nbsp;  url = host + path;<br>
&nbsp;&nbsp;&nbsp;  eventXML = new XML();<br>
&nbsp;&nbsp;&nbsp;  eventXML.ignoreWhite = true;<br>
&nbsp;&nbsp;&nbsp;  eventXML.onLoad = myLoad;<br>
&nbsp;&nbsp;&nbsp;  eventXML.load(url);<br>
&nbsp;&nbsp;&nbsp;  clearInterval(intervalID);<br>
}<br>
<br>
function myLoad(ok) {<br>
&nbsp;&nbsp;&nbsp;  if (ok == true) {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  handleEvents(eventXML);<br>
&nbsp;&nbsp;&nbsp;  } else {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  display(&quot;Error receiving event&quot;);<br>
&nbsp;&nbsp;&nbsp;  }<br>
}<br>
<br>
function handleEvents(xmlObject) {<br>
<br>
&nbsp;&nbsp;&nbsp;  var children = xmlObject.firstChild.childNodes;<br>
<br>
&nbsp;&nbsp;&nbsp;  for (i=0; i &lt; children.length; i++) {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  attributes = children[i].attributes;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  eventType = attributes.p_event;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  trace(subject);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  if (eventType == &quot;refresh&quot;) {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  display(&quot;refreshing...&quot;);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  waitMillis = attributes.p_wait;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  intervalID = setInterval(loadXML, waitMillis, host, refreshPath);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  } else if (eventType == &quot;join-listen-ack&quot;) {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  sessionID = attributes.p_id;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  refreshPath = refreshPath + sessionID;<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  } else if (eventType == &quot;data&quot;) {<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  displayEvent(children[i]);<br>
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  }<br>
&nbsp;&nbsp;&nbsp;  }<br>
}<br>
--------------------------------------------------然后输出数据为：</p>
<p align="left" style="text-align: left;" class="MsoNormal"> p_event=data p_subject=/CometDemo/TestRate JPY=76 p_seq=1 USD=73 RMB=74 p_time=1227756126 p_sid=nijul GBR=57</p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<p align="left" style="text-align: left;" class="MsoNormal">在这里只要将你需要的数据拿出来就可以了。具体如何解析xml就不用多说了。</p>
<p align="left" style="text-align: left;" class="MsoNormal">由于pushlet的作者已经申请加入Cometd项目，并且pushlet存在伸缩性问题。但是对于小型应用还是很有帮助的。</p>
<p align="left" style="text-align: left;" class="MsoNormal"> </p>
<span style="font-size: 12pt; "><span></span></span>
<p> </p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/web%D3%A6%D3%C3">web应用</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/b3772f230439ad559922edcd.html#comment">查看评论</a>]]></description>
        <pubDate>2008-11-27  11:24</pubDate>
        <category><![CDATA[web应用]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/b3772f230439ad559922edcd.html</guid>
</item>

<item>
        <title><![CDATA[[转载至livedocs.adobe.com]FLEX----第六部分 顶级常量与函数]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/dc9949a41ec6f8f19152eea4.html]]></link>
        <description><![CDATA[
		
		顶级或全局函数在使用 ActionScript 的 SWF 文件的任何部分都可用，在任何用户定义的类中也都可用。ActionScript 2.0 中的大部分全局函数已迁移到类中。
<div class="summarySection">
<div class="summaryTableTitle">全局方法</div>
<table cellspacing="0" cellpadding="3" class="summaryTable">
    <tbody>
        <tr>
            <th> </th>
            <th colspan="2">函数</th>
            <th>定义方</th>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#Array%28%29">Array</a>(<a href="http://livedocs.adobe.com/flex/3_cn/langref/statements.html#..._%28rest%29_parameter">...</a> args):<a href="http://livedocs.adobe.com/flex/3_cn/langref/Array.html">Array</a></div>
            <div class="summaryTableDescription">创建一个新数组。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#Boolean%28%29">Boolean</a>(expression:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Object.html">Object</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/Boolean.html">Boolean</a></div>
            <div class="summaryTableDescription">将 expression 参数转换为布尔值并返回该值。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#Date%28%29">Date</a>():<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a></div>
            <div class="summaryTableDescription">返回当前星期值、日期值、时间和时区的字符串表示形式。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#decodeURI%28%29">decodeURI</a>(uri:<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a></div>
            <div class="summaryTableDescription">将已编码的 URI 解码为字符串。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#decodeURIComponent%28%29">decodeURIComponent</a>(uri:<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a></div>
            <div class="summaryTableDescription">将已编码的 URI 组件解码为字符串。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#encodeURI%28%29">encodeURI</a>(uri:<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a></div>
            <div class="summaryTableDescription">将字符串编码为有效的 URI（统一资源标识符）。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#encodeURIComponent%28%29">encodeURIComponent</a>(uri:<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a></div>
            <div class="summaryTableDescription">将字符串编码为有效的 URI 组件。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#escape%28%29">escape</a>(str:<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a></div>
            <div class="summaryTableDescription">将参数转换为字符串，并以 URL 编码格式对其进行编码，在这种格式中，大多数非字母数字的字符都替换为 % 十六进制序列。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#int%28%29">int</a>(value:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/int.html">int</a></div>
            <div class="summaryTableDescription">将给定数字值转换成整数值。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#isFinite%28%29">isFinite</a>(num:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/Boolean.html">Boolean</a></div>
            <div class="summaryTableDescription">如果该值为有限数，则返回 true，如果该值为正无穷大或负无穷大，则返回 false。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#isNaN%28%29">isNaN</a>(num:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/Boolean.html">Boolean</a></div>
            <div class="summaryTableDescription">如果该值为 NaN（非数字），则返回 true。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#isXMLName%28%29">isXMLName</a>(str:<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/Boolean.html">Boolean</a></div>
            <div class="summaryTableDescription">确定指定字符串对于 XML 元素或属性是否为有效名称。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#Number%28%29">Number</a>(expression:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Object.html">Object</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a></div>
            <div class="summaryTableDescription">将给定值转换成数字值。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#Object%28%29">Object</a>(value:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Object.html">Object</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/Object.html">Object</a></div>
            <div class="summaryTableDescription">在 ActionScript 3.0 中，每个值都是一个对象，这意味着对某个值调用 Object() 会返回该值。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#parseFloat%28%29">parseFloat</a>(str:<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a></div>
            <div class="summaryTableDescription">将字符串转换为浮点数。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#parseInt%28%29">parseInt</a>(str:<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a>, radix:<a href="http://livedocs.adobe.com/flex/3_cn/langref/uint.html">uint</a> = 0):<a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a></div>
            <div class="summaryTableDescription">将字符串转换为整数。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#String%28%29">String</a>(expression:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Object.html">Object</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a></div>
            <div class="summaryTableDescription">返回指定参数的字符串表示形式。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#trace%28%29">trace</a>(<a href="http://livedocs.adobe.com/flex/3_cn/langref/statements.html#..._%28rest%29_parameter">...</a> arguments):<a href="http://livedocs.adobe.com/flex/3_cn/langref/specialTypes.html#void">void</a></div>
            <div class="summaryTableDescription">调试时显示表达式或写入日志文件。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#uint%28%29">uint</a>(value:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/uint.html">uint</a></div>
            <div class="summaryTableDescription">将给定数字值转换成无符号整数值。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#unescape%28%29">unescape</a>(str:<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/String.html">String</a></div>
            <div class="summaryTableDescription">将参数 str 作为字符串计算，从 URL 编码格式解码该字符串（将所有十六进制序列转换成 ASCII 字符），并返回该字符串。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#XML%28%29">XML</a>(expression:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Object.html">Object</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/XML.html">XML</a></div>
            <div class="summaryTableDescription">将对象转换成 XML 对象。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol">
            <div class="summarySignature"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#XMLList%28%29">XMLList</a>(expression:<a href="http://livedocs.adobe.com/flex/3_cn/langref/Object.html">Object</a>):<a href="http://livedocs.adobe.com/flex/3_cn/langref/XMLList.html">XMLList</a></div>
            <div class="summaryTableDescription">将某对象转换成 XMLList 对象。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
    </tbody>
</table>
</div>
<br>
<br>
顶级常数或全局常数在每个脚本中都可用，并且对文档中的所有时间轴和作用域都可见。
<div class="summaryTableTitle">全局常量</div>
<table cellspacing="0" cellpadding="3" class="summaryTable">
    <tbody>
        <tr>
            <th> </th>
            <th colspan="2">常量</th>
            <th>定义方</th>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#Infinity">Infinity</a> : <a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a>
            <div class="summaryTableDescription">表示正无穷大的特殊值。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#-Infinity">-Infinity</a> : <a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a>
            <div class="summaryTableDescription">表示负无穷大的特殊值。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#ffffff">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#NaN">NaN</a> : <a href="http://livedocs.adobe.com/flex/3_cn/langref/Number.html">Number</a>
            <div class="summaryTableDescription">Number 数据类型的一个特殊成员，用来表示&ldquo;非数字&rdquo;(NaN) 值。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
        <tr bgcolor="#f2f2f2">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableInheritanceCol"> </td>
            <td class="summaryTableSignatureCol"><a class="signatureLink" href="http://livedocs.adobe.com/flex/3_cn/langref/package.html#undefined">undefined</a> : <a href="http://livedocs.adobe.com/flex/3_cn/langref/specialTypes.html#*">*</a>
            <div class="summaryTableDescription">一个适用于尚未初始化的无类型变量或未初始化的动态对象属性的特殊值。</div>
            </td>
            <td class="summaryTableOwnerCol">Top Level</td>
        </tr>
    </tbody>
</table> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/flex%BF%AA%B7%A2">flex开发</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/dc9949a41ec6f8f19152eea4.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-23  10:19</pubDate>
        <category><![CDATA[flex开发]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/dc9949a41ec6f8f19152eea4.html</guid>
</item>

<item>
        <title><![CDATA[[转载至livedocs.adobe.com]FLEX----第五部分 运算符(我不想解释具体如何用,因为没有必要,你说呢？)]]></title>
        <link><![CDATA[http://hi.baidu.com/ryouaki/blog/item/2ad22390d4e0828ba877a4da.html]]></link>
        <description><![CDATA[
		
		<table cellspacing="0" cellpadding="3" class="summaryTable">
    <tbody>
        <tr>
            <th> </th>
            <th colspan="3">算术</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">+</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#addition" class="signatureLink">addition</a></td>
            <td class="summaryTableLastCol">加上数值表达式。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">--</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#decrement" class="signatureLink">decrement</a></td>
            <td class="summaryTableLastCol">操作数减去 1。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">/</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#division" class="signatureLink">division</a></td>
            <td class="summaryTableLastCol">用 <code>expression2</code> 除 <code>expression1</code>。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">++</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#increment" class="signatureLink">increment</a></td>
            <td class="summaryTableLastCol">将表达式加 1。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">%</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#modulo" class="signatureLink">modulo</a></td>
            <td class="summaryTableLastCol">计算 <code>expression1</code> 除以 <code>expression2</code> 所得的余数。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">*</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#multiplication" class="signatureLink">multiplication</a></td>
            <td class="summaryTableLastCol">将两个数值表达式相乘。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">-</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#subtraction" class="signatureLink">subtraction</a></td>
            <td class="summaryTableLastCol">用于求反或减法运算。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">算术组合赋值</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">+=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#addition_assignment" class="signatureLink">addition assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 || expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">/=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#division_assignment" class="signatureLink">division assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 / expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">%=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#modulo_assignment" class="signatureLink">modulo assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 || expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">*=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#multiplication_assignment" class="signatureLink">multiplication assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 * expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">-=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#subtraction_assignment" class="signatureLink">subtraction assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 || expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">赋值</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#assignment" class="signatureLink">assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression2</code>（右侧操作数）的值赋予 <code>expression1</code> 中的变量、数组元素或属性。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">按位</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&amp;</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_AND" class="signatureLink">bitwise AND</a></td>
            <td class="summaryTableLastCol">将 <code>expression1</code> 和 <code>expression2</code> 转换为 32 位无符号整数，然后对整数参数的每一位执行布尔 AND 运算。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&lt;&lt;</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_left_shift" class="signatureLink">bitwise left shift</a></td>
            <td class="summaryTableLastCol">将 <code>expression1</code> 和 <code>shiftCount</code> 转换为 32 位整数，并将 <code>expression1</code> 中的所有位向左移动指定的位数，该数字由 <code>shiftCount</code> 转换所得的整数指定。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">~</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_NOT" class="signatureLink">bitwise NOT</a></td>
            <td class="summaryTableLastCol">将 <code>expression</code> 转换为 32 位有符号整数，然后按位应用 1 的补码。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">|</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_OR" class="signatureLink">bitwise OR</a></td>
            <td class="summaryTableLastCol">将 <code>expression1</code> 和 <code>expression2</code> 转换为 32 位无符号整数，并在 <code> expression1</code> 或 <code>expression2</code> 的对应位为 1 的每个位的位置上放置 1。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&gt;&gt;</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_right_shift" class="signatureLink">bitwise right shift</a></td>
            <td class="summaryTableLastCol">将 <code>expression</code> 和 <code>shiftCount</code> 转换为 32 位整数，并将 <code>expression</code> 中的所有位向右移动一定的位数，该数目由 <code>shiftCount</code> 转换得到的整数指定。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&gt;&gt;&gt;</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_unsigned_right_shift" class="signatureLink">bitwise unsigned right shift</a></td>
            <td class="summaryTableLastCol">该运算符与按位右移 (<code>&gt;&gt;</code>) 运算符基本相同，但不保留原始表达式的符号，因为左侧的位始终用 0 填充。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">^</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_XOR" class="signatureLink">bitwise XOR</a></td>
            <td class="summaryTableLastCol">将 <code>expression1</code> 和 <code>expression2</code> 转换成 32 位无符号整数，并在 <code>expression1</code> 或 <code>expression2</code> 中对应位为 1（但并非在二者中都为 1）的每个位的位置处放置 1。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">按位组合赋值</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&amp;=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_AND_assignment" class="signatureLink">bitwise AND assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1</code> <code>&amp; expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&lt;&lt;=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_left_shift_and_assignment" class="signatureLink">bitwise left shift and assignment</a></td>
            <td class="summaryTableLastCol">执行按位左移（<code>&lt;&lt;=</code>）运算并将内容作为结果存储在 <code>expression1</code> 中。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">|=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_OR_assignment" class="signatureLink">bitwise OR assignment</a></td>
            <td class="summaryTableLastCol">将 <code> expression1 | expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&gt;&gt;=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_right_shift_and_assignment" class="signatureLink">bitwise right shift and assignment</a></td>
            <td class="summaryTableLastCol">执行按位右移运算并将结果存储到 <code>expression</code> 中。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&gt;&gt;&gt;=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_unsigned_right_shift_and_assignment" class="signatureLink">bitwise unsigned right shift and assignment</a></td>
            <td class="summaryTableLastCol">执行无符号按位右移运算并将结果存储到 <code>expression</code> 中。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">^=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#bitwise_XOR_assignment" class="signatureLink">bitwise XOR assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 || expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">注释</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">/*..*/</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#block_comment_delimiter" class="signatureLink">block comment delimiter</a></td>
            <td class="summaryTableLastCol">分隔一行或多行脚本注释。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">//</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#line_comment_delimiter" class="signatureLink">line comment delimiter</a></td>
            <td class="summaryTableLastCol">指示脚本注释的开始。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">比较</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">==</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#equality" class="signatureLink">equality</a></td>
            <td class="summaryTableLastCol">测试两个表达式是否相等。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&gt;</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#greater_than" class="signatureLink">greater than</a></td>
            <td class="summaryTableLastCol">比较两个表达式并确定 <code>expression1</code> 是否大于 <code>expression2</code>；如果是，则结果为 <code>true</code>。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&gt;=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#greater_than_or_equal_to" class="signatureLink">greater than or equal to</a></td>
            <td class="summaryTableLastCol">比较两个表达式并确定 <code>expression1</code> 是大于或等于 <code>expression2</code> (<code>true</code>)，还是 <code>expression1</code> 小于 <code>expression2</code> (<code>false</code>)。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">!=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#inequality" class="signatureLink">inequality</a></td>
            <td class="summaryTableLastCol">测试目的与等于 (<code>==</code>) 运算符正好相反。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&lt;</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#less_than" class="signatureLink">less than</a></td>
            <td class="summaryTableLastCol">比较两个表达式并确定 <code>expression1</code> 是否小于 <code>expression2</code>；如果是，则结果为 <code>true</code>。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&lt;=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#less_than_or_equal_to" class="signatureLink">less than or equal to</a></td>
            <td class="summaryTableLastCol">比较两个表达式并确定 <code>expression1</code> 是否小于或等于 <code>expression2</code>；如果是，则结果为 <code>true</code>。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">===</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#strict_equality" class="signatureLink">strict equality</a></td>
            <td class="summaryTableLastCol">测试两个表达式是否相等，但是不执行自动数据转换。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">!==</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#strict_inequality" class="signatureLink">strict inequality</a></td>
            <td class="summaryTableLastCol">测试目的与全等 (<code>===</code>) 运算符正好相反。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">逻辑</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&amp;&amp;</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#logical_AND" class="signatureLink">logical AND</a></td>
            <td class="summaryTableLastCol">如果 <code>expression1</code> 为 <code>false</code> 或可以转换为 <code>false</code>，则返回该表达式；否则，返回 <code>expression2</code>。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&amp;&amp;=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#logical_AND_assignment" class="signatureLink">logical AND assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 || expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">!</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#logical_NOT" class="signatureLink">logical NOT</a></td>
            <td class="summaryTableLastCol">对变量或表达式的布尔值取反。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">||</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#logical_OR" class="signatureLink">logical OR</a></td>
            <td class="summaryTableLastCol">如果 <code>expression1</code> 为 <code>true</code> 或可以转换为 <code>true</code>，则返回该表达式；否则，返回 <code>expression2</code>。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">||=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#logical_OR_assignment" class="signatureLink">logical OR assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 || expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">其它</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">[]</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#array_access" class="signatureLink">array access</a></td>
            <td class="summaryTableLastCol">初始化新数组或具用指定元素（<code>a0</code> 等等）的多维数组，或者访问数组中的元素。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol"> </td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#as" class="signatureLink">as</a></td>
            <td class="summaryTableLastCol">计算第一个操作数指定的表达式是否是第二个操作数指定的数据类型的成员。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">,</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#comma" class="signatureLink">comma</a></td>
            <td class="summaryTableLastCol">计算 <code>expression1</code>，然后计算 <code>expression2</code>，依此类推。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">?:</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#conditional" class="signatureLink">conditional</a></td>
            <td class="summaryTableLastCol">计算 <code>expression1</code>，如果 <code>expression1</code> 的值为 <code>true</code>，则结果是 <code>expression2</code> 的值；否则，结果是 <code>expression3</code> 的值。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol"> </td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#delete" class="signatureLink">delete</a></td>
            <td class="summaryTableLastCol">销毁由 <code>reference</code> 指定的对象属性；如果运算完成后属性不存在，则结果为 <code>true</code>；否则，为 <code>false</code>。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">.</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#dot" class="signatureLink">dot</a></td>
            <td class="summaryTableLastCol">访问类变量和方法、获得并设置对象属性以及分隔导入的包或类。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol"> </td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#in" class="signatureLink">in</a></td>
            <td class="summaryTableLastCol">计算属性是否是特定对象的一部分。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol"> </td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#instanceof" class="signatureLink">instanceof</a></td>
            <td class="summaryTableLastCol">计算表达式的原型链中是否包含 <code>function</code> 的原型对象。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol"> </td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#is" class="signatureLink">is</a></td>
            <td class="summaryTableLastCol">计算对象是否与特定的数据类型、类或接口兼容。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">::</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#name_qualifier" class="signatureLink">name qualifier</a></td>
            <td class="summaryTableLastCol">指定属性、方法、XML 属性或 XML 特性的命名空间。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol"> </td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#new" class="signatureLink">new</a></td>
            <td class="summaryTableLastCol">实例化类实例。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">{}</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#object_initializer" class="signatureLink">object initializer</a></td>
            <td class="summaryTableLastCol">创建一个新的对象并使用指定的 <code>name</code> 和 <code>value</code> 属性对其进行初始化。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">()</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#parentheses" class="signatureLink">parentheses</a></td>
            <td class="summaryTableLastCol">对一个或多个参数执行组合运算，对表达式执行顺序计算，或者将一个或多个参数括起来，然后将它们作为参数传递给括号前面的函数。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">/</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#RegExp_delimiter" class="signatureLink">RegExp delimiter</a></td>
            <td class="summaryTableLastCol">在字符前后使用时，表示字符具有文本值并被视作正则表达式 (RegExp)，而不是变量、字符串或其它 ActionScript 元素。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">:</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#type" class="signatureLink">type</a></td>
            <td class="summaryTableLastCol">用于指定数据类型；此运算符指定变量类型、函数返回类型或函数参数类型。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol"> </td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#typeof" class="signatureLink">typeof</a></td>
            <td class="summaryTableLastCol">计算 <code>expression</code>，并返回指定表达式的数据类型的字符串。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol"> </td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#void" class="signatureLink">void</a></td>
            <td class="summaryTableLastCol">计算表达式然后舍弃其值，返回 <code>undefined</code>。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">字符串</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">+</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#concatenation" class="signatureLink">concatenation</a></td>
            <td class="summaryTableLastCol">连接（合并）字符串。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">+=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#concatenation_assignment" class="signatureLink">concatenation assignment</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 || expression2</code> 的值赋予 <code>expression1</code>。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&quot;</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#string_delimiter" class="signatureLink">string delimiter</a></td>
            <td class="summaryTableLastCol">用于字符前后时，表示该字符具有文本值且被视作字符串，而不是变量、数值或其它 ActionScript 元素。</td>
        </tr>
        <tr>
            <th> </th>
            <th colspan="3">XML</th>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">@</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#attribute_identifier" class="signatureLink">attribute identifier</a></td>
            <td class="summaryTableLastCol">标识 XML 或 XMLList 对象的属性。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">{ }</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#braces_%28XML%29" class="signatureLink">braces (XML)</a></td>
            <td class="summaryTableLastCol">计算在 XML 或 XMLList 初始值设定项中使用的表达式。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">[ ]</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#brackets_%28XML%29" class="signatureLink">brackets (XML)</a></td>
            <td class="summaryTableLastCol">访问 XML 或 XMLList 对象的属性或特性。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">+</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#concatenation_%28XMLList%29" class="signatureLink">concatenation (XMLList)</a></td>
            <td class="summaryTableLastCol">将 XML 或 XMLList 值连接（合并）到 XMLList 对象。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">+=</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#concatenation_assignment_%28XMLList%29" class="signatureLink">concatenation assignment (XMLList)</a></td>
            <td class="summaryTableLastCol">将 <code>expression1 + expression2</code> 的值赋予 XMLList 对象 <code>expression1</code>。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol"> </td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#delete_%28XML%29" class="signatureLink">delete (XML)</a></td>
            <td class="summaryTableLastCol">删除由 <code>reference</code> 指定的 XML 元素或属性。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">..</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#descendant_accessor" class="signatureLink">descendant accessor</a></td>
            <td class="summaryTableLastCol">定位到 XML 或 XMLList 对象的后代元素，或者（与 @ 运算符一起使用）查找匹配的后代属性。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">.</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#dot_%28XML%29" class="signatureLink">dot (XML)</a></td>
            <td class="summaryTableLastCol">定位到 XML 或 XMLList 对象的子元素，或者（与 @ 运算符一起使用）返回 XML 或 XMLList 对象的属性。</td>
        </tr>
        <tr class="row1">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">( )</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#parentheses_%28XML%29" class="signatureLink">parentheses (XML)</a></td>
            <td class="summaryTableLastCol">计算 E4X XML 构造中的表达式。</td>
        </tr>
        <tr class="row0">
            <td class="summaryTablePaddingCol"> </td>
            <td class="summaryTableOperatorCol">&lt; &gt;</td>
            <td class="summaryTableSignatureCol"><a href="http://livedocs.adobe.com/flex/3_cn/langref/operators.html#XML_literal_tag_delimiter" class="signatureLink">XML literal tag delimiter</a></td>
            <td class="summaryTableLastCol">在 XML 文本中定义 XML 标签。</td>
        </tr>
    </tbody>
</table> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/ryouaki/blog/category/flex%BF%AA%B7%A2">flex开发</a>&nbsp;<a href="http://hi.baidu.com/ryouaki/blog/item/2ad22390d4e0828ba877a4da.html#comment">查看评论</a>]]></description>
        <pubDate>2008-10-23  10:15</pubDate>
        <category><![CDATA[flex开发]]></category>
        <author><![CDATA[ryouaki]]></author>
		<guid>http://hi.baidu.com/ryouaki/blog/item/2ad22390d4e0828ba877a4da.html</guid>
</item>


</channel>
</rss>