??xml version="1.0" encoding="utf-8" standalone="yes"?>伊人75在线,国产一区高清在线,久9re热视频这里只有精品http://www.aygfsteel.com/DL88250/Javazh-cnWed, 18 Jun 2025 10:40:30 GMTWed, 18 Jun 2025 10:40:30 GMT60NetBeans 时事通讯Q刊?# 134 - Jan 25, 2011Q?/title><link>http://www.aygfsteel.com/DL88250/archive/2011/01/26/343529.html</link><dc:creator>88250</dc:creator><author>88250</author><pubDate>Tue, 25 Jan 2011 16:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/DL88250/archive/2011/01/26/343529.html</guid><wfw:comment>http://www.aygfsteel.com/DL88250/comments/343529.html</wfw:comment><comments>http://www.aygfsteel.com/DL88250/archive/2011/01/26/343529.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/DL88250/comments/commentRss/343529.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/DL88250/services/trackbacks/343529.html</trackback:ping><description><![CDATA[<div class="wmqeeuq" id="head"> <div id="wmqeeuq" class="bold"><img style="float: left;" src="http://netbeans.org/images_www/v5/nb-logo2.gif" alt="NetBeans Logo" width="159" height="60" /> 现在?netbeans.org 瞬息万变。ؓ了帮助您快速的获得最新消息,一个由志愿者组成的团队会每周收集与 NetBeans 相关的时事通讯Q包括文章,教程Q重要事件等{?/div> <div id="wmqeeuq" class="bold">刊号 # 134 - Jan 25, 2011</div> <div id="wmqeeuq" class="bold"> </div> <div id="wmqeeuq" class="bold"> </div> <div id="wmqeeuq" class="bold"> <div class="wmqeeuq" id="head"> <div class="wmqeeuq" id="issue-date" class="bold">刊号 # 134 - Jan 25, 2011</div> </div> <div class="wmqeeuq" id="content"> <h1>目新闻</h1> <div id="wmqeeuq" class="item"> <h2><a >APIGen 插gQPHP 目 API 的生成器</a></h2> <p style="margin-left: 8px;">APIGen NetBeans 插g?API 文档生成?APIGen 集成C NetBeans IDE 中,它允怽?PHP 目中生?API 文档?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >NetBeans 插gQSCSSQ?ldquo;Sassy CSS“Q支?/a></h2> <p style="margin-left: 8px;">SCSS 是两U对 Sass 可用语法中的一U,它扩展了 CSSQ在基本语言上更加强大和优美。在<a >q里</a>可了解到更多?Sass。这?NetBeans C֌贡献的插Ӟd了对 SCSS 文g~写的支持?/p> </div> <h1>文章</h1> <div id="wmqeeuq" class="item"> <h2><a >KLISSQ?NetBeans q_上的法律软g</a></h2> <p style="margin-left: 8px;">KLISS(堪萨斯州立法信息pȝ)构徏?NetBeans q_上,是由 Propylon 创徏的立法Y件。可用于一个公司在立法Q管理信息处理和内容斚w的专门管理?/p> </div> <h1>日程?/h1> <div id="wmqeeuq" class="item"> <h2><a >NetBeansQJDK 7 ?Java EE 6 与您相约瑞典 JFokusQ??4日至16日)</a></h2> <p style="margin-left: 8px;">Arun Gupta, Alexis Moussine-Pouchkine, Roger Brinkley and Tomas Nilsson ?011在瑞典斯德哥摩?JFokus 加入了甲骨文宣传中。您可在会议中了解到 Java EE, ClassFish ? JDK 7 的最新特性,NetBeans IDE 是如何把q些技术结合在一h帮助开发h员不断的提高生率的Q等{? <strong>?JFokus 的甲骨文会议Q?/strong> Java EE 6 ~程模型的解?Java EE 6 Toolshow 在云中运行你?Java EE 应用E序 ?Code Intensive Tutoria 中了?Java EE 6 中的 Nuts ?Bolts JDK7 更新 q是关于 'ME' 的一切(Ud和嵌入式Q?/p> </div> <h1>C֌</h1> <div id="wmqeeuq" class="item"> <h2><a >Revived: NetBeans q_中的|马g本地?/a></h2> <p style="margin-left: 8px;">NetBeans q_中的|马g本地化已l回归到新的 Stan Ioan Eugen 译中。在 NetBeans q_ 7.0 中本地化已完成了93%Q加?Eugen 可获取项?辑ֈ100%.</p> </div> <div id="wmqeeuq" class="item"> <h2><a >NetBeans C֌民意调查QNetBeans 中的下个一版本控制Q?/a></h2> <p style="margin-left: 8px;">Serena Dimension, SourceSafe, Bazaar, Perforce? 你希望在 NetBeans IDE 中看C么样的版本控Ӟ可在最新的 NetBeans C֌民意调查中告诉我们?/p> </div> <h1>l习</h1> <div id="wmqeeuq" class="item"> <h2><a >d子项目到目cd?/a></h2> <p style="margin-left: 8px;">了解如何?Java Swing 的树形层ơ结构中L的可视化建模?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >视频QNetBeans q_服务架构</a></h2> <p style="margin-left: 8px;">q些视频记录?Toni Epple 提供l?JUG Poznan ?NetBeans q_培训评概要。该视频对发生在我们中最热门的培训课E进行一个很好的概述?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >|络研讨会重?mdash;— Java EE 6, NetBeans ?GlassFish</a></h2> <p style="margin-left: 8px;">你错q了 JavaEE 6, NetBeansQGlassFish ??0日由甲骨文传道?Arun Gupta 丑֊的网l研讨会吗?现在Q整个会议可q行按需提供?/p> </div> <div id="wmqeeuq" class="edited">发布本期时事通讯的是: D. L. 88250</div> <div id="wmqeeuq" class="edited">可获得的语言<br /> <a >English</a> | <a >Brazilian Portuguese</a> | <a >French</a> | <a >Chinese - simplified</a> | <a >Chinese - traditional</a></div> </div> <div class="wmqeeuq" id="footer"> <div class="wmqeeuq" id="footer-text">本期时事通讯q可以从q里讉K <a >www.netbeans.org</a>, <a >时事通讯存档</a></div> </div> </div> </div><br/><br/><div style='font: italic normal normal 11px Verdana'>本文是?<a >B3log Solo</a> ?<a >U设计の艺术</a> q行同步发布?/div><div style='font: italic normal normal 11px Verdana'>原文地址Q?a >http://88250.b3log.org/netbeans-chinese-newsletter-134.html</a></div><img src ="http://www.aygfsteel.com/DL88250/aggbug/343529.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/DL88250/" target="_blank">88250</a> 2011-01-26 00:32 <a href="http://www.aygfsteel.com/DL88250/archive/2011/01/26/343529.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Larry Page 时代?Google 应该做的五g?/title><link>http://www.aygfsteel.com/DL88250/archive/2011/01/25/343468.html</link><dc:creator>88250</dc:creator><author>88250</author><pubDate>Tue, 25 Jan 2011 01:21:00 GMT</pubDate><guid>http://www.aygfsteel.com/DL88250/archive/2011/01/25/343468.html</guid><wfw:comment>http://www.aygfsteel.com/DL88250/comments/343468.html</wfw:comment><comments>http://www.aygfsteel.com/DL88250/archive/2011/01/25/343468.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/DL88250/comments/commentRss/343468.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/DL88250/services/trackbacks/343468.html</trackback:ping><description><![CDATA[<p>上周谷非常热闹Q重大消息频J出玎ͼ其中包括了乔布斯因病休假Q苹果的恐怖胦报等{。对于我们所兛_的移动业界跟互联|来_Google 换帅是另外一个重量消息?/p> <p>Quora 上有一个讨ZQ题目是<a target="_blank">“Larry Page 上Q之后QGoogle 的重点应该是什么?”</a>Q讨论相当活跃。我也在q里凑个热闹Q谈一谈在我看来,Larry Page 应该如何L?Google?/p> <p style="text-align: center;"><img src="http://www.oschina.net/uploads/img/201101/25083653_C8Dd.png" border="0" alt="download (4).png" width="480" height="293" /></p> <h3>1Q关注核心业务,也就是搜?/h3> <p>Google 前段旉在搜索结果上是饱受dQ由于与日俱增的垃圾内容Q搜索结果的污染状况发严重。Stack Overflow 的创始h之一 Jeff Atwood ?a target="_blank">一文?/a>里这栯?Google 现在的搜索结果:</p> <blockquote> <p>Google Q这个曾l的必备工具Q某U程度上已经失去了它的优势地位。垃圑ֆ容制造者、以点击率ؓl极目标的内容聚合站Ҏ在走向胜利?/p> </blockquote> <p>?q一点上来说Qifanr 感同w受。作为内Ҏ供者,我们是创造h值的人,是在l互联网不断ȝ加瓦的一斏V而之前在 Google 里搜索我们的原创文章Q出现在l果最端的却往往是是通过拯+_脓、有时候还不注明出处进行{载的内容聚合站点。它们用毫无成本的方式夺取着应该属于? 作者的讉K量?/p> <p>好在 Google g已经认识Cq一炏V之前搜索质量组?Matt Cutts <a target="_blank">表示</a>? 们已l意识到了垃圑ֆ容的增多Q以及劣质内容聚合站点引发的不满Qƈ且会很快q行处理。从我今早的实验来看Q似?Google 已经采取了措施,最q? ifanr 的原创文章都出现在首头条。从根子上(点击量带来的l济利益Q驱逐劣质内容聚合站点,对现代互联网来说Q确实是件好?/p> <p>搜烦Q是 Google 的立w之本,从上周发布的<a target="_blank">财报</a>来看QGoogle 收入的主要增长点仍然是在|站本n的业务。不断改q搜索,d新的搜烦方式Q才能保持和增强 Google 在这个领域的领导C。后院不LQ才有在其他领域发展的资本?/p> <p style="text-align: center;"><img src="http://www.oschina.net/uploads/img/201101/25083656_KlLC.jpg" border="0" alt="2323.jpg" width="480" height="353" /></p> <p>q一条,?Larry Page 上Q以后最需要关注的。未来十q的搜烦是什么样子?如何提高内容兌性,改进使用体验Q怎么样通过创新Q把 Bing {竞争对手远q甩开Q对 Google 来说Q至关重要?/p> <h3>2Q在C交|络斚w另辟y径</h3> <p>Google 在社交网l方面的试探Q到目前为止都是悲剧Q坦率地_我个为Google 已经错过了第一班社交网l的列R?/p> <p style="text-align: center;"><img src="http://www.oschina.net/uploads/img/201101/25083657_VgIj.jpg" border="0" alt="RIP-Google-Wave-Dead.jpg" width="480" height="365" /></p> <p>作ؓ新生事物的社交网l,从一开始负载的是用戯拟交的需求?/p> <p>?前的胜利者里面,Facebook 满了h们交的愿望Q利用网l,表现了某U程度上真实的h与h关系Q而大量互动元素的引入Q则是模拟了现实生活的部分h际往来,从根底上来说Q没有理? 上的创新Q然而它仍然_伟大QFacebook 把现实生zL功投影到了虚拟世界,是真正意义上的创造者?/p> <p>另一个赢家是 TwitterQ它满的,是h们表达自q愿望。通过短的 140 个字Qh与h之间形成了一U奇妙的交流关系Q普通h也可以第一旉见证重大事g。可以说QTwitter 与智能手机的l合Q创造了一U新媒体。表达自己,记录周边Q关注别人,?Twitter cȝ交网l的Ҏ。无论是变种?foursquareQ还? QuoraQ从理念上看Q都是这L东西?/p> <p>Google 之前的尝试呢Q?Wave 那个体验一塌糊涂的东西不去说它Q出生太早了QBuzz 则是无限制版本的 TwitterQGoogle 试图利用现成的庞大用LQ但没有实质性创斎ͼ再加上拙劣的整合方式Q这个品的前景乐观不到哪儿厅R?/p> <p>C交|络走到现在Q实际上已经C一个重要的兛_Q即Q?strong>虚拟的内容如何与现实C会l合hQ怎样把线上关pM实体l济整合Q创造出一个崭新的商业模式</strong>。在我看来,q才是第二代C交|络Q也x熟版本的C交|络。这个方向是未来两年的热点,也是 Google 下一步可以突围的角度?/p> <p>Google 的最大优势是什么?大家应该都非常清楚,其一是庞大的用户,其二是信息了。Google 相对? Twittter、fousquare {来_先天有信息斚w的优ѝ?Google 在徏讄交网l的时候,却完全忽略了q个优势Q捆着手脚M头开始跟已经成熟的对手竞争,怎么可能胜利Q?/p> <p>举个最单的例子QGoogle Maps 信息丰富Q我l常用它来寻找晚地点,最大的好处之一是可以看到多个|站的用戯P看看截图Q?/p> <p style="text-align: center;"><img src="http://www.oschina.net/uploads/img/201101/25083658_ZgOs.jpg" border="0" alt="Untitled-1.jpg" width="480" height="360" /></p> <p>?C吧,?Buzz 选项Q然而搞W的事来了。我可以看到其他|站的评P可以?Buzz 上分享这个地点,然后呢?没了。我完全看不? Buzz 关于q个馆的讨论,看不到我分n以后朋友的看?mdash;—一点也没有。实体经方面的内容本n是 Google 的长,然而在它的M产品里面Q都没有把这个长处跟自己的社交网l更紧密得结合v来?/p> <p>攄庞大的现实数据不用,几个产品之间几乎没有交流Q捧着金饭要饭,q就?Google 的社交网l。跟现实C会l合的社交网l,是 Google 在这一领域的最后一个机会?/p> <h3>3Q细节,l节Q还是细?/h3> <p>有一句老话Q细节决定成败,然?Google 现在的很多做法,却表C一U对l节的漠视,极大影响了品的使用体验。还是要?Android ZQ这玩意直就是反面教材)Q?/p> <p>׃单的讄界面说v。Android q铺直叙的设|界面,完全没有H出重点Q我甚至怀疑这帮h安排序的时候是不是拍脑门做出的军_。)Q跟双?iOS 比,C孰劣Q一目了然?/p> <p style="text-align: center;"><img src="http://www.oschina.net/uploads/img/201101/25083659_Snmu.jpg" border="0" alt="Untitled-2.jpg" width="480" height="360" /></p> <p>q有应用市场Q每ơ谈?Android 的应用市场,我都有爆_口的冲动。缓慢的速度、时怸q已下载应用列表?a target="_blank">q迟没有解决的应用无法下载问?/a>……q是整个产业的核心之一QGoogle 准备这么糊弄下去?</p> <p>Android 不讲I的地方何止q些Q工E师文化q不代表着可以不拘节QGoogle 的目光,应该多放些在l节上。移动设备,用户体验臛_重要?/p> <h3>4: l箋拥抱云,下注新能源?/h3> <p>在这个卖杂货的、搞 B2C 的、做软g的都在搞云应用^台的当口Q互联网界巨_拥抱云的先驱之一Q可能拥有着世界上最好硬件以及网l设施的 GoogleQ当然也拥有自家?App Engine?/p> <p style="text-align: center;"><img src="http://www.oschina.net/uploads/img/201101/25083700_tD4d.png" border="0" alt="download (3).png" width="480" height="100" /></p> <p>?计算q_对于中小企业、个人的意义Q无论如何赞扬也不会q分Q它直接引领了当前的互联|创业潮。低廉的q_成本Q按需付费的方式,Amazon EC2 吸引了大量的个h开发者,Google ?App Engine 当然不错Q但我要_q是不够灉|Q如果能提供更多语言支持Q就再好不过了?/p> <p>新能源很好理解,随着交易市场的兴vQ碳排放量眼看就要变成金融市Z的一个新产品。在q个势影响下,每个企业都应该考虑下自q能源来源Qؓ来更加严格的排放调控措施做好准备,规避可能的经风险?/p> <p style="text-align: center;"><img src="http://www.oschina.net/uploads/img/201101/25083701_jY0T.jpg" border="0" alt="data-center.jpg" width="480" height="288" /></p> <p>降低所消耗能源的x放,对于 Google q种能源消耗大h_是经跟政治上都很正的方向Q而且同样有大量的利益存在。新能源产业Q应该成?Google 下一步的重点投入方向?/p> <h3>5Q提高决{速度与质量,减少内部沟通环?/h3> <p>?安知道 Google 著名?20% 规则Q员工可以把 20% 的上班时间放在其他项目上。Google 的员工无疑是优秀的,q些业余旉做出的项目也应该有很多不错的点子Q然而,从中孵化的成果却q不多。其中的部分原因Q恐怕与 Google 的内部引g及沟通机制存在很大的关系。由于缺乏引|员工的项目往往?Google 本n没什么联p,而因为沟通问题,好的目不一定能够获得公司的帮助?/p> <p>Google 的前员工遍布整个互联|业界,大量创新却往往出现在他们离开 Google 以后。应该如何去引发员工的创造力、提高内部效率跟执行力度QLarry Page 需要仔l考虑Q以便调整内部架构来适应q个变化q速的世界。三星这个反应快到根本不像大公司的大公司在全世界d掠地Q诺Z反应E微q缓一点就束手? 脚,GoogleQ你要快一点,再快一点,才能?Facebook 以及C千计的创业企业进行竞争?/p> <p>转自Qhttp://www.oschina.net/news/14996/larry-page-google-five-things-todo</p><br/><br/><div style='font: italic normal normal 11px Verdana'>本文是?<a >B3log Solo</a> ?<a >U设计の艺术</a> q行同步发布?/div><div style='font: italic normal normal 11px Verdana'>原文地址Q?a >http://88250.b3log.org/larry-page-google-five-things-todo.html</a></div><img src ="http://www.aygfsteel.com/DL88250/aggbug/343468.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/DL88250/" target="_blank">88250</a> 2011-01-25 09:21 <a href="http://www.aygfsteel.com/DL88250/archive/2011/01/25/343468.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用~存法?/title><link>http://www.aygfsteel.com/DL88250/archive/2011/01/21/343327.html</link><dc:creator>88250</dc:creator><author>88250</author><pubDate>Fri, 21 Jan 2011 06:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/DL88250/archive/2011/01/21/343327.html</guid><wfw:comment>http://www.aygfsteel.com/DL88250/comments/343327.html</wfw:comment><comments>http://www.aygfsteel.com/DL88250/archive/2011/01/21/343327.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/DL88250/comments/commentRss/343327.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/DL88250/services/trackbacks/343327.html</trackback:ping><description><![CDATA[<p>没有说清哪种~存法优于其他的缓存算法。(以下的几U缓存算法,有的我也理解不好Q如果感兴趣Q你可以Google一下)</p> <h3>Least Frequently UsedQLFUQ:</h3> <p>大家好,我是 LFUQ我会计ؓ每个~存对象计算他们被用的频率。我会把最不常用的~存对象t走?/p> <h3>Least Recently UserQLRUQ:</h3> <p>我是LRU~存法Q我把最q最用的~存对象l踢走?/p> <p>我L需要去了解在什么时候,用了哪个~存对象。如果有人想要了解我Z么总能把最q最用的对象t掉Q是非常困难的?/p> <p>览器就是用了我(LRUQ作为缓存算法。新的对象会被放在缓存的剙Q当~存辑ֈ了容量极限,我会把底部的对象t走Q而技巧就是:我会把最新被讉K的缓存对象,攑ֈ~存池的剙?/p> <p>所以,l常被读取的~存对象׃一直呆在缓存池中。有两种Ҏ可以实现我,array 或者是 linked list?/p> <p>我的速度很快Q我也可以被数据讉K模式适配。我有一个大家庭Q他们都可以完善我,甚至做的比我更好Q我实有时会嫉妒,但是没关p)。我家庭的一些成员包括LRU2 ?2QQ他们就是ؓ了完?LRU 而存在的?/p> <h3>Least Recently Used 2QLRU2Q:</h3> <p>我是 Least Recently Used 2Q有人叫我最q最用twiceQ我更喜Ƣ这个叫法。我会把被两ơ访问过的对象放入缓存池Q当~存池满了之后,我会把有两次最用的~存对象t走?因ؓ需要跟t对?ơ,讉K负蝲׃随着~存池的增加而增加。如果把我用在大定w的缓存池中,׃有问题。另外,我还需要跟t那么不在缓存的对象Q因Z 们还没有被第二次d。我比LRU好,而且?adoptive to access 模式 ?/p> <h3>Two QueuesQ?QQ:</h3> <p>我是 Two QueuesQ我把被讉K的数据放到LRU的缓存中Q如果这个对象再一ơ被讉KQ我把他{UdW二个、更大的LRU~存?/p> <p>我踢走缓存对象是Z保持W一个缓存池是第二个~存池的1/3。当~存的访问负载是固定的时候,?LRU 换成 LRU2Q就比增加缓存的定w更好。这U机制得我?LRU2 更好Q我也是 LRU 家族中的一员,而且?adoptive to access 模式 ?/p> <h3>Adaptive Replacement CacheQARCQ:</h3> <p>我是 ARCQ有我是介于 LRU ?LFU 之间Qؓ了提高效果,我是??LRU l成Q第一个,也就? L1Q包含的条目是最q只被用过一ơ的Q而第二个 LRUQ也是 L2Q包含的是最q被使用q两ơ的条目。因此, L1 攄是新的对象,?L2 攄是常用的对象。所以,别h才会认ؓ我是介于 LRU ?LFU 之间的,不过没关p,我不介意?/p> <p>我被认ؓ是性能最好的~存法之一Q能够自调,q且是低负蝲的。我也保存着历史对象Q这P我就可以C那些被移除的对象Q同Ӟ也让我可以看到被U除的对象是否可以留下,取而代之的是踢走别的对象。我的记忆力很差Q但是我很快Q适用性也强?/p> <h3>Most Recently UsedQMRUQ:</h3> <p>我是 MRUQ和 LRU 是对应的。我会移除最q最多被使用的对象,你一定会问我Z么。好吧,让我告诉你,当一ơ访问过来的时候,有些事情是无法预的Qƈ且在~存pȝ中找出最最q用的对象是一Ҏ间复杂度非常高的q算Q这是Z么我是最好的选择?/p> <p>我是数据库内存缓存中是多么的常见Q每当一ơ缓存记录的使用Q我会把它放到栈的顶端。当栈满了的时候,你猜怎么着Q我会把栈顶的对象给换成新进来的对象Q?/p> <h3>First in First outQFIFOQ:</h3> <p>我是先进先出Q我是一个低负蝲的算法,q且对缓存对象的理要求不高。我通过一个队列去跟踪所有的~存对象Q最q最常用的缓存对象放在后面,而更早的~存对象攑֜前面Q当~存定w满时Q排在前面的~存对象会被t走Q然后把新的~存对象加进厅R我很快Q但是我q不适用?/p> <h3>Second ChanceQ?/h3> <p>大家好,我是 second chanceQ我是通过FIFO修改而来的,被大家叫?second chance ~存法Q我?FIFO 好的地方是我改善?FIFO 的成本。我?FIFO 一样也是在观察队列的前端,但是很FIFO的立刻踢Z同,我会查即要被踢出的对象有没有之前被使用q的标志Q?一个bit表示Q,没有没有被?q,我就把他t出Q否则,我会把这个标志位清除Q然后把q个~存对象当做新增~存对象加入队列。你可以惌p像一个环队列。当我再一ơ在队头到q个 对象Ӟ׃他已l没有这个标志位了,所以我立刻把他踢开了。我在速度上比FIFO快?/p> <h3>CLock</h3> <p>我是ClockQ一个更好的FIFOQ也?second chance更好。因为我不会像second chance那样把有标志的缓存对象放到队列的NQ但是也可以辑ֈsecond chance的效果?/p> <p>我持有一个装有缓存对象的环Ş列表Q头指针指向列表中最老的~存对象。当~存miss发生q且没有新的~存I间Ӟ我会问问指针指向的缓存对象的?志位d定我应该怎么做。如果标志是0Q我会直接用新的~存对象替代q个~存对象Q如果标志位?Q我会把头指针递增Q然后重复这个过E,知道新的~存?象能够被攑օ。我比second chance更快?/p> <h3>Simple time-basedQ?/h3> <p>我是 simple time-based ~存法Q我通过l对的时间周期去失效那些~存对象。对于新增的对象Q我会保存特定的旉。我很快Q但是我q不适用?/p> <h3>Extended time-based expirationQ?/h3> <p>我是 extended time-based expiration ~存法Q我是通过相对旉d效缓存对象的Q对于新增的~存对象Q我会保存特定的旉Q比如是?分钟Q每天的12炏V?/p> <h3>Sliding time-based expirationQ?/h3> <p>我是 sliding time-based expirationQ与前面不同的是Q被我管理的~存对象的生命vҎ在这个缓存的最后被讉K旉v的。我很快Q但是我也不太适用?/p> <p>好了Q听了那么多~存法的自我介l,其他的缓存算法还考虑C下面几点Q?/p> <ul> <li><strong>成本</strong>。如果缓存对象有不同的成本,应该把那些难以获得的对象保存下来?</li> <li><strong>定w</strong>。如果缓存对象有不同的大,应该把那些大的缓存对象清除,q样可以让更多的小~存对象q来了?</li> <li><strong>旉</strong>。一些缓存还保存着~存的过期时间。电脑会失效他们Q因Z们已l过期了?</li> </ul> <p>Ҏ~存对象的大而不其他的~存法可能是有必要的?/p> <p>原文Qhttp://www.zavakid.com/27</p><br/><br/><div style='font: italic normal normal 11px Verdana'>本文是?<a >B3log Solo</a> ?<a >U设计の艺术</a> q行同步发布?/div><div style='font: italic normal normal 11px Verdana'>原文地址Q?a >http://88250.b3log.org/general-cache-algorithms.html</a></div><img src ="http://www.aygfsteel.com/DL88250/aggbug/343327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/DL88250/" target="_blank">88250</a> 2011-01-21 14:13 <a href="http://www.aygfsteel.com/DL88250/archive/2011/01/21/343327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NetBeans 时事通讯Q刊?# 133 - Jan 19, 2011Q?/title><link>http://www.aygfsteel.com/DL88250/archive/2011/01/20/343243.html</link><dc:creator>88250</dc:creator><author>88250</author><pubDate>Wed, 19 Jan 2011 16:19:00 GMT</pubDate><guid>http://www.aygfsteel.com/DL88250/archive/2011/01/20/343243.html</guid><wfw:comment>http://www.aygfsteel.com/DL88250/comments/343243.html</wfw:comment><comments>http://www.aygfsteel.com/DL88250/archive/2011/01/20/343243.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/DL88250/comments/commentRss/343243.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/DL88250/services/trackbacks/343243.html</trackback:ping><description><![CDATA[<div class="wmqeeuq" id="head"> <div id="wmqeeuq" class="bold"><img style="float: left;" src="http://netbeans.org/images_www/v5/nb-logo2.gif" alt="NetBeans Logo" width="159" height="60" /> 现在?netbeans.org 瞬息万变。ؓ了帮助您快速的获得最新消息,一个由志愿者组成的团队会每周收集与 NetBeans 相关的时事通讯Q包括文章,教程Q重要事件等{。刊?刊号 # 133 - Jan 19, 2011</div> <div id="wmqeeuq" class="bold"> </div> <div id="wmqeeuq" class="bold"> </div> <div id="wmqeeuq" class="bold"> <div class="wmqeeuq" id="head"> <div class="wmqeeuq" id="issue-date" class="bold">刊号 # 133 - Jan 19, 2011</div> </div> <div class="wmqeeuq" id="content"> <h1>目新闻</h1> <div id="wmqeeuq" class="item"> <h2><a >插gQRefactoringNG</a></h2> <p style="margin-left: 8px;">请通过相关|站上的专用语言和示例,阅读q个可助你在 NetBeans IDE 中重构代码的新插件的全部信息?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >技术访谈:NetBeans 和电子商务应用程?/a></h2> <p style="margin-left: 8px;">惌创徏一个电子商务互联网应用E序吗?如果你还没有听说q那份大型的 NetBeans 电子商务教程Q那么现在正是时候通过对其作?Troy Giunipero 的访谈去了解它?/p> </div> <h1>文章</h1> <div id="wmqeeuq" class="item"> <h2><a >Instant JChemQ? 岁了Q?/a></h2> <p style="margin-left: 8px;">Instant JChem 是一个化学家和生物学家所用的 IDEQ它Z NetBeans IDE 创徏。请查阅有关其最新发行版Q包?Groovy 集成Q和 5 周年庆的新闻?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >如何创徏一个商?IDE</a></h2> <p style="margin-left: 8px;">NetBeans IDE 是一个博大精׃性能优秀的开发环境,有些开发h员需要类似的 IDE 用于商业目。请通过q䆾短文Q弄清如何创L一?IDEQ?/p> </div> <h1>博客</h1> <div id="wmqeeuq" class="item"> <h2><a >囑Ş化查询生成器</a></h2> <p style="margin-left: 8px;">正在创徏一个需要查询生成器的应用程序吗Q请查看此查询生成器的截图,它是开?Kuwaiba 目的一部分?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >java.awt.Color 和属性窗?/a></h2> <p style="margin-left: 8px;">惛_你的应用E序中的属性窗口里使用 java.awt.Color 吗?如果该应用程序运行在 NetBeans q_上,你就可以重用一个颜色编辑器Q而无需~写M代码?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >松散耦合?Growl 支持</a></h2> <p style="margin-left: 8px;">惌?Mac 上从 NetBeans 接收 Growl 消息吗?Ralph Benjamin Ruijs 描述了如何让一切就l?/p> </div> <h1>l习</h1> <div id="wmqeeuq" class="item"> <h2><a >2 ?8-11 日:在开普敦?NetBeans q_培训</a></h2> <p style="margin-left: 8px;">Toni Epple 正在开普敦丑֊一场高U?NetBeans q_培训Q由南非开源培训咨询公?Jumping Bean q作?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >1 ?27 日:在慕黑的免?Java EE 6 研讨?/a></h2> <p style="margin-left: 8px;">Adam Bien 正在慕尼黑D办免费的 Java EE 6 深度研讨会?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >1 ?20 日:免费 Java EE 6 |络研讨?/a></h2> <p style="margin-left: 8px;">请和 Oracle 传教?Arun Gupta 一起加入这ơ代码密集型的网l研讨会Q将演示?Java EE 6、GlassFish ?NetBeans q行开发的易性?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >1 ?26-28 日:在丹麦的免费 NetBeans q_培训</a></h2> <p style="margin-left: 8px;">你在业w吗?请了解这ơ参加免?NetBeans q_培训的绝x会?/p> </div> <div id="wmqeeuq" class="edited">发布本期时事通讯的是: D. L. 88250</div> <div id="wmqeeuq" class="edited">可获得的语言<br /> <a >English</a> | <a >Brazilian Portuguese</a> | <a >French</a> | <a >Chinese - simplified</a> | <a >Chinese - traditional</a></div> </div> <div class="wmqeeuq" id="footer"> <div class="wmqeeuq" id="footer-text">本期时事通讯q可以从q里讉K <a >www.netbeans.org</a>, <a >时事通讯存档</a></div> </div> </div> </div><br/><br/><div style='font: italic normal normal 11px Verdana'>本文是?<a >B3log Solo</a> ?<a >U设计の艺术</a> q行同步发布?/div><div style='font: italic normal normal 11px Verdana'>原文地址Q?a >http://88250.b3log.org/netbeans-chinese-newsletter-133.html</a></div><img src ="http://www.aygfsteel.com/DL88250/aggbug/343243.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/DL88250/" target="_blank">88250</a> 2011-01-20 00:19 <a href="http://www.aygfsteel.com/DL88250/archive/2011/01/20/343243.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>发现 Google Buzz ?Google Code q行了集?/title><link>http://www.aygfsteel.com/DL88250/archive/2011/01/14/342963.html</link><dc:creator>88250</dc:creator><author>88250</author><pubDate>Fri, 14 Jan 2011 02:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/DL88250/archive/2011/01/14/342963.html</guid><wfw:comment>http://www.aygfsteel.com/DL88250/comments/342963.html</wfw:comment><comments>http://www.aygfsteel.com/DL88250/archive/2011/01/14/342963.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/DL88250/comments/commentRss/342963.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/DL88250/services/trackbacks/342963.html</trackback:ping><description><![CDATA[<p>提交 <a target="_blank">B3log Solo</a>Q运行在 GAE/J 上的博客E序Q?代码后发?Google Code 版本控制pȝ会将提交日志同步发布?Google Buzz 中:</p> <p><img src="http://88250.b3log.org/datastore-file-access.do?oId=1294968700560" alt="code-buzz.png" width="412" height="182" /></p> <p>但在 Buzz connected sites 里ƈ没有看到?Google Code 兌Q?/p> <p><img src="http://88250.b3log.org/datastore-file-access.do?oId=1294968828441" alt="buzz-connected.png" /></p> <p> </p> <p>现在一提交代码?BuzzQ还是比较无奈的....</p><br/><br/><div style='font: italic normal normal 11px Verdana'>本文是?<a >B3log Solo</a> ?<a >U设计の艺术</a> q行同步发布?/div><div style='font: italic normal normal 11px Verdana'>原文地址Q?a >http://88250.b3log.org/code-buzz.html</a></div><img src ="http://www.aygfsteel.com/DL88250/aggbug/342963.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/DL88250/" target="_blank">88250</a> 2011-01-14 10:04 <a href="http://www.aygfsteel.com/DL88250/archive/2011/01/14/342963.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NetBeans 时事通讯Q刊?# 132 - Jan 11, 2011Q?/title><link>http://www.aygfsteel.com/DL88250/archive/2011/01/11/342797.html</link><dc:creator>88250</dc:creator><author>88250</author><pubDate>Tue, 11 Jan 2011 14:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/DL88250/archive/2011/01/11/342797.html</guid><wfw:comment>http://www.aygfsteel.com/DL88250/comments/342797.html</wfw:comment><comments>http://www.aygfsteel.com/DL88250/archive/2011/01/11/342797.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/DL88250/comments/commentRss/342797.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/DL88250/services/trackbacks/342797.html</trackback:ping><description><![CDATA[<div class="wmqeeuq" id="head"> <div id="wmqeeuq" class="bold"><img style="float: left;" src="http://netbeans.org/images_www/v5/nb-logo2.gif" alt="NetBeans Logo" width="159" height="60" /> 现在?netbeans.org 瞬息万变。ؓ了帮助您快速的获得最新消息,一个由志愿者组成的团队会每周收集与 NetBeans 相关的时事通讯Q包括文章,教程Q重要事件等{。刊?# 132 - Jan 11, 2011</div> <div id="wmqeeuq" class="bold"> </div> <div id="wmqeeuq" class="bold"> </div> <div id="wmqeeuq" class="bold"> <div class="wmqeeuq" id="head"> <div class="wmqeeuq" id="issue-date" class="bold">刊号 # 132 - Jan 11, 2011</div> </div> <div class="wmqeeuq" id="content"> <h1>目新闻</h1> <div id="wmqeeuq" class="item"> <h2><a >NetBeans插g: PDF调试?/a></h2> <p style="margin-left: 8px;">RUPS(Reading and Updating PDF Syntax) 是由iText创徏的内部工?用来调试PDF文档.关于NetBeans插g的更多信息请点这?</p> </div> <div id="wmqeeuq" class="item"> <h2><a >SevenBeans:NetBeans的Windows 7 集成</a></h2> <p style="margin-left: 8px;">SevenBeans是一个NetBeans模块,能够使IDE,及其他NetBeansq_应用E序在Windows 7 中更有效?现在你可以将NetBeans锁定在Q务栏?快速启?最q项?,从Q务栏上的按钮查看IDEq度和状?</p> </div> <h1>文章</h1> <div id="wmqeeuq" class="item"> <h2><a 模式在NetBeansq_上应?/a></h2> <p style="margin-left: 8px;">Carlos Hoces,来自JPlay的开发员,讨论了他的基于NetBeansq_的发?订购pȝ.</p> </div> <div id="wmqeeuq" class="item"> <h2><a >Java EE 6 :U设?Oracle杂志)</a></h2> <p style="margin-left: 8px;">Adam Bien讨论了各UJava EE 6 的架构和设计Ҏ,可以帮助开发者创建高效的,单和易维护的应用E序?</p> </div> <div id="wmqeeuq" class="item"> <h2><a >思科使用NetBeansq_的方?/a></h2> <p style="margin-left: 8px;">Gary Lefman,来自思科.解释思科如何ZNetBeans本地化自q工具?及用NetBeansq_q行桌面应用E序模块化带来的好处.</p> </div> <h1>日程?/h1> <div id="wmqeeuq" class="item"> <h2><a >JFokus(瑞典,2?4可16?上的NetBeans,JDK 7和Java EE 6</a></h2> <p style="margin-left: 8px;">来参加在瑞典斯d哥尔摩D行的JFkus 2011.从Oracle传道士Arun Gupta,Alexis Moussine-Pouchkine, Roger Brinkley ?Tomas Nilsson那里学习关于Java EE,GlassFish和JDK 7 的最新功?及NetBeans IDE如何串vq些技术用来帮l开发者更L产力及其? JFokus上的Oraclezd: Java EE 6 开发模型说?Java EE 6 工具展示 在云中运行你的Java EE应用E序 通过一个具体代码的教程了解Java EE 6 的具体细?JDK 7更新 关于ME(Ud与嵌入设?的一?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >免费的在U研讨会:使用 Java EE6,GlassFish和NetBeans开发web目(一?0?</a></h2> <p style="margin-left: 8px;">参加由Oracle传道士Arun Gupta发布的在U研讨会,是关于如何用Java EE6,GlassFish和NetBeans开发的方便之处.q且阐述q三U技术如何在webpȝ及REST服务的开发中协同工作? 现在来注册? 日期: 2011q??0?星期?旉: 国太^z时?上午10?/ 东区时区下午1?/ Ƨ洲旉下午7?/p> </div> <h1>l习</h1> <div id="wmqeeuq" class="item"> <h2><a >一个用来生成和昄条Ş码图像的Ud讑֤样例E序</a></h2> <p style="margin-left: 8px;">学习怎样在NetBeans IDE中创Z个样例程?来生成条形码囑փ.</p> </div> <div id="wmqeeuq" class="item"> <h2><a >使用Oracle Database 11g和NetBeans IDE开发PHP WEB 目</a></h2> <p style="margin-left: 8px;">本教E帮助你开始PHP和Oracle数据库开?展示如何l合PHP,Oracle DB和NetBeans IDE创徏一个Web应用E序.</p> </div> <div id="wmqeeuq" class="edited">发布本期时事通讯的是: D. L. 88250</div> <div id="wmqeeuq" class="edited">可获得的语言<br /> <a >English</a> | <a >Brazilian Portuguese</a> | <a >French</a> | <a >Chinese - simplified</a> | <a >Chinese - traditional</a></div> </div> <div class="wmqeeuq" id="footer"> <div class="wmqeeuq" id="footer-text">本期时事通讯q可以从q里讉K <a >www.netbeans.org</a>, <a >时事通讯存档</a></div> </div> </div> </div><br/><br/><div style='font: italic normal normal 11px Verdana'>本文是?<a >B3log Solo</a> ?<a >U设计の艺术</a> q行同步发布?/div><div style='font: italic normal normal 11px Verdana'>原文地址Q?a >http://88250.b3log.org/netbeans-chinese-newsletter-132.html</a></div><img src ="http://www.aygfsteel.com/DL88250/aggbug/342797.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/DL88250/" target="_blank">88250</a> 2011-01-11 22:09 <a href="http://www.aygfsteel.com/DL88250/archive/2011/01/11/342797.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GAE 随机获取实体http://www.aygfsteel.com/DL88250/archive/2011/01/10/342731.html8825088250Mon, 10 Jan 2011 13:16:00 GMThttp://www.aygfsteel.com/DL88250/archive/2011/01/10/342731.htmlhttp://www.aygfsteel.com/DL88250/comments/342731.htmlhttp://www.aygfsteel.com/DL88250/archive/2011/01/10/342731.html#Feedback0http://www.aygfsteel.com/DL88250/comments/commentRss/342731.htmlhttp://www.aygfsteel.com/DL88250/services/trackbacks/342731.html有时我们需要随机地获取数据记录Q实体)Q比如博客程序中?ldquo;随机文章”的实现?/p>

目前 GAE q没?API 可以直接获取随机实体Q要实现q样的需求我们只能自己想办法?:-)

?stackoverflow 上也有h提过该问?/a>Qȝ如下Q?/p>

  • Generate and store a random number on your entities as you create them, then pick a random number and look (via a query) for the closet record(s) to it.
  • Implement some mechanism to ensure your entity ids are "densely" populated, then fetch within the known range using keys.
  • Periodically generate random lists of the entities and return entities from those lists. This may take the form of a stack that entities are popped off of, or as actual lists that are returned.

目前 B3log Solo 在处?ldquo;随机阅读”上采用的是方法一Q即在每个文章实体上d一个属性保?0-1 的随机QҎ?/p>

在获取随机文章时生成一?0-1 的随机数QmidQ作为查询条Ӟ以此查询条g作ؓ边界Q? <= mid <=1Q来qo实体保存的随机值属性?/p>

q个Ҏ基本可以辑ֈ随机的效果了Qؓ了让随机的效果更动态一点,我们可以考虑l常更新文章实体中的随机点|

  • 讉K文章Ӟ卛_更新文章览ơ数时一q更新该文章的随机Q点|
  • 后台定时dQ获取一定数量的随机文章然后更新它们的随机Q点|
  • 用户做文章更新时

加上以上处理后,随机的效果比较好?:-)



本文是?B3log Solo ?U设计の艺术 q行同步发布?/div>
原文地址Q?a >http://88250.b3log.org/get-gae-random-entities.html


88250 2011-01-10 21:16 发表评论
]]>U观 jBPMQ从 jBPM3 ?jBPM5 以及 Activiti5http://www.aygfsteel.com/DL88250/archive/2011/01/05/342348.html8825088250Wed, 05 Jan 2011 05:55:00 GMThttp://www.aygfsteel.com/DL88250/archive/2011/01/05/342348.htmlhttp://www.aygfsteel.com/DL88250/comments/342348.htmlhttp://www.aygfsteel.com/DL88250/archive/2011/01/05/342348.html#Feedback4http://www.aygfsteel.com/DL88250/comments/commentRss/342348.htmlhttp://www.aygfsteel.com/DL88250/services/trackbacks/342348.html作? 荣浩 发布? 2010q?2?8?上午12??/p>

?a >jBPM来说Q今q最大的事g莫过于jBPM的创?a >Tom BaeyensdJBoss了。Tom Baeyensd的具体原因尚不清楚,但他的离开产生了两个结果:一是jBPM的下一个版本jBPM5完全攑ּ了jBPM4的基代码Q基?a >Drools Flow重头来过Q二是Tom Baeyens加入Alfresco后很快推Z新的ZjBPM4的开源工作流pȝActiviti?由此不难推测Tom Baeyensd的部分原因:JBoss内部对jBPM未来版本的架构实C生了严重的意见分歧。更加y合的?2?日Activiti5刚发布,?接着12?日jBPM5发布了W一个候选发布版本,jBPM与Activiti之间的微妙关pd见一般?/p>

在这文章里Q我们将一起回jBPM从jBPM3到jBPM5以及Activiti5的发展历E,我们可以清晰的看见jBPMQ包?ActivitiQ设计所遵@的一致原则:程服务的可嵌入性和可扩展性。同Ӟ从各个版本之间的变化我们也能看见产品设计思\的变化:更加面向 业务人员Q增加BPMSQ业务流E管理系l)Ҏ?/p>

在回之前,我们首先讨论一下BPMS应该嵌入q是独立部v的问题,因ؓ不管是jBPMq是ActivitiQ都了流E服务的可嵌入性。此外,我们q需要讨Z下什么是BPMS的特性,它们所解决的问题是什么?/p>

一、嵌入式q是独立部vQ?/strong>

不管是jBPMq是ActivitiQ都了流E服务的可嵌入性。Tom Baeyens在其个h博客里称作ؓ独立部v的BPMS已死Q原因有两个Q一是独立部|的BPMS需要很高的安装使用成本Q需要独立部|Ӏ需要用h出大 量的培训成本和维护成本;二是独立部v的BPMS与外部系l的交互方式是分布式Q这使得很多问题变得复杂Q例如分布式事务。Tom Baeyens代表了相当一部分人特别是开发h员的观点?/p>

Tom Baeyens没有完全理解BPMS。什么是BPMSQBPMS最重要的目标就是需要打破各个应用系l(CRM、ECM、ERP、SCMQ之间的界线Q将 分散在这些系l中的流E集中管理,q是BPMS的实质。一如流E再造,打破各个部门之间的壁垒,减少费Q徏立流E驱动性的l织。如下图1所C:

?1QBPMS打破应用pȝ之间的界U?

BPMS所要解决的问题要求其必然是独立部v的。Tom Baeyens错误的根本原因在于其BPMS与工作流pȝ的定义؜Z一谈,他如此定义BPMSQBPMS旨在化对l织核心程q行支撑的Y件创建?也就是BPMS面向的是软g开发h员,旨在化他们的开发,降低他们使用程的门槛。而这正是工作系l需要解决的问题?/p>

BPMS面向企业用户Q工作流面向开发社区和pȝ集成商?/p>

二、BPMSҎ?/strong>

jBPM4、jBPM5和Activiti5都增加了其BPMSҎ,那些Ҏ能够称为BPMSҎ呢Q我们先看一看BPMS需要解决的问题Qؓ解决q些问题所增加的特性就是BPMSҎ?/p>

  1. 如何设计程Q在l织中高效地对设计出的流E进行沟通,取得pQ?/strong>

    • 提供跨越l织的流E标准标记符号与术语QBPMN已经成ؓ标准Q?/li>
    • 程及相x档的可视化(程/内容存储仓库Q?/li>
    • 提供在组l结构内q行不同层次之间的流E导航(程存储仓库支持l织模型Q?/li>
    • 程定义在各个层?部门间的一致性,避免业务人员的流E徏模{换到ITpȝ时受到损耗(程引擎支持Z囄建模Q支持扩展)
  2. 如何更好地执行流E?

    • 业务zd的实时监控,预警与控ӞBAMQ?/li>
    • 程执行的仿?/li>
    • 程执行的统计分析与反馈Q报表)
  3. 如何更好地管理流E?
    • 打破各个应用pȝ之间的界U,l一理所有流E(EAIQ与ESB的集成)
    • 对业务h员友好的建模工具
  4. 如何在执行流E过E中遵@业内最佛_践和规则Q?/strong>
    • 面向程的知识管?/li>
    • 规则引擎

三、完整的工作实现jBPM3

jBPM3的最新版本是3.2.7Q其包括了以下组ӞZEclipse的流E设计器、用于监控案例(程实例Q和处理d的Web控制C及jPDL核心库。如下图2所C:

?2QjBPM3lg

  1. ZEclipse的流E设计器

    提供l开发h员绘制jPDL程图,因ؓ该设计器ZEclipseQ所以生成的程文g可以与开发代码一Ll管理,非常Ҏq行单元试。实C工作管理系l参考模?/a>里的接口1?/p>

  2. Web理控制?/strong>

    主要有两个功能:一是作为工作流客户端应用接口,l用h供一U手D,以处理案例运行过E中需要h工处理的dQ二是对案例的状态进行监控与理。实C工作管理系l参考模型里的接???/p>

  3. jPDL核心?/strong>

    jPDL核心库是一个单独的JAR包,可以嵌入到目标应用中执行Q它包括了:

    • 程仓库Q解析jPDL程定义文gq存储读取;
    • 程引擎Q对程定义q行初始化和调度执行Q节点的q行期行ZjPDL里定义的节点cd一一l定Q?/li>
    • d理Q生成Q务节Ҏ对应的工作项Q管理工作项的生命周期(初始化、分配执行者、执行、挂赗结束、终止)Q?/li>
    • 事g理Q发布案例和d的开始、结束事Ӟ通过监听者模式调用相应的事g处理器;
    • 异步执行机制Q通过U程实现了Job ExecutorQ进行异步工作的处理Q这些工作包括了旉处理、异步动作?/li>
    • w䆾lg模型Q实C一套简单的w䆾lg模型Q包括了l、用户和权限?/li>

    通过调用自定义Java代码实现了对外部应用的调用,从而实现工作流理pȝ参考模型里的接??/p>

  4. jBPM3是一个轻量的嵌入式工作系l。它在JavaC֌的成功得益于两个斚wQ一是嵌入式Q这降低了用工作流的门槛;二是对开发h 员友好,q表现在易读的jPDL、流E的可测试?Eclipse插g)以及节点行ؓ的可扩展性,我们可以非常Ҏ的在程q行中加入自己定制的行ؓQ?q事件处理器和ActionQ。jBPM3面向开发h员,它解决的问题是流E的自动化,它的影响力集中在Java开发社区,是一个完整的工作系l实现?/p>

四、向BPMS努力的jBPM4

与jBPM3相比QjBPM4最大的变化是引入了程虚拟机(PVMQ,同时增加了BPMS的特性。jBPM4不再满于工作流pȝ的定位,开始向BPMS努力?/p>

  1. Z么引入流E虚拟机

    管jBPM3在JavaC֌取得了很大的成功Q但是有一件事始终被h们诟病,那就是它不支持流E语a规范Q从最开始的XPDL、BPEL 到后来的BPMNQ它采用了自定义的jPDL。在jBPM3中,节点的运行期行ؓ与jPDL里定义的节点cd是一一l定的,q造成了流E引擎与特定程?a的绑定,要支持其他的程语言变得困难。于是在jBPM4中,jBPM提出了流E虚拟机的概念,xE引擎与程语言解耦,通过一套通用的流E模型ƈ?以可定制的节点运行期行ؓ实现了对多流E语a的支持?/p>

    程虚拟机带来的好处是多斚w的:W一也是最重要的是jBPM4支持了BPMN?/p>

    W二是实CZ程lg的流E引擎,程?语言)与实现解耦,我们使用通用~程语言实现节点q行期行为,UC为流E组Ӟ通过流E图 与流E组件挂接,避免了图的损耗。在q一点上QTom Baeyens对BPMN到BPEL的{换提Z一针见血的批评:BPMN和jPDL以及XPDL都是Z囄Q而BPEL是基于块的,q造成了当业?人员使用BPMN所建立的流E模型向BPEL执行模型q行转换Ӟ出现许多的不匚wQ最初的程模型会扭曲变形。而扭曲的后果是业务人员与开发h员之?的协作困难,q媄响了程从业务到技术的实现?/p>

    W三个好处是我们可以定义领域特定语言QDSLQ,在特定的应用里,采用DSLU定q藏了大部分的技术细节可能做C务h员对执行程的直接修改,例如企业文理里的审批程?/p>

  2. BPMSҎ的加入

    q表现在以下三个斚wQ第一是支持了BPMNQBPMN已经成ؓ业务人员的流E徏模标准;W二是引入了Signavio作ؓ面向业务人员的Web建模器;W三是在已有的Web理控制台加入了Ҏ例和d的统计功能。jBPM4的组件如下图3所C:

    ?QjBPM4lg

    和jBPM3一PjBPM4依然是轻量的、可嵌入的工作流pȝ。相比jBPM3Q它业务h员作为最l用户之一Q增加了部分BPMSҎ,同时PVM的引入得它的可扩展性得C极大的增强,我们甚至可以定义自己的DSL?/p>

    在BPMSҎ里我们提到了应该避免业务h员的程建模转换到ITpȝ时受到损耗,最理想的情冉|业务人员与开发h员共用一个流E模型,?务h员能够直接对程q行调整Q在特定应用中,通过DSL是可以做到的Q;其次是通过BPMS业务h员的模型与实际执行的技术模型关联v来(很多商业?品已l做Cq一点,在Activiti5中我们也会看到这一点)Q业务h员、开发h员以及运营团队之间能够做到很好的协调Q最差是业务人员与开发h员各 自ؓ政,独立l护各自的流E模型,q且模型之间存在极大的不匚wQ此时流E的q速变化基本上是奢望?/p>

五、鸠占鹊巢的Drools Flow与jBPM5

目前jBPM5刚刚发布了第一个候选发布版本,jBPM5基本上完全抛弃了jBPM4的代码,所有代码全部来自原先的Drools Flow。Drools Flow最初被用来解决规则执行序的问题。其实从Drools Flow开始支持BPMN时vQ我们已l预感到它与jBPM的竞争关pR?/p>

jBPM5依旧定位量的可嵌入的工作流pȝ。在jBPM5的特性里Q有q么两条引hxQ一是引入了Guvnor作ؓ程仓库Q这解决了流E?的可视化问题Q流E定义作源被理Q我们可以对程定义q行可视化管理以及全文检索(Guvnor使用了Jackrabbit作ؓ了其存储实现Q但?们的l验表明Jackrabbit在大数据量情况下性能存在严重问题Q;W二是规则引?Drools Expert)、事件处理引?Drools Fusion)与流E引擎的合三ZQ这是jBPM5最让h期待的地斏VjBPM5的组件如下图4所C:

?4QjBPM5lg

规则引擎在流E中的应用已l非常广泛了Q我们这里说说事件处理引擎?/p>

事g处理引擎是业务活动监控(BAMQ的基础QBAM的功能及执行q程Q如下:

  • 捕获QBAM捕获各种事gQ通过消息监听器、适配器、代理等Q。这些事件来自应用、系lY件、外部交易伙伴。消息是BAM的核?mdash;—它们反应底层业务程的状c?/li>
  • qoQBAMqo掉没有直接后果的事gQ在很多情况下由支持事g处理(Event Stream ProcessingQ简UESPQ或复杂事g处理QComplex Event ProcessingQ简UCEPQ引擎来q行qo?/li>
  • 分析QBAMҎ分析模型和规则将相关事g联系h?/li>
  • 警告QBAM向用h告,以便用户在必要时q行控制?/li>

如上所C,BAM的执行过E包含四个步骤,而前三个步骤都是对事件进行相关的处理Q捕获事件、过滤事件、分析事件、关联事ӞQ因此在大多数BAM的技术实现方案中Q都ZCEP和ESP的引擎来实现BAM的功能?/p>

与jBPM4相比QjBPM5对PVM的放弃也带来了几个不的问题Q第一是对开发h员来说只支持BPMNQ不再支持jPDLQ当然提供了q移?PQ第二是程执行的可扩展性回CjBPM3的年代,仅仅支持自定义动作(相当于jBPM3里的ActionQ。此外,Web建模器由 Signavio替换ZOryx Designer?/p>

总而言之,jBPM5通过引入程仓库和BAMl箋向BPMSq进Q目前的q展是与程仓库的集成还未完成,BAMZ日志q行分析Q,同时Q由于不再支持PVM和jPDLQ带来了程扩展性的降低和社区开发h员的未来失?/p>

六、Activiti5的反?/strong>

Activiti5是Tom Baeyens加入Alfresco后推出的新的ZjBPM4的开源工作流pȝQ?号刚刚发布第一个版本。Activiti的开发团队相比与jBPM?大了许多Q有23位核心开发者。当然这也是׃activiti规划的功能所_包括核心引擎、Web的流E徏模器、协作工具Activiti Cycle、Activiti Probe、Activiti Explorer、与Spring的集成、与Mule的集成等?/p>

?5QActiviti5的组?/strong>

如上图所C,Activiti5׃U类型的lgl成Q分别是Q专用工PDedicated ToolsQ、内容存储工PStored ContentQ和协作工具QCollaboration ToolQ?/p>

专用工具包括以下Q?/p>

  • Alfresco—Alfresco公司的企业内容理产品
  • Alfresco 是一个开源的、企业的内容管理系l,功能包括Q文管理、协作、记录管理、知识库理、Web内容理{功能。Alfresco与Activiti的深 入集成实C程及相x的可视化。更重要的是Alfresco支持l织模型Q能够提供在l织l构内进行不同层ơ之间的程D?/p>

  • Activiti Modeler—建模?/li>

    Z开源Signavio Web程~辑器的一个定制版本,提供了对BPMN2.0囑Ş化规范的支持Q徏模后的流E以文g格式q行存储?/p>

  • Activiti Designer—Eclipse插g形式的徏模器
  • Activiti probe—理及监控组?/li>

    ҎE引擎运行期实例提供理及监控的Web控制台。包含部|的理、流E定义的理、数据库表的视、日志查看、事务的q_执行旉、失败多ơ的工作{功能?/p>

  • Activiti Explorer—d理lg
  • 提供d理功能和对案例、Q务基于历史数据的l计分析Q报表)功能。Web应用E序?/p>

内容存储工具Q包括了文仓库、模型仓库、SVN仓库、MVN仓库和Activiti引擎。其中文仓库、SVN仓库和MVN仓库三个lg为协作工PActiviti CycleQ提供底层的支撑。Activiti引擎则是以前的PVM?/p>

协作工具Q与jBPM4相比QActiviti5最令h瞩目的特性就在于它的协作工具lg?/p>

Activiti Cycle完全是一U新cd的BPMlg。它是一个用来促q业务h员、开发h员和ITq营人员协作的Web应用E序? 在现实的场景中,业务文有业务h员所持有Q而Y件程序由开发团队所理Q被部v的Y件应用则被IT理人员所理。三者之间不能很好的协作。我们可以想 象这样一个场景,业务l理用文来l护需求和visio格式的流E图Q开发h员管理可执行的流E和大量的Java源文件而ITl护人员则管理部|在 Tomcat中的.war文g和存储在Activiti数据库中的流E?/p>

?6QActiviti cycle协作lg逻辑C意?/strong>

Activiti Cycle通过BusinessLink与程相关的业务h员、开发团队与ITl护人员兌hQ实C们之间的协作?/p>

总而言之,与jBPM4相比QActiviti5目前最重要的增强就是实C程的可视化以及创新?/a>Activiti Cycle协作lgQ此外,通过与Mule的集成加Z光成能力。其对PVM的保留其承了jBPM4强大的可扩展能力Q对jBPM的老用h_q是向其q移的重要理由?/p>

七、ȝ

jBPM3是一个完整的工作系l实玎ͼ面向开发h员,目的在于化对l织核心程q行支撑的Y件创建,不支持标准?/p>

jBPM4引入PVMQ其拥有更强大的扩展性,同时增加BPMSҎ,q些Ҏ包括了对BPMN的支持、面向业务h员的Web建模器和单统计分析功能的加入?/p>

jBPM5Z原先的Drools FlowQ支持BPMNQ通过与Drools的合q支持BAMQ通过内容仓库增加ҎE可视化的支持。由于放弃了jBPM4的PVMQ引擎的可扩展性受到损宻Iq且不再支持jPDL?/p>

Activiti5ZjBPM4Q与Alfresco的集成增加了其流E可视化与管理能力,同时通过创新的Activiti Cycle协作lg支持程相关人员之间的协调,最后,它加Z集成能力?/p>

对于工作应用或者jBPM3、jBPM4的老用P转向Activiti5?/p>

关于作?/strong>

荣浩QThoughtWorks咨询师,x敏捷和企业流E改q过E,目前正与辛鹏合著《Head First Process-深入出IT程》一书。博客地址http://ronghao.javaeye.com?/p>

转自Qhttp://www.infoq.com/cn/articles/rh-jbpm5-activiti5



本文是?B3log Solo ?U设计の艺术 q行同步发布?/div>
原文地址Q?a >http://88250.b3log.org/rh-jbpm5-activiti5.html


88250 2011-01-05 13:55 发表评论
]]>改良E序?11 技?http://www.aygfsteel.com/DL88250/archive/2011/01/05/342329.html8825088250Wed, 05 Jan 2011 01:08:00 GMThttp://www.aygfsteel.com/DL88250/archive/2011/01/05/342329.htmlhttp://www.aygfsteel.com/DL88250/comments/342329.htmlhttp://www.aygfsteel.com/DL88250/archive/2011/01/05/342329.html#Feedback0http://www.aygfsteel.com/DL88250/comments/commentRss/342329.htmlhttp://www.aygfsteel.com/DL88250/services/trackbacks/342329.html有很多理由都能说明ؓ什么我们应该写出清晰、可L好的程序。最重要的一点,E序你只写一ơ,但以后会无数ơ的阅读。当你第二天回头来看你的代码 Ӟ你就要开始阅d了。当你把代码拿给其他人看Ӟ他必阅M的代码。因此,在编写时多花一Ҏ_你会在阅d时节省大量的旉?/p>

让我们看一些基本的~程技巧:

 

  1. 量保持Ҏ?/a>
  2. 永远永远不要把同一个变量用于多个不同的目的
  3. 使用自描q的变量名和Ҏ?/a>
  4. 可能的把变量定义在靠近使用它的地方
  5. 拒绝秘数字
  6. 友好的对待你的语a
  7. 不要逆常规而行
  8. 警惕q早优化
  9. U极重构试q的E序
  10. 不要q度沉迷于技?/a>
  11. 通过习例学习新知

现在Q让我们把每个小点展开来详l讲一下?/p>

1. 量保持Ҏ?a id="tip1" name="tip1">

管很多人都遵@q个规则Q但它仍焉常的重要。你写的Ҏ要始l能在一个屏q里攑־下。如果你需要去滚动屏幕Q这会分散你的注意力Q而且你看不到 整个的上下文。最佳长度是5-20行,q根据你的情况而定。当Ӟgetters/setters 通常是一行代码的ҎQ但与其说它们是真正的方法,不如说它们只是存取工兗?/p>

2. 永远永远不要把同一个变量用于多个不同的目的

一个变量应该始l只Z个目的服务。通过使变量常量化(C++里的constQ?Java里的final)Q得编译器能够优化~译Q而且使你的代码醒目表?strong>q个变量是不能改变的Q你的程序的可读性会变得更好?/p>

3. 使用自描q的变量名和Ҏ?a id="tip3" name="tip3">

你的代码应该Q对于Q何h来说Q只要看一眼就能知道是q嘛的。尽量不要用写方式,除非有特D的习惯Q就像下面的Q?/p>

 src - source
pos - position
prev - previous

如果你认为描q性的名称q不是那么有价|请对比一?code>n, ns, nsisd ?numTeamMembers, seatCount, numSeatsInStadium?/p>

4. 可能的把变量定义在靠近使用它的地方

盖房子时Q你可不希望把锤子放到别人的院子里。你希望把它们放的离手头近好。定义变量也是同L道理?/p>

int foo = 3;
int bar = 5;
// 一大段使用“bar”的代码,
// 但没用到“foo”
// ...

baz(foo);

q段代码可以单的重构?/p>

int bar = 5;
// 一大段使用“bar”的代码,
// 但没用到“foo”
// ...

int foo = 3;
baz(foo);

当你把变量的声明和第一ơ用到它的地斚w隔太q时(距离过一个屏q?Q这实会成Z个问题。记住上下文关系会变得困难,你需要滚动屏q去扑֓来的q个变量?/p>

5. 拒绝秘数字

当你要把什么东西跟一个常量值做比较Ӟ记得把这个值定义成帔R。没有什么会比去猜测你的同事写的q样的代码更让h头疼的事了:

il < 4384

换个形式感觉如何Q?/p>

inputLength < MAX_INPUT_LENGTH

6. 友好的对待你的语a

学习新语a是一U很有乐的事情Q你能学CU新的完成Q务的途径。当一个对一U语a已经?strong>专业的hd习另一U语aӞ会出CU很大的负面效应。比如说你是一个Java开发者,试图d习Ruby。你应该学会用Ruby的方式解决问题,而不是沿用Java的解决问题的思想?/p>

当你需要重??rdquo;Hello worldQ?ldquo;Ӟ在Java里,你可能会q样做:

for (int i = 0; i < 5; i++) {
System.out.println("Hello world!");
}

在Ruby里,你也怼不住这样写Q?/p>

for i in (0..5)
puts "Hello world!"
end

q样看v来没问题Q但有一个更好的方式Q?/p>

5.times { puts "Hello world!" }

7. 不要逆常规而行

每种语言都有自己不同的习俗约定。一般来_Z听的最多的是Java的编码规范。让我们看看其中的一些习俗规范:

  • Ҏ名应该小写字母开_其后用字母大写的单词q接(veryLongVariableName)
  • cd应该都用首字母大写的单词连接而成
  • 帔R名应该全部大写,用下划线q接(MY_CONSTANT)
  • 左大括号应该?if 语句在同一?/li>

只有在有必要的理由时才去打破q些常规Q不要轻易的因ؓ你不高兴p反它。如果你只是在团队里改变一些这L习惯Q那也没问题Q但当把你代码拿出来和其他的没有q些思想准备的程序员׃nӞ问题׃来了?/p>

8. 警惕q早优化

q早优化是所有问题的ҎQ至电视上是这么说?… 你第一应该兛_的事情是写出易于理解的代码。v初写的程序不要求快?strong>除非你的E序很慢Q否则谈优化都是为时太早?/strong>如果你想优化什么东西,你首先需要知道问题出在哪。这是我们需?strong>profilersq个工具的原因?/p>

在没有知道问题在哪的情况下试囑֯E序q行优化Q其l果必然是把E序能坏Q至你的代码会丧失可读性。如果你觉得有些地方很慢Q不要盲目的重写代码Q?strong>你应先找到慢的证?/strong>?/p>

不要M乎的去解x本不存在的问题?/p>

9. U极重构试q的E序

没有M东西会是完美的。即使你感觉你真正写Z一D完的代码Q几个月后回头再看看Q你可能会惊讉”怎么会这样傻Q?ldquo;

改进E序的一个好Ҏ是重构Q但要等E序试通过之后。你首先要确保程序是好的可运行的Q你可以通过自动化测试或手工试完成q个工作?/p>

之初Q你需要的是程序可用。不要期望在W一ơ就写出完美的程序,你只需要把它写出来Q可用。然后重构它Q之完。对于你们当中知道测试驱动开?(TDD)的h来说Q对q个会很熟悉。这里的关键在于你要习惯于重构q种事情。如果你使用的是像IntelliJ IDEAq样强大的集成开发工L话,重构的工作会变得单的多?/p>

重构之后Q你也许会弄Z些BugQ导致某些功能出问题。这是Z么说写自动化试的原因。不Z旉构后Q只要运行一下所有的试用例Q你p准确的知道什么地方出了问题?/p>

10. 不要q度沉迷于技?a id="tip10" name="tip10">

当我W一ơ读到有兌计模式的知识Ӟ我觉得我扑ֈ了圣杯。这些精心设计的思想作用显著Q它能你的设计易于理解Q因Z可以单的?rdquo;我用的?‘观察器模?rsquo;“Q而不用从头到解释一遍。那么,有问题吗Q一切看h都这么自然、简单,你开始不论在哪都使用设计模式。ؓ什么不把这个类做成 singleton呢?q嘛不去再创Z些工厂类呢?

于是一?0行就能写完的脚本Q你最l用了10个类Q?5个接口,外加一大堆范式和标记符?7%的代码不做Q何事情。设计模式是一U十分有用的用来化你的设计的工具Q但q?strong>不意?/strong>着你该在所有能用到的地斚w用它?strong>你应该用它们Q但不能滥用?/strong>

11. 通过习例学习新知

~程是一U学习新知的q程。当你学C新的E序库或新语aQ你可能会迫不及待的丢掉旧的代码Q用你新学到的东襉K新写一遍。有很多的理由都能说明你不该q么做?/p>

往现有的应用里增加新的cd或框架同属于q种情况。就说你写了一个Javascript的web应用Q期_你发CjQuery。现在你H然急切的想丢到你的JavascriptE序Q重新用jQuery写,管你还从来没用q它?/p>

最好的方式是你先用jQuery写一些简单的例子Q通过q种方式把你在应用里要用到的知识都学会。需要AJAXQ在你的目之外做一些小例子Q当完全弄懂了后Q丢掉例子,应用C的品里?/p>

如果你非常关注编E技术,我强烈的推荐你阅读Steve McConnell写的 《代码大全?/a> 一书。它会永q的改变你对~程的认识?)

 

[英文出处]Q?a >11 tips for better code

[译文来源]Q?a >外刊IT评论



本文是?B3log Solo ?U设计の艺术 q行同步发布?/div>
原文地址Q?a >http://88250.b3log.org/11-tips-for-better-code.html


88250 2011-01-05 09:08 发表评论
]]>NetBeans 时事通讯Q刊?# 131 - Jan 04, 2011Q?/title><link>http://www.aygfsteel.com/DL88250/archive/2011/01/04/342257.html</link><dc:creator>88250</dc:creator><author>88250</author><pubDate>Tue, 04 Jan 2011 02:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/DL88250/archive/2011/01/04/342257.html</guid><wfw:comment>http://www.aygfsteel.com/DL88250/comments/342257.html</wfw:comment><comments>http://www.aygfsteel.com/DL88250/archive/2011/01/04/342257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/DL88250/comments/commentRss/342257.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/DL88250/services/trackbacks/342257.html</trackback:ping><description><![CDATA[<div class="wmqeeuq" id="head"> <div id="wmqeeuq" class="bold"><img style="float: left;" src="http://netbeans.org/images_www/v5/nb-logo2.gif" alt="NetBeans Logo" width="159" height="60" /> 现在?netbeans.org 瞬息万变。ؓ了帮助您快速的获得最新消息,一个由志愿者组成的团队会每周收集与 NetBeans 相关的时事通讯Q包括文章,教程Q重要事件等{。刊?刊号 # 131 - Jan 04, 2011</div> <div id="wmqeeuq" class="bold"> </div> <div id="wmqeeuq" class="bold"> </div> <div id="wmqeeuq" class="bold"> <div class="wmqeeuq" id="head"> <div class="wmqeeuq" id="issue-date" class="bold">刊号 # 131 - Jan 04, 2011</div> </div> <div class="wmqeeuq" id="content"> <h1>目新闻</h1> <div id="wmqeeuq" class="item"> <h2><a >NetBeans 团队招聘</a></h2> <p style="margin-left: 8px;">你是否想?NetBeans 团队里工作?在捷克布拉格现有一些技术职位正在热招中?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >插gQFacebook 整合</a></h2> <p style="margin-left: 8px;">一个全新的C֌插g可以?NetBeans IDE 中整合您?Facebook 账户Q?/p> </div> <h1>文章</h1> <div id="wmqeeuq" class="item"> <h2><a >热交?/a></h2> <p style="margin-left: 8px;">Jaroslav TulachQNetBeans API 架构师,分n了关于热交换斚w的最新开发成果?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >Neuroph Studio Beta</a></h2> <p style="margin-left: 8px;">来自塞尔l亚贝尔D德大学的Z NetBeans q_经|络目——Neuroph Studio 发布 Beta?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >ObjectDB JPA ?NetBeans IDE</a></h2> <p style="margin-left: 8px;">Buddhika Ariyaratne 写了一些教E介l?ObjectDB、JPA ?NetBeans IDE 中的使用Q附源码?/p> </div> <h1>博客</h1> <div id="wmqeeuq" class="item"> <h2><a >NBnotify 插g发布</a></h2> <p style="margin-left: 8px;">该插件可以让您在d IDE 时知?Mac OSX 上的 NetBeans IDE 正在做什么?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >PDF Debug 插g发布</a></h2> <p style="margin-left: 8px;">Geertjan Wielenga 发布了一?PDF 调试插gQ整合了 iText RUPS?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >RTF 插g发布</a></h2> <p style="margin-left: 8px;">Avishkar Autar 发布了一个插件用于复?RTF 文本?/p> </div> <h1>l习</h1> <div id="wmqeeuq" class="item"> <h2><a >NetBeans q_上的 3 ?Maven 命o</a></h2> <p style="margin-left: 8px;">NetBeans q_?Maven 使用是非常简单的Q没?IDE 也可以,只需要用命令行卛_?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >Z NetBeans q_的发管?/a></h2> <p style="margin-left: 8px;">您正在学习?NetBeans q_Q下载这个由 Ingmar Hendriks 开发发管理程序,学习 NetBeans Platform 各部分是如何协作h的?/p> </div> <div id="wmqeeuq" class="item"> <h2><a >一?26-28 日:NetBeans ?业w</a></h2> <p style="margin-left: 8px;">本月底在Ƨ登塞南业w大学D?NetBeans q_培训Q?/p> </div> <div id="wmqeeuq" class="edited">发布本期时事通讯的是: D. L. 88250</div> <div id="wmqeeuq" class="edited">可获得的语言<br /> <a >English</a> | <a >Brazilian Portuguese</a> | <a >French</a> | <a >Chinese - simplified</a> | <a >Chinese - traditional</a></div> </div> <div class="wmqeeuq" id="footer"> <div class="wmqeeuq" id="footer-text">本期时事通讯q可以从q里讉K <a >www.netbeans.org</a>, <a >时事通讯存档</a></div> </div> </div> </div><br/><br/><div style='font: italic normal normal 11px Verdana'>本文是?<a >B3log Solo</a> ?<a >U设计の艺术</a> q行同步发布?/div><div style='font: italic normal normal 11px Verdana'>原文地址Q?a >http://88250.b3log.org/netbeans-chinese-newsletter-131.html</a></div><img src ="http://www.aygfsteel.com/DL88250/aggbug/342257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/DL88250/" target="_blank">88250</a> 2011-01-04 10:14 <a href="http://www.aygfsteel.com/DL88250/archive/2011/01/04/342257.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>