<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>外刊IT评论 &#187; google</title>
	<atom:link href="http://www.aqee.net/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aqee.net</link>
	<description>国外IT评论,编程技巧,网站开发趋势</description>
	<lastBuildDate>Wed, 08 Sep 2010 16:21:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>【外刊IT评论】Google Wave 入门指导</title>
		<link>http://www.aqee.net/2010/06/06/google-wave-the-beginners-guide/</link>
		<comments>http://www.aqee.net/2010/06/06/google-wave-the-beginners-guide/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 14:43:53 +0000</pubDate>
		<dc:creator>花非花</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[协助]]></category>

		<guid isPermaLink="false">http://www.aqee.net/?p=294</guid>
		<description><![CDATA[
©  外刊IT评论, 2010. &#124;
永久链接：Google Wave 入门指导 &#124;
One comment &#124;
Add to
del.icio.us

Post tags: email, google, wave, 协助


从去年九月份起，Google开始对外邀请人们使用它的Google  Wave协作服务。 而如今这个搜索巨人开始觉得它的这项服务已经准备好去开启一个黄金时代了，它宣布这项服务对所有人开放了。
Wave 开启了一种革命性的沟通方式、文档协作方式，将会完全的替代email。

Email（已经出现了四十年了，也许你还没意识到这点吧）的工作原理开始显得有些过时了，特别是当Web 2.0的浪潮出现后。
基本上，Google计划要把这个新系统至于开源许可协议下，这意味着其他的个人和公司都可以创建他们自己的wave服务，最终会导致 所有的人都将使用这种服务来替换email服务。
你们说的 &#8216;waves&#8217; 究竟是个什么东西？ 
我们最好拿它跟即时聊天工具比较，对wave来说，你既可以跟自己聊天，也可以群聊。
每个wave都有一些叫做&#8217;wavelet&#8217;的小wave，这些小wave各关注主wave的某个特定方面，而且具有主wave相同的 操作方式。这意味着一个wave可以被分成数个wave，但是它们之间保留着最初的各种关联。
这些乍一听好像也没什么，但是，当你订阅了一份邮件列表，或者当你协作组织一个项目wave下的数个小wave时，你会发现这是一种绝 好的解决方案。
这些功能好像目前现有的即时聊天工具里都有呀？比如像Google Talk？ 
这只是个巧合，wave确实使用了跟Google  Talk一样的可扩展消息传输和表现协议(XMPP)，但它可比普通的聊天工具功能大多了。
每个wavelet包含有各种信息体，被称作&#8217;blips&#8217;，这些信息体可以是由各种的协作者、外部应用、甚至是跟你交谈的自动机器人 发出的。          信息体可以是任何形式：文本，视频，也就是说你的wave是丰富多彩的，动态的，它的内容能随着外部数据来源即时更新的，能即时更新你关注的协作者的最新 动态。
我听说wave的某些方面是使用的“现场直播”的效果？
wave中每个人都能看到对方键盘的即时打字效果。        这种方式能让我们避免一个使用聊天工具时常见的问题，就是有人把另外一个人正要说的问题先说了出来（也许打字快些吧），或者他回复的是先前的一个问题。
通过能即时看到对方键盘的动作，你就能确保得到的回复不会内容重复，也能清楚对方是正在回复你的问题。     [...]]]></description>
			<content:encoded><![CDATA[<hr />
<p><small>©  <a href="http://www.aqee.net">外刊IT评论</a>, 2010. |
永久链接：<a href="http://www.aqee.net/2010/06/06/google-wave-the-beginners-guide/">Google Wave 入门指导</a> |
<a href="http://www.aqee.net/2010/06/06/google-wave-the-beginners-guide/#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.aqee.net/2010/06/06/google-wave-the-beginners-guide/&title=Google Wave 入门指导">del.icio.us</a>
<br/>
Post tags: <a href="http://www.aqee.net/tag/email/" rel="tag">email</a>, <a href="http://www.aqee.net/tag/google/" rel="tag">google</a>, <a href="http://www.aqee.net/tag/wave/" rel="tag">wave</a>, <a href="http://www.aqee.net/tag/%e5%8d%8f%e5%8a%a9/" rel="tag">协助</a><br/>
</small></p>
<hr /><div>
<p>从去年九月份起，Google开始对外邀请人们使用它的<a href="https://wave.google.com/">Google  Wave</a>协作服务。 而如今这个搜索巨人开始觉得它的这项服务已经准备好去开启一个黄金时代了，它宣布这项服务对所有人开放了。</p>
<div class="wp-caption alignright" style="width: 228px"><img title="Google Wave" src="http://www.aqee.net/wordpress/wp-content/uploads/2010/06/Google_Wave_logo-218-85.jpg" alt="Google Wave" width="218" height="163" /><p class="wp-caption-text">Google Wave</p></div>
<p>Wave 开启了一种革命性的沟通方式、文档协作方式，将会完全的替代email。</p>
<div>
<p>Email（已经出现了四十年了，也许你还没意识到这点吧）的工作原理开始显得有些过时了，特别是当Web 2.0的浪潮出现后。</p>
<p>基本上，Google计划要把这个新系统至于开源许可协议下，这意味着其他的个人和公司都可以创建他们自己的wave服务，最终会导致 所有的人都将使用这种服务来替换email服务。<span id="more-294"></span></p>
<p><strong>你们说的 &#8216;waves&#8217; 究竟是个什么东西？ </strong></p>
<p>我们最好拿它跟即时聊天工具比较，对wave来说，你既可以跟自己聊天，也可以群聊。</p>
<p>每个wave都有一些叫做&#8217;wavelet&#8217;的小wave，这些小wave各关注主wave的某个特定方面，而且具有主wave相同的 操作方式。这意味着一个wave可以被分成数个wave，但是它们之间保留着最初的各种关联。</p>
<p>这些乍一听好像也没什么，但是，当你订阅了一份邮件列表，或者当你协作组织一个项目wave下的数个小wave时，你会发现这是一种绝 好的解决方案。</p>
<p><strong>这些功能好像目前现有的即时聊天工具里都有呀？比如像Google Talk？ </strong></p>
<p>这只是个巧合，wave确实使用了跟Google  Talk一样的可扩展消息传输和表现协议(XMPP)，但它可比普通的聊天工具功能大多了。</p>
<p>每个wavelet包含有各种信息体，被称作&#8217;blips&#8217;，这些信息体可以是由各种的协作者、外部应用、甚至是跟你交谈的自动机器人 发出的。          信息体可以是任何形式：文本，视频，也就是说你的wave是丰富多彩的，动态的，它的内容能随着外部数据来源即时更新的，能即时更新你关注的协作者的最新 动态。</p>
<p><strong>我听说wave的某些方面是使用的“现场直播”的效果？</strong></p>
<p>wave中每个人都能看到对方键盘的即时打字效果。        这种方式能让我们避免一个使用聊天工具时常见的问题，就是有人把另外一个人正要说的问题先说了出来（也许打字快些吧），或者他回复的是先前的一个问题。</p>
<p>通过能即时看到对方键盘的动作，你就能确保得到的回复不会内容重复，也能清楚对方是正在回复你的问题。        你也可以针对某个blip进行回复，这样你的发言就不是按照发言的时间顺序排列的，更像论坛里回复某个人的发言。</p>
<p><strong>那文档协作功能体现在哪里了？ </strong></p>
<p>一个文档      – 使用wave里的术语      – 是由代表着各个内容的blip组成的。         你可以花时间去创建和修改各种blips，用来实现一次全面深入的交谈，或者用来协同创作一篇论文。         你可以在wave里嵌入网页，这样的功能更像是交互式的、可自动更新的wiki了。       你同样可以把它们导出成一个文件进行打印或传送给其他同伴。</p>
<p><strong>这么多人同时操干，不会把东西能得乱七八糟吗？</strong></p>
<p>管理一个wave不会比管理一个Google文档或传统的wiki更复杂，做为wave的创建人，你拥有全部的操作功能。        一旦你把权限授权给他人，你就省略了对他们所做的改掉的审批动作。          然而，这并不像我们使用现有协作创作方式，你可以实时看到他们对你的改动，你可以在某个特定环节进行回滚恢复操作，而这并不会影响在这个环节之后发生过的 其他改动。</p>
<p>你可以一开始就设置你的作品是否公开，你也可以在当你的文档全部完成之后才对外发布。</p>
<p><strong>像“拼写检查”这样的一些重要功能是否就无法使用了？</strong></p>
<p>你很幸运的会比使用wiki遇到更少的拼写错误和语法错误，感谢Google的革命性的语言工具。它能自适应你所书写的上下文，它根据 你刚书写的句子进行分析比较，列举一些最有可能的建议给你。</p>
<p>也就是说，当你写出&#8221;I have bean eating  beens&#8221;的时候，它能自动将其转换成你实际想写的句子，不需要你再做更多的操作。</p>
<p><strong>我怎么能把其它的文档文件嵌入进来？ </strong></p>
<p>Waves 全面支持文件的拖拽功能，还包括文字片段，以及其它的Web内容。         这些东西能使用拖拽直接以一个blip的形式添加进你的文档里。这使文档的操作性更强了。就像人们期望的那样，你还可以把Google的其他东西嵌入你的 wave里，例如日历，YouTube视频，Picasa图册等。</p>
<p><strong>如果我不再想让其他人参与我的文档的编写，怎么办？</strong></p>
<p>作为文档的创建者，只有你明确指定的人才能有修改的权限。你可以在任何时候收回权限，回滚恢复他们所做的修改。        这些功能使wave很适合企业用户，他们可以很容易的发现那些心怀不满的员工在离职前的蓄意破坏。</p>
<p>其实，这并不是只对企业级用户有用 –  对个人也很有用，如果在一个群里，你跟你的合作者的观点不太一致，你可以使用这个功能按自己的主意行事而不会影响他人。</p>
<p><strong>Google Docs 实在不怎么样，可是你提到了扩展？</strong></p>
<p>Google 的对外传输层是开源的，开发人员可以利用这些Wave API开发自己的扩展功能。        例如，你可以把Twitter嵌入到你的文档里，这样你就有了一个‘twave’，它在无缝的集成到你的界面的同时，还能实时的跟其他协议进行信息交流。       你也可以使用机器人软件对其进行扩展。</p>
<p><strong>哦，机器人？详细点 &#8230;</strong></p>
<p>开发人员可以编写自动软件从外部的网站或其它wave里以一种特殊的途径回复你的内容、创建blip。它们甚至可根据你的信息回复你， 这就是说，你可以向机器人询问今天的天气情况，而且会立即被告知。</p>
<p>这些API提供了Java和Python的绑定，你可阅读Nick  Veitch的关于如何开发一个Python机器人的教程，特别有意思，你还可以使用这些技术将它跟你喜欢的服务集成起来。想在wave里添加一个机器 人，只要把它当成一个协作者添加进来就行了。</p>
<p><strong>可是，这不就意味着我们要把更多的信息委托给Google了吗？</strong></p>
<p>最初，Google可能是wave的唯一提供者，但Google允许所以潜在的提供商都能完全的使用它的Google Wave  Federation Protocol (GWFP)。这样一来，wave各个提供商能够相互之间进行无缝的通信交流，并且能够使用Transport  Layer          Security (TLS)这样的安全标准和安全认证。</p>
<p>我们可以想象的到，其他服务商会像雨后春笋般的出现，你可以把你的数据委托给其中任何一个，而且可以在不同的提供商之间转移。</p>
<p><strong>这个听起来很棒，Google OS（操作系统） 里会包括这些吗？</strong></p>
<p>我们只能是推测，Google之前有含糊的谈到过<a href="http://www.techradar.com/news/software/operating-systems/hands-on-google-chrome-os-review-653665">Chrome          OS</a>会有的一些功能。</p>
<p>按我们的观点，Google不大可能不把wave这样一种将会成为新标准的技术融合到它的操作系统里，尤其是当Chrome  OS最终将成为这个公司的旗舰产品的时候。</p>
<p>如果情况不是这样，我们也不必担心，它的协议是跨平台兼容的（通过浏览器），当我们真正建立一种新的web标准的时候，这一点更是重 要。</p>
<p><strong>我从哪里能找到更多的关于wave的信息，我能从那里得到什么?</strong></p>
<p>TechRadar 有一篇文章叫做<a href="http://www.techradar.com/news/internet/web/google-wave-what-you-need-to-know-603314">Google          Wave: what you need to know</a>。Mashable上有一篇更高级的关于wave的<a href="http://mashable.com/2009/05/28/google-wave-guide/">精彩文章</a>。 如果你对在这个平台上开发扩展程序或机器人软件有兴趣，应该参考<a href="http://code.google.com/apis/wave">Google  Wave API 页面</a>。</div>
</div>
<hr />
<p><small>©  <a href="http://www.aqee.net">外刊IT评论</a>, 2010. |
永久链接：<a href="http://www.aqee.net/2010/06/06/google-wave-the-beginners-guide/">Google Wave 入门指导</a> |
<a href="http://www.aqee.net/2010/06/06/google-wave-the-beginners-guide/#comments">One comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.aqee.net/2010/06/06/google-wave-the-beginners-guide/&title=Google Wave 入门指导">del.icio.us</a>
<br/>
Post tags: <a href="http://www.aqee.net/tag/email/" rel="tag">email</a>, <a href="http://www.aqee.net/tag/google/" rel="tag">google</a>, <a href="http://www.aqee.net/tag/wave/" rel="tag">wave</a>, <a href="http://www.aqee.net/tag/%e5%8d%8f%e5%8a%a9/" rel="tag">协助</a><br/>
</small></p>
<hr />]]></content:encoded>
			<wfw:commentRss>http://www.aqee.net/2010/06/06/google-wave-the-beginners-guide/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>【外刊IT评论】谷歌展望它的千万台服务器</title>
		<link>http://www.aqee.net/2009/10/28/google-envisions-10-million-servers/</link>
		<comments>http://www.aqee.net/2009/10/28/google-envisions-10-million-servers/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 15:59:22 +0000</pubDate>
		<dc:creator>花非花</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[数据中心]]></category>

		<guid isPermaLink="false">http://www.aqee.net/?p=54</guid>
		<description><![CDATA[
©  外刊IT评论, 2009. &#124;
永久链接：谷歌展望它的千万台服务器 &#124;
No comment &#124;
Add to
del.icio.us

Post tags: google, 数据中心


Google 从来都没对人说过在他们的数据中心究竟有多少台机器在同时运行。但在最近在一个 Google 工程师的报告中显示Google计划将会运营多达千万台的服务器。
在关于大规模技术系统的 ACM 研讨会 上Google的创始人 Jeff Dean 是主发言人之一，他讨论了关于公司强大的基础架构上一些技术细节问题，这个基础架构是通过若干个遍布全球的数据中心构成的。
在他的 报告 (由 James Hamilton 提供的链接) 中,  Dean 同时提到了一种被称作Spanner的新的存储和计算系统，这种系统将会试图寻找一种对跨越数个数据中心的Google服务进行自动管理的功能。这将包括对整个“机器战队”上资源的自动分配。

Dean 说 Spanner 将会设计成能够适用将来的 “106 到 107 台机器”的规模，也就是百万到千万台的机器。 最终目标是建成“自动化的、动态的全球范围内的数据以及计算分布而最小化数据延迟和成本。”
从长期效果来看，这个属于成本管理策略的系统将会解决带宽消耗和电力消耗在不同地区之间的差异的问题。我们之前也提到过，这种在数据中心之间无缝的自由切换的能力将会使对能源的管理很灵活，就像其中的一个“逐月（follow the moon）”策略，它能有效的利用夜间时间减少电力消耗和冷却消耗，在这个应用场景中，虚拟化的工作负荷会在不同的时区里进行切换转移，以此从非高峰使用率的地区获得节省下的资源。
实现自动管理技术的另一个动机是在遇到故障或数据中心停机时产生正确的路由。Google很早就在针对这个目的 开发某种软件 ，最近的几次Gmail宕机事件更增强了这种数据中心之间负载快速转移的技术的价值。
这种自动化技术可以允许Google设置更多的高效能设备，就像在比利时的 无冷却系统数据中心，如果天气温度过高有损害机器的危险，Google 说，他们将会按照需要关掉位于比利时的设备，而将哪里的负载转移到其它数据中心。

©  外刊IT评论, 2009. &#124;
永久链接：谷歌展望它的千万台服务器 &#124;
No comment &#124;
Add to
del.icio.us

Post tags: google, 数据中心

]]></description>
			<content:encoded><![CDATA[<hr />
<p><small>©  <a href="http://www.aqee.net">外刊IT评论</a>, 2009. |
永久链接：<a href="http://www.aqee.net/2009/10/28/google-envisions-10-million-servers/">谷歌展望它的千万台服务器</a> |
<a href="http://www.aqee.net/2009/10/28/google-envisions-10-million-servers/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.aqee.net/2009/10/28/google-envisions-10-million-servers/&title=谷歌展望它的千万台服务器">del.icio.us</a>
<br/>
Post tags: <a href="http://www.aqee.net/tag/google/" rel="tag">google</a>, <a href="http://www.aqee.net/tag/%e6%95%b0%e6%8d%ae%e4%b8%ad%e5%bf%83/" rel="tag">数据中心</a><br/>
</small></p>
<hr /><p><img class="alignright size-full wp-image-57" title="谷歌展望它的千万台服务器" src="http://www.aqee.net/wordpress/wp-content/uploads/2009/10/datacenterknowledge-logo.gif" alt="谷歌展望它的千万台服务器" width="192" height="68" /></p>
<p><strong>Google</strong> 从来都没对人说过在他们的数据中心究竟有多少台机器在同时运行。但在最近在一个 Google 工程师的报告中显示Google计划将会运营多达千万台的服务器。</p>
<p>在关于大规模技术系统的 ACM <a href="http://www.cs.cornell.edu/projects/ladis2009/">研讨会</a> 上Google的创始人 Jeff Dean 是主发言人之一，他讨论了关于公司强大的基础架构上一些技术细节问题，这个基础架构是通过若干个遍布全球的数据中心构成的。</p>
<p><span id="more-54"></span>在他的 <a href="http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf">报告</a> (由 <a href="http://perspectives.mvdirona.com/2009/10/17/JeffDeanDesignLessonsAndAdviceFromBuildingLargeScaleDistributedSystems.aspx">James Hamilton </a>提供的链接) 中,  Dean 同时提到了一种被称作Spanner的新的存储和计算系统，这种系统将会试图寻找一种对跨越数个数据中心的Google服务进行自动管理的功能。这将包括对整个“机器战队”上资源的自动分配。</p>
<p><!--more--></p>
<p>Dean 说 Spanner 将会设计成能够适用将来的 “10<sup>6</sup> 到 10<sup>7</sup> 台机器”的规模，也就是百万到千万台的机器。 最终目标是建成“自动化的、动态的全球范围内的数据以及计算分布而最小化数据延迟和成本。”</p>
<p>从长期效果来看，这个属于成本管理策略的系统将会解决带宽消耗和电力消耗在不同地区之间的差异的问题。我们<a href="http://www.datacenterknowledge.com/archives/2009/07/15/googles-chiller-less-data-center/">之前也提到过</a>，这种在数据中心之间无缝的自由切换的能力将会使对能源的管理很灵活，就像其中的一个“逐月（follow the moon）”策略，它能有效的利用夜间时间减少电力消耗和冷却消耗，在这个应用场景中，虚拟化的工作负荷会在不同的时区里进行切换转移，以此从非高峰使用率的地区获得节省下的资源。</p>
<p>实现自动管理技术的另一个动机是在遇到故障或数据中心停机时产生正确的路由。Google很早就在针对这个目的 <a href="http://www.theregister.co.uk/2009/06/30/google_data_center_chiller_talk/">开发某种软件</a> ，最近的几次Gmail宕机事件更增强了这种数据中心之间负载快速转移的技术的价值。</p>
<p>这种自动化技术可以允许Google设置更多的高效能设备，就像在比利时的 <a href="http://www.datacenterknowledge.com/archives/2009/07/15/googles-chiller-less-data-center/">无冷却系统数据中心</a>，如果天气温度过高有损害机器的危险，Google 说，他们将会按照需要关掉位于比利时的设备，而将哪里的负载转移到其它数据中心。</p>
<hr />
<p><small>©  <a href="http://www.aqee.net">外刊IT评论</a>, 2009. |
永久链接：<a href="http://www.aqee.net/2009/10/28/google-envisions-10-million-servers/">谷歌展望它的千万台服务器</a> |
<a href="http://www.aqee.net/2009/10/28/google-envisions-10-million-servers/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.aqee.net/2009/10/28/google-envisions-10-million-servers/&title=谷歌展望它的千万台服务器">del.icio.us</a>
<br/>
Post tags: <a href="http://www.aqee.net/tag/google/" rel="tag">google</a>, <a href="http://www.aqee.net/tag/%e6%95%b0%e6%8d%ae%e4%b8%ad%e5%bf%83/" rel="tag">数据中心</a><br/>
</small></p>
<hr />]]></content:encoded>
			<wfw:commentRss>http://www.aqee.net/2009/10/28/google-envisions-10-million-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【外刊IT评论】使用Google Collections, Guava, and Static Imports来简化你的Java代码</title>
		<link>http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/</link>
		<comments>http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 16:44:56 +0000</pubDate>
		<dc:creator>花非花</dc:creator>
				<category><![CDATA[Java评论]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[扩展]]></category>

		<guid isPermaLink="false">http://www.aqee.net/?p=17</guid>
		<description><![CDATA[
©  外刊IT评论, 2009. &#124;
永久链接：使用Google Collections, Guava, and Static Imports来简化你的Java代码 &#124;
No comment &#124;
Add to
del.icio.us

Post tags: google, java, 扩展

Java程序员经常会有这样的抱怨：在Java里，一些常见的功能却需要大段的代码去实现。有些人试图去寻找一种更简洁的、能够作为替代品的其它JVM语言，另外一些人却在致力于从API层扩展现有的各种Java特性来解决Java的繁冗的问题。
最近有两个以扩展API为途径的范例项目，它们是Google的Collections 和 Guava 类库。不久前的一篇博客,“ 使用 Google Collections, Guava and Static Imports 美化你的代码（英文） ”里，Aleksander Stensby 列举了这些类库是如何让Java编程更有效率的：

Guava目前还是个很不成熟的类库，在未来的几个月里它将会有很多的改动 &#8230;  Google Collections一旦发布了它的1.0版本就会并入Guava、成为Guava的一部分。Guava（和Google Collections）是由几个Google开发人员创建的，这个类库将会广泛的使用在他们的“无数的Java项目 &#8230; ”里。
使用Guava里的Collections，你将受益不菲。它能大量减少你工程里那些样本式的代码 (同时你还能使用它提供的新的速度更快的数据结构！).
作为一个例子，Stensby展示里如何使用Google Collections来创建collection实例：

Map&#60;String, Map&#60;Long, List&#60;String&#62;&#62;&#62; map =
            [...]]]></description>
			<content:encoded><![CDATA[<hr />
<p><small>©  <a href="http://www.aqee.net">外刊IT评论</a>, 2009. |
永久链接：<a href="http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/">使用Google Collections, Guava, and Static Imports来简化你的Java代码</a> |
<a href="http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/&title=使用Google Collections, Guava, and Static Imports来简化你的Java代码">del.icio.us</a>
<br/>
Post tags: <a href="http://www.aqee.net/tag/google/" rel="tag">google</a>, <a href="http://www.aqee.net/tag/java/" rel="tag">java</a>, <a href="http://www.aqee.net/tag/%e6%89%a9%e5%b1%95/" rel="tag">扩展</a><br/>
</small></p>
<hr /><p><img class="alignright size-full wp-image-23" title="artima-logo" src="http://www.aqee.net/wordpress/wp-content/uploads/2009/10/artima-logo.gif" alt="artima-logo" width="262" height="40" />Java程序员经常会有这样的抱怨：在Java里，一些常见的功能却需要大段的代码去实现。有些人试图去寻找一种更简洁的、能够作为替代品的其它JVM语言，另外一些人却在致力于从API层扩展现有的各种Java特性来解决Java的繁冗的问题。</p>
<p>最近有两个以扩展API为途径的范例项目，它们是Google的Collections 和 Guava 类库。不久前的一篇博客,“ <a href="http://codemunchies.com/2009/10/beautiful-code-with-google-collections-guava-and-static-imports-part-1/">使用 Google Collections, Guava and Static Imports 美化你的代码（英文）</a> ”里，Aleksander Stensby 列举了这些类库是如何让Java编程更有效率的：<br />
<span id="more-17"></span><br />
<blockquote>Guava目前还是个很不成熟的类库，在未来的几个月里它将会有很多的改动 &#8230;  Google Collections一旦发布了它的1.0版本就会并入Guava、成为Guava的一部分。Guava（和Google Collections）是由几个Google开发人员创建的，这个类库将会广泛的使用在他们的“无数的Java项目 &#8230; ”里。</p>
<p>使用Guava里的Collections，你将受益不菲。它能大量减少你工程里那些样本式的代码 (同时你还能使用它提供的新的速度更快的数据结构！).</p></blockquote>
<p>作为一个例子，Stensby展示里如何使用Google Collections来创建collection实例：</p>
<blockquote>
<pre>Map&lt;String, Map&lt;Long, List&lt;String&gt;&gt;&gt; map =
                           new HashMap&lt;String, Map&lt;Long,List&lt;String&gt;&gt;&gt;();

Map&lt;String, Map&lt;Long, List&lt;String&gt;&gt;&gt; map = Maps.newHashMap();

Map&lt;String, Map&lt;Long, List&lt;String&gt;&gt;&gt; map = newHashMap();</pre>
<p>真是非常的感谢泛型技术和这些Collections工具提供的轻巧的构建方法，我们不再需要去写那些Java实际已经知道的东西，不是吗？&#8230; 我知道这些用法将会在JDK7里出现，这是个好消息。但Google Collections现在就实现了这些  &#8230;</p>
<p>.跟 <code>com.google.common.collect.Maps</code> 里提供的这些静态方法类似，我们还可以使用 <code>Lists</code>和<code>Sets</code> &#8230;</p>
<pre>Lists.newArrayList();
Sets.newHashSet();</pre>
</blockquote>
<p>Stensby 还演示了如何给这些collection初始化值：</p>
<blockquote>
<pre>ImmutableList&lt;String&gt; of = ImmutableList.of("a", "b", "c", "d");

ImmutableMap&lt;String,String&gt; map =
                ImmutableMap.of("key1", "value1", "key2", "value2");</pre>
<p>除了能轻巧简洁的创建collections、操作collections之外，它还提供了大量的其他有用的方法，例如过滤、set 切片和联合、排序以及一些纯功能性的东西！</p></blockquote>
<p>在博客的第二部分里，Stensby的介绍转向了Guava类库：</p>
<blockquote><p>Guava对Java核心类库进行了广泛的扩展。其中包括我们可以通过 <code>com.google.common.primitives</code> 包里的 Ints, Doubles, Floats, Shorts, Bytes and Bools 类对基本数据类型进行各种操作。 在 <code>com.google.common.io</code> 这个包里提供了操作 streams, buffers, files  等等的工具，在concurrent 包里提供了一些Futures,<br />
Callables and Executors 之类的类，它们能帮我们免去写并发程序代码的痛苦。除了这些，Guava 还提供了一些Collections处理的其它方法，还有一个十分简洁的 CharMatcher 类, Joiner 和 Splitter<br />
类。</p></blockquote>
<p>你对以Google&#8217;s Collections 和 Guava 类库作为工具来减少模板式Java代码有什么想法？</p>
<hr />
<p><small>©  <a href="http://www.aqee.net">外刊IT评论</a>, 2009. |
永久链接：<a href="http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/">使用Google Collections, Guava, and Static Imports来简化你的Java代码</a> |
<a href="http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/&title=使用Google Collections, Guava, and Static Imports来简化你的Java代码">del.icio.us</a>
<br/>
Post tags: <a href="http://www.aqee.net/tag/google/" rel="tag">google</a>, <a href="http://www.aqee.net/tag/java/" rel="tag">java</a>, <a href="http://www.aqee.net/tag/%e6%89%a9%e5%b1%95/" rel="tag">扩展</a><br/>
</small></p>
<hr />]]></content:encoded>
			<wfw:commentRss>http://www.aqee.net/2009/10/24/simplifying-java-code-with-google-collections-guava-and-static-imports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
