??xml version="1.0" encoding="utf-8" standalone="yes"?>97精品视频,国产成人精品日本亚洲专区61,国产91久久久久蜜臀青青天草二http://www.aygfsteel.com/Jimmy-Yi/zh-cnFri, 20 Jun 2025 00:46:32 GMTFri, 20 Jun 2025 00:46:32 GMT60struts2.0 标签使用http://www.aygfsteel.com/Jimmy-Yi/archive/2009/06/17/282794.html一叶方?/dc:creator>一叶方?/author>Wed, 17 Jun 2009 03:10:00 GMThttp://www.aygfsteel.com/Jimmy-Yi/archive/2009/06/17/282794.htmlhttp://www.aygfsteel.com/Jimmy-Yi/comments/282794.htmlhttp://www.aygfsteel.com/Jimmy-Yi/archive/2009/06/17/282794.html#Feedback0http://www.aygfsteel.com/Jimmy-Yi/comments/commentRss/282794.htmlhttp://www.aygfsteel.com/Jimmy-Yi/services/trackbacks/282794.html        目中用到struts2.0,边学边用Q灵z运用标{,会jsp更方便,捗?br style="font-family: " /> 1. 从java端返回String[] 数组?br style="font-family: " />
 pcTitle 是字W数l?nbsp; 

    <s:iterator value="pcTitle" id="pctitle" status="list">
    <td align="center"  class="weather_title" ><s:property value="pcTitle[${list.index}]"/></td>
   </s:iterator>

2.从java端返回List<Object>
  
   <s:iterator value="pcKeyList" id="keyList" status="count">
                   
                     <s:iterator value="#keyList" id="keyView" status="count">
                                  
                                                <s:property value="#keyView.id"/>     //   keyView是List的Object对象

                         </s:iterator>
                      
      </s:iterator>

3.从java端返回List<List<Object>>

    ? cMQ再嵌套一层@环?br style="font-family: " />
4. if 判断条g

      <s:set name="name" value="<%= "'" + request.getParameter("name") + "'" %>" />
        
<s:if test="#name == 'Max'">
            Max's file here
        
</s:if>
        
<s:elseif test="#name == 'Scott'">
            Scott's file here
        
</s:elseif>
        
<s:else>
            Other's file here
        
</s:else>        


]]>
Flex的内存优?/title><link>http://www.aygfsteel.com/Jimmy-Yi/archive/2009/06/01/279407.html</link><dc:creator>一叶方?/dc:creator><author>一叶方?/author><pubDate>Mon, 01 Jun 2009 07:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/Jimmy-Yi/archive/2009/06/01/279407.html</guid><wfw:comment>http://www.aygfsteel.com/Jimmy-Yi/comments/279407.html</wfw:comment><comments>http://www.aygfsteel.com/Jimmy-Yi/archive/2009/06/01/279407.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Jimmy-Yi/comments/commentRss/279407.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Jimmy-Yi/services/trackbacks/279407.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt">1. 被删除对象在外部的所有引用一定要被删除干净才能被系l当成垃圑֛收处理掉Q?<br /> 2. 父对象内部的子对象被外部其他对象引用了,会导致此子对象不会被删除Q子对象不会被删除又会导致了父对象不会被删除Q?<br /> 3. 如果一个对象中引用了外部对象,当自p删除或者不需要用此引用对象Ӟ一定要记得把此对象的引用设|ؓnull; <br /> 4. 本对象删除不了的原因不一定是自己被引用了Q也有可能是自己的孩子被外部引用了,孩子删不掉导致父亲也删不掉; <br /> 5. 除了引用需要删除外Q系l组件或者全局工具、管理类如果提供了卸载方法的׃定要调用删除内部对象Q否则有可能会造成内存泄露和性能损失Q?br /> 6. 父对象立刻被删除了不代表子对象就会被删除或立刻被删除Q可能会在后期被pȝ自动删除或第二次U除操作时被删除Q?<br /> 7. 如果父对象remove了子对象后没有清除对子对象的引用Q子对象一h不能被删除的Q父对象也不能被删除Q?<br /> 8. 注册的事件如果没有被U除不媄响自定义的强行回收机Ӟ但有可能会媄响正常的回收机制Q所以最好是做到注册的事件监听器都要记得U除q净?<br /> 9. 父对象被删除了不代表其余子对象都删除了,扑ֈ一U状态的泄露代码不等于其他状态就没有泄露了,要各模块各状态逐个q行试分析Q直到测试Q何状态下都能删除整个对象为止?br />  内存泄露举例Q?br />  1. 引用泄露Q对子对象的引用Q外部对本对象或子对象的引用都需要置nullQ?<br /> 2. pȝcLԌ使用了系l类而忘记做删除操作了,如BindingUtils.bindSetter()QChangeWatcher.watch()函数时候完毕后需要调用ChangeWatcher.unwatch()函数来清除引?Q否则用此函数的对象将不会被删除; cM的还有MUSICQVIDEOQIMAGEQTIMERQEVENTQBINDING{?br /> 3. 效果泄露Q当对组件应用效果Effect的时候,当本对象本删除时需要把本对象和子对象上的Effect动画停止掉,然后把Effect的target对象|null; 如果不停止掉动画直接?Effect|null不能正常移除对象?br /> 4. SWF泄露Q要完全删除一个SWF要调用它的unload()Ҏq且把对象置null; <br /> 5. 囄泄露Q当Image对象使用完毕后要把source|null;(为测?Q?<br /> 6. 声音、视频泄? 当不需要一个音乐或视频是需要停止音乐,删除对象Q引用置null; <br /> 内存泄露解决ҎQ?<br /> 1. 在组件的REMOVED_FROM_STAGE事g回掉中做垃圾处理操作Q移除所有对外引用(不管是VOq是lg的都需要删除)Q删除监听器Q调用系l类的清除方法) 先remove再置null, 保被remove或者removeAll后的对象在外部的引用全部释放q净; <br /> 2. 利用Flex的性能优化工具Profile来对目q程q行监控Q可知道历史创徏q哪些对象,目前有哪些对象没有被删除Q创建的数量Q占用的内存比例和用量,创徏q程{信息; <br /> <br /> ȝQ关键还是要做好清除工作Q自p|的引用自己要记得删除,自己用过的系l类要记得做好回收处理工作?以上问题解决的好的话不需要自定义强制回收器也有可能被pȝ正常的自动回收掉?<br /> <br /> 补:<br /> <p>内存回收机制试Q?br /> 通过~写试E序发现以下规律Qflash内存回收机制的一些特点:</p> <p>1Q?nbsp; 自动内存回收旉不确定?/p> <p>2Q?nbsp; 当一个对象存在被其他对象引用Ӟq个对象不会被内存回收?/p> <p>3Q?nbsp; 当一个流对象被加载,q个被加载的对象及已l占用了内存?/p> <p>4Q?nbsp; 当一个可视化对象被声明,?没有d到画面是占用部分内存Q加到displayObject上后Q占用全部该对象对象全部内存?/p> <p>5Q?nbsp; 当加载重复对象,例如 加蝲100个同L XX.swf Q如果仅是加载,完成后没有引用,那么内存变化规律QL型的。如果某个时间内存回收。那么最后留在内存中的应该是大小q似于加??XX.swf Q比1个XX.swf 要大些)Q从此可以推理出Q要是不同的东西被加载,那么最后即便是没有内存漏洞Q在一定条件下常用的东西内存中可能也会臛_保存每一个不同的东西。经我测试好像是q样的?多了可能还会有新发现呢)</p> <p>6Q?nbsp; 引用的包?/p> <p>1Q?nbsp; 对对象的存储Q?例如 使用一个数l保?某些对象Q那么数l不释放Q对象不可能释放</p> <p>2Q?nbsp; 对事件的监听Q?例如 监听q程实际上是使用一个对象保存关键字和关键字兌的事Ӟ对事件关键字Q查扄后找出对应的兌function。以下是as2代码。As3 的EventDispatcher功能cM</p> <p>                   var btnListener:Object = new Object();</p> <p>                   btnListener.click = function()  {</p> <p>                             trace("haha")</p> <p>};<br /> bt1.addEventListener("click", btnListener);</p> <p>使用removerEventer Ҏ定是要清除掉 处理关键字烦引和function 的对象。这样即清除掉了计数引用?/p> <p>3Q?nbsp; 强制回收方式Q自动内存回收时间不定Q用特D的ҎQ该Ҏ实际上触发一个错误引赯源回Ӟ使无用的不被计数器引用的都要被回收。(暂时不被使用的,没有引用的那个被自动回收保留的那个一个回收掉Q?/p> <p>ҎQ?</p> <p>                   try {</p> <p>                            trace("force a GC");</p> <p>                           new LocalConnection().connect('foo');</p> <p>                           new LocalConnection().connect('foo');</p> <p>                            } catch (e:Error) {</p> <p>                                     trace(e.message);</p> <p>                            }</p> <p>}</p> <p>一个例?假如 有个loader h加蝲url=xxxx.swf 的地址Q然后成功加?xxxx.swf, 10?Q每ơ成功后没有处理Q假设这时候自动回收没有调用,那么使用强制回收Q在debug模式下,会看到回收资源?/p> <p>[Unload SWF] xxxx.swf Q?0个这L输出?/p> <p>7Q?nbsp; ~写代码注意Q?/p> <p>1Q?nbsp; 无用的对象,没有引用</p> <p>2Q?nbsp; 降低c设计之间的耦合度,注意对象传递引用的设计{?/p> <p>3Q?nbsp; 单例模式Q在合适的时候?/p> <p>4Q?nbsp; 事g循环嵌套造成多次执行Q或事g触发循环bug?/p> <p>5Q?nbsp; 对象重复加同L监听</p> <p> </p> <p>Ҏ内存Ҏ制作了资源理cL?/p> <p><br /> monitor XML 文g<br /> 1.客户端根据主配置文g加蝲 相关模块配置文gQ其中之一模块是monitor xml文g<br /> 在编译发布客LӞ可以不包括此文gQ在开发h员用时可以包括此文Ӟ监视?br /> Lq行情况Q那么这h助于使用更少的类Q节省资源?br /> 依赖于XML配置体系的修改,打算客户端重构后实现?br /> Resource Monitor 资源监视c?br /> 资源监视Q主要利用弱引用Q监视对象是否存在,对象加蝲的资源大可以获得,同过对象<br /> 是否存在来统计该所有对象资源大d?br /> l计q程中需要对资源cd划分Q这里涉及到cd如何划分Q以及改造过E中如何传递这<br /> 些资源的cd。因为具体改造就是通过一个公用函数获取资源,那么需要告诉这个函敎ͼ<br /> 什么地方(模块Q用Q以便统计?<br /> 工作量分?1~写Resource Monitorc,2修改代码中所有资源加载处?/p> <p>   有一炚w要注意,q次dResource Monitorcȝ方式Q在以后重构后,加蝲调用的函数方<br /> 式可能都需要改变,设想通过服务来获取资源。那么这个服务的名称{信息自然会得到?/p> <p>使用Ҏ</p> <p>weeklyLoader = new Loader();//E序中的loader加蝲 ,不需要改?/p> <p>RF.load(weeklyLoader,path,"人物囄");//d RF 源管理类Q采用静态方法访问,path 是资源的url,”人物囄”是模块或资源cd的名U。不需要传递回调方法?/p> <p> </p> <p>本文来自CSDN博客Q{载请标明出处Qhttp://blog.csdn.net/cui55/archive/2008/03/31/2232705.aspx</p> <br /> </span> <img src ="http://www.aygfsteel.com/Jimmy-Yi/aggbug/279407.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Jimmy-Yi/" target="_blank">一叶方?/a> 2009-06-01 15:54 <a href="http://www.aygfsteel.com/Jimmy-Yi/archive/2009/06/01/279407.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ʹ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank">Ͽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">质</a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">з</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">բ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƺ</a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">¹</a>| <a href="http://" target="_blank">ɽʡ</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">麣</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">ͼ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>