模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。
作者 Scott Delap 译者 张凯峰 发布于 2007年9月3日 下午5时56分
Kirk Pepperdine在一篇新文章中详细讨论了关于JavaScript性能的主题。他的第一个发现是JavaScript引擎规范要比JVM的脆弱的多。有太多的JavaScript实现,各自具有不同的执行环境。除了这一点外,他还深入了下列主题:
Getters/Setters
……我所遭遇的最具争议的一项建议,在Java世界里已经很久没人提起过了。这项建议是,应该避免使用getter和setter,而应当采用直接访问来避免方法调用的额外开销。这项建议错在哪里?更重要的是,它对在哪里?在Java中使用getter和setter是被普遍认可的……
Ajaxian和JQuery的创建者John Resig曾经讨论过getter和setter。就像这个网站所演示的,是出于性能上的考虑。
由于缓存造成的糟糕的局部基准评测(Micro-benchmark)
……由于JavaScript引擎中少得多的动态优化,有人会觉得局部基准评测要比在Java中容易得多。虽然问题是不同的,但是JavaScript的局部基准评测也没那么容易。糟糕的局部基准评测的最普遍的原因是缓存。在Web世界中缓存无处不在,伴随始终。而且通常它隐藏的很深……内存泄露
……最有趣的发现是关于内存泄露和内存调优的优秀blog很少……我的最大问题是,如何在浏览器中得到来自JavaScript的内存泄露呢。我发现有几种好办法。第一个是在DOM中保留大量的隐藏元素……另一种更有趣和更可憎的内存泄露来自于闭包……
CPU负载
……最后,几篇讨论客户机性能的blog指出一个存在的问题,但似乎遇到这个问题的JavaScript应用程序并不太多。这个问题就是过度使用JavaScript会耗尽CPU……如果你试图让JavaScript做太多事情,它就会约束客户机的CPU效率(在那种情况下,性能削减的厉害)……
Pepperdine在结束时提到Yahoo的基于Firebug的新性能工具YSlow,它能够检查大量预先定义好的常见JavaScript性能问题。另外一个最近发布的性能工具是JsLex,它可以比较JavaScript的执行性能,类似于jProfile。微软研究院也在开发一种调优代理技术,叫做Ajax View。
查看英文原文:Analyzing JavaScript in Respect to Performance
本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。
项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。
在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。
Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。
Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。
没有回复
关注此讨论 回复