??xml version="1.0" encoding="utf-8" standalone="yes"?>男人天堂欧美日韩,最新精品国产,中文字幕人成一区http://www.aygfsteel.com/jiangshachina/category/16086.html同是Java爱好者,盔R何必曾相识Q?lt;br>    a cup of Java, cheers!zh-cnMon, 27 May 2013 23:35:56 GMTMon, 27 May 2013 23:35:56 GMT60U楼梦剧l签名售??http://www.aygfsteel.com/jiangshachina/archive/2010/07/18/326422.htmlSha JiangSha JiangSun, 18 Jul 2010 14:00:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2010/07/18/326422.htmlhttp://www.aygfsteel.com/jiangshachina/comments/326422.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2010/07/18/326422.html#Feedback8http://www.aygfsteel.com/jiangshachina/comments/commentRss/326422.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/326422.html U楼梦剧l签名售?/span>

新版U楼梦的剧组在西单图书大厦D办签名售书,׃一直以来都很喜Ƣ红楼梦Q也很期待新版红楼梦的播出,再者,之前未参与q签名售书之cȝzdQ故杂家q次也去凑了一ơ热闹^_^ (2010.07.18最后更?
















Sha Jiang 2010-07-18 22:00 发表评论
]]>
Coin Tower(?http://www.aygfsteel.com/jiangshachina/archive/2010/05/02/319893.htmlSha JiangSha JiangSun, 02 May 2010 12:22:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2010/05/02/319893.htmlhttp://www.aygfsteel.com/jiangshachina/comments/319893.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2010/05/02/319893.html#Feedback2http://www.aygfsteel.com/jiangshachina/comments/commentRss/319893.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/319893.html Coin Tower
    怿大家都肯定知道Coin Tower(币?Q也看过相关的图片。今q元旦假期中我一时性vQ也模仿|络中的一些Coin Tower囄堆了几个造型Q还特别原创了若q造型Q颇有些成就感。今日偶忆v此事Q翻Z前拍的照片,_N出若干Q帖上来与众友分享?2010.05.02最后更?

擎天?/span>



倾斜



层叠



螺旋



?一跨度



?四跨?/span>



楼梯

q是我最满意的一个造型Q也是我的原创之一Q颇有几分得意之艌Ӏ当时在堆它的时候可׃不少气力Q失败了多次才成功的?br />
愿大家五·一假期愉悦 *_*



Sha Jiang 2010-05-02 20:22 发表评论
]]>
优秀的Java开发者应得更好的薪酬(?http://www.aygfsteel.com/jiangshachina/archive/2010/01/11/308867.htmlSha JiangSha JiangMon, 11 Jan 2010 01:01:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2010/01/11/308867.htmlhttp://www.aygfsteel.com/jiangshachina/comments/308867.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2010/01/11/308867.html#Feedback13http://www.aygfsteel.com/jiangshachina/comments/commentRss/308867.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/308867.html优秀的Java开发者应得更好的薪酬
来年春暖花开之时Q又是许多公司调整薪资的时候了?a >java.net中的一?a >博文道出了我们的心声--优秀的Java开发者应得更好的薪酬$_$(2010.01.11最后更?

    我的邮箱聚集了几个Java用户l和其它的一些关于Java世界的特别信息源Q其中就有像CEJUG和Java EEC֌q样的特D客人。很多关于JavaC֌的信息资源被用于咨询公司去雇佣聪明h了,从去q开始,我一直对技能丰富的Java开发员保持着极大的兴。另外,多日之前Q我正与一些同事喝咖啡Q一位经理就承认他正为到哪儿雇到所需人力资源而发愁,q些人员是要被分配的工作是ؓ2010q所{订的合U?br />     听着q样的谈话,q看着邮g列表中不断增长的录用通知Q我只有一U结论:Java市场已萎~,技艺精湛的Java开发者则变得E。原因何在?不知道,但有一些关于我们这个时期的明显观察l果Q?br />     大肆宣传的语a和技术,如ScalaQRubyQGrails{等Qƈ未如我们所期望的那样占领市场。那Android呢?如你所知,那可能要{到明年了。在q去两三q中Q这些语a对它们的解决Ҏq而告之,推销Z许多书及会议演讲Q但现在q不能轻易地些技术找到好的工?薪资)。当Ӟ某些地方也会有好工作Q但已与三年?em>Java已死a论所处时期不可比拟。简单的事实是:Java仍然在IT市场?a >位居高位Q而所有那些被大肆宣传的解x案仍然被大肆宣传着它们的承诺。那么,q轻的开发者们是否会跟随这L宣传呢?是的Q现在他们将要接受Java工作Q至受到挫败的Z多数都不能提供高质量的服务?br />     Z正变得懒惰和鲁钝Q而且一日更甚一日。观看电影?a M需要类型声明的语言都过于复杂,以至于无法?。说得多好啊Q让开发者相信数学和域模型是q时的技术,那会怎样呢?
那Java开发者的薪资又如何呢QJavaq_创徏了数量巨大的能运行在全球IT市场中的软gQ所支持的商业规模每q数以十亿计。没有比希望q些技术背后的Z能过上优质生z?-臛_是有益的生活--更自然的事情了。看吧,现实却是对烦人的理模型的过高评P开发者花贚w外的旉Q?a >肌腱?/a>Q以及更陡峭的学习曲Uѝ?br />
如何雇䄦CU的Java开发者呢Q?/span>
为防你会急于L优秀的Java开发者,q儿有一些提C:
1. 提高工资(没Q何借口)
2. 提供学习ZQ以作ؓ工作利的一部分(会议Q书c,评{等)?br /> 3. 允许开发者作出项目决{?br /> 4. 使用C的Java技?q在使用Java 1.4Q?
5. l予开发者一些稳定性和载体观点Q而不要用官僚方式?br /> 6. Ҏ工作时_q程办公也应能做到?br /> 7. l予开发者们更多的水和咖?..水果又当如何Q可乐或其它的饮料呢Qؓ每位开发员每天C瓶可乐会花多钱Q如果你认ؓ那太贵了Q请dq个市场:)
8. 不要呆板地复制Google和IBM的思\Q这些公叔R比你们的公司富有。让你的开发者们富于创意Q对你的开发者们诚实?br /> 好q?) Java市场已萎~,技艺精湛的开发者则变得E。聪明的l理是时候提高薪酬了Q这h能逮到好的Java开发员Q剩下的q阅读Scrum和Kanban手册的h们去分n吧?br />


Sha Jiang 2010-01-11 09:01 发表评论
]]>
奇客?010q预a(?http://www.aygfsteel.com/jiangshachina/archive/2010/01/07/308504.htmlSha JiangSha JiangThu, 07 Jan 2010 01:14:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2010/01/07/308504.htmlhttp://www.aygfsteel.com/jiangshachina/comments/308504.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2010/01/07/308504.html#Feedback2http://www.aygfsteel.com/jiangshachina/comments/commentRss/308504.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/308504.html奇客?010q预a
新年伊始Q?a >java.net的著名博?a >John O'Conner道出了他对可能发生在今年的一些事件的预测Q大家也可以评判一二?2010.01.07最后更?

每个人都能对q去说些什么,但很h能看到未来。此处是我对2010q的预言Q?br /> 1. Oracle更喜爱EclipseQ而会废弃NetBeans。我不会比你更讨厌这一点了Q但他们Z么要支持两个(上JDeveloper是三个)怺竞争的IDE呢?Oracle现有的员工都知道也都喜爱EclipseQ他们的工具都是围绕着Eclipse而构建的Q他们的插g也都是ؓ Eclipse而开发的。如果没必要Qؓ什么要作出改变呢?我唯一的问题是谁将支持NetBeansQ这是一个伟大的产品Q绝对值得l箋保有?..只是对于OracleQ这是不值得的?br /> 2. Chrome OS和Andriod OS会合ƈ。这个世界将不需要两个新的来自于Google的操作系l,而不仅仅是针对Web应用。我知道q两个OS来自于Web应用的两个不领域Q桌?/便携?W记本机器;Ud电话。然而,API也应该最大限度的被社区接受,q就意味着它们俩将成ؓ一体。关于该预言你可以在我之前的一Blog中读到更多?br /> 3. Google收购LinkedIn。虽然LinkedIn仍是一个有用且很好的站点,但它仍需更稳定一点儿。Google注入新的思想以创Z个好的品,甚至q能做得更好?br /> 4. Oracle出售Sun的硬件业?/strong>。拥有硬件的OracleQ我无法怿。与他们的Y件业务相ȝq。我认ؓOracle把g业务推给HP?br /> 5. 在今q的JavaOne之前QAdobe会抢走JavaFX的风头。Adobe发布它自己的改q了的Flex设计器工?/strong>Qƈ且该工具在他们宣布的时候即可用。Sun的JavaFX设计器工具将会踉t跄跄地出现在JavaOne 2010上,而且每个人都会忘了Sun承诺q该工具会出现在2009q底?br /> 作出了你自己的预a吗?让我们知道你的预吧?


Sha Jiang 2010-01-07 09:14 发表评论
]]>
内蒙古图??http://www.aygfsteel.com/jiangshachina/archive/2009/08/09/290459.htmlSha JiangSha JiangSun, 09 Aug 2009 13:42:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2009/08/09/290459.htmlhttp://www.aygfsteel.com/jiangshachina/comments/290459.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2009/08/09/290459.html#Feedback2http://www.aygfsteel.com/jiangshachina/comments/commentRss/290459.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/290459.html内蒙古图?/span>
上周末,部门l织到内蒙古的包?鄂尔多斯旅行了一番,使我q生W一ơ体验到了广阔的草原和浩瀚的沙vQ挑选了几张图以记念这一游历?2009.08.09最后更?


与天地比Q我是何{的渺小Q但...


...Q天大,地大Q我亦可?br />

我的志向在q方Q但通往那儿的\在何处?


怺相爱一家h


敖包Qh与神之间的约?br />

角力Qh只要力|了


力争上游Q但不是每一匚w都能成ؓ头马


烤全,祷它来世作?br />

风卷D云


沙vQh生的起伏


强的生命,每个人都只是草?强"


徒步Qn受艰苦的旅程


Q走q了总能留下点儿什?br />

M人生的又一座高峎ͼ即便它ƈ不是最高的那


人生的轨q,期望它的头不是深渊


沙漠之舟


沙漠之R



Sha Jiang 2009-08-09 21:42 发表评论
]]>
温ȝ到访(?http://www.aygfsteel.com/jiangshachina/archive/2008/12/31/249395.htmlSha JiangSha JiangWed, 31 Dec 2008 14:40:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2008/12/31/249395.htmlhttp://www.aygfsteel.com/jiangshachina/comments/249395.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2008/12/31/249395.html#Feedback9http://www.aygfsteel.com/jiangshachina/comments/commentRss/249395.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/249395.html温ȝ到访
温家宝ȝ视察了用友Y件园Q我的兄弟姐妹们用自q相机、手录了其中的一些片Dc大家感兴趣的话Q可以浏览一下?2008.12.31最后更?


ȝ莅


ȝ与大家亲切交?/span>




老爷子的W容q是那么的亲?/span>


人群中的某一员就是我Q但你肯定找不着Q我藏得很深?..


ȝpd?/span>


车队d


车队q去?/span>

最后,大家新q愉快!


Sha Jiang 2008-12-31 22:40 发表评论
]]>
支持Unicodeq不意味着应用是国际化??http://www.aygfsteel.com/jiangshachina/archive/2008/10/14/234177.htmlSha JiangSha JiangTue, 14 Oct 2008 02:51:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2008/10/14/234177.htmlhttp://www.aygfsteel.com/jiangshachina/comments/234177.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2008/10/14/234177.html#Feedback5http://www.aygfsteel.com/jiangshachina/comments/commentRss/234177.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/234177.html支持Unicodeq不意味着应用是国际化?/span>
    John O'Conner在他?a >最新Blog中介l了在用Unicode[1]q行软g国际化的q程中普遍存在的一U误解,希望大家Ҏ些启C?2008.10.14最后更?

    多年以来Q我已经帮助了许多组l去国际化它们的软g产品。最普遍的误解之一是Unicode会如何帮助它们的产品。有时候,客户会错误地怿Q支持Unicode对于国际化他们的产品是够的了。有Ӟ他们怿"支持"Unicode只是一个单U的是或不是Q行或不行的能力问题Q而不认ؓ是在不同的场合和层次中去实现对Unicode的支持?br />     Unicode是一个字W编码标准。它是一个很大的标准Q有着许多的细微差别。你的品可使用许多不同的方法去实现"Unicode支持"。其l果是Q那些品将能以不同Q但通常不会是所有的方式LU,处理Q存储,甚至可能是展CZ界上的文本。你的品支持Unicode的能力ƈ不是二元(是或不是)的;相反Q你要理解到Q品是在各U不同层ơ上实现"Unicode支持"的。在多数单的情况下,你的产品只需正确地存储ƈ获取Unicode字符。在一U更复杂的层ơ下Q你的品可能要能够存储Q查询或展示Unicode字符。再说一ơ,产品"支持"Unicode的能力ƈ不能׃个单U的是或不是的答案去评判。一般来_产品会以某些方式Q而不是别的什么方式,L持Unicode?br />     哪怕是在最复杂的层ơ中实现了Unicode支持Q也不意味着你的产品?strong>国际化的
。国际化是一个Y件代码库易于本地化的q程。国际化q程会创Z个品,该品没有针Ҏ个单一文化或语a的特D偏见。该产品可对特定文化q行本地化。支持Unicode是国际化工作的一个关键组成部分,但它也仅仅只是一个组成部分Ş了。与支持Unicode一P你的国际化支持也有着在不同层ơ上的复杂度与能力?br />     概述之,产品可用不同的方式去支持Unicode。支持Unicode通常q不表示你的产品有能力去完成各种可能的针对Unicode的功能。相反,"支持"常意味着你可以用UnicodeQ而不是别的什么东西,d某些事情。另外,对Unicode的支持ƈ不是国际化你的品的唯一步骤?Unicode只是其中的一个步骤,重要的一步Ş了。国际化是创Z个易于进行本地化的品的q程Q这L产品消除了文化偏见,以便在对其进行了本地化之后仍能够很容易地L持另一U文化或地域。你可将Unicode作ؓ国际化工作的一个步骤,但Unicode本nq不能创Z个国际化产品?br />     如果你有问题关于Unicode如何才能帮助你的产品Q请联系我或留下评论。如果我能帮忙,׃回复。如?em>?/em>不能Q我也知道谁能?

译注
[1]Unicode是一个字W集标准。该标准为全球书面和口头语言Q计机q_Q或应用E序所使用的每个字W分配了一个独一无二的数倹{Unicode包含了其它有限字W集所使用的全部字W。在Unicode之前Q小字符集彼此之间分配的字符数值是不同的。Unicodel一了所有的其它字符集;每个字符拥有它自qQ唯一的数倹{?br /> P.S. q段Unicode的简介也于Conner的一Blog--What is Unicode?



Sha Jiang 2008-10-14 10:51 发表评论
]]>何时~写单元试Q??http://www.aygfsteel.com/jiangshachina/archive/2008/06/09/206812.htmlSha JiangSha JiangMon, 09 Jun 2008 12:55:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2008/06/09/206812.htmlhttp://www.aygfsteel.com/jiangshachina/comments/206812.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2008/06/09/206812.html#Feedback2http://www.aygfsteel.com/jiangshachina/comments/commentRss/206812.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/206812.html何时~写单元试Q?/span>
    是在~写一个方法之前就~写它的单元试Q还是在写完q个ҎQ甚x整个cM后才~写单元试呢?John Ferguson Smart[1]在他?a >blog中再ơ提Zq个问题QƈҎ自己的经验给Z一些徏议?2008.06.10最后更?

    都别书生意气了。在你编写一个方法之前或是之后编写单元测?-Ҏ我的l验Q只要你在编写代码的几乎同时p虑q编写单元测试程序,那么q就无关紧要了。过后再q回?或者根本就不回?写测试程序将D问题。就我个言Q我喜欢在编写少量代码之前或紧接着的之后就~写单元试--q不会打破工作流E,因ؓ它就是流E的一部分?br />     q需要一点儿实践l验--~Zl验的开发者经ؓ要写什么样的测试程序而烦恹{但q可能也反映Z个事实:他们同样也不知道要写什么样的代码。一些h评说TDD能够鼓励q行微设?-一U非常底层的设计Q它不需要考虑较大的场景。这会发生在~Zl验的开发者n上;如果你教条般地应用这U方法,同样也会遇上。像行ؓ驱动开发这LҎ在此处就会很酗当你在写getterҎ之前Q你会写一个针对这个getterҎ的单元测试吗Q如果是的话Q那么你的单元测试专注的层次p高了Q也会更接近于用?或系l?的需求?br />     回到问题的本质,Z么我喜欢把单元测试放在最开始的位置Q很单!我的实践l验告诉我,那样可以帮助提高代码的质量,q且节约调试旉。在开始时写十个小的单元测试所q旉比在以后修复Bug所q旉要少Q如果代码经q了正确的单元测试,那就不会有Bug了?br />     事实上,我屡屡见刎ͼ如果某些代码l过了适当的单元测试,那么׃会有~码问题。最q就有一个例子:׃一个小时的旉L寻Web应用中的一个问题,该问题出现在一个编写正的Spring-MVCE序中。结果是׃一个检验器cd略了一个异常。很Ҏ发Cq个问题Q实际上Q在看了代码(代码?Code Review)也很有效)之后立刻发C。但关键是,我们׃一个小时甚x多的旉Lq个需要进行检查的cR如果这些代码经q了适当的测试,那么p很快地发现ƈ解决q个问题?br />     Ҏ我的l验Q当Z在编写完E序之后才开始编写单元测试,如同事后才有这LxQ他们很隑ֆ些测试了 ("我已l完成了所有的代码Q此时我q得d单元试")。或者根本就不去做。在q种情况下,代码是否完成了呢Q如果代码运行地很好Q那q是完成了。这L话,再写单元试大大地丧失了它的h倹{还不仅如此Q事后编写的单元试是肤浅的,不会对代码进行良好地试。或者,开发者已l耗完了时_他们Ҏ׃惛_为单元测试伤了?br />     TDD与Q何其它的~码实践一栗当你正在学习某个新的技术时Q你会們֐于对学习指导亦步亦趋。类似地Q当你学习一Ҏ术时Q你也会试着一步步地模仿大师的动作Q而不必去理解其中的逻辑。一旦你熟悉了某个技术,能够熟练C用它Qƈ对它有了更深入地理解Q?em>然后Q你p改进它,q与你之前掌握的其它技术进行溶合了?br />
译注
[1]John?a >Java Power Tools一书的M者,也是java.net中一位活跃的Blogger?br />
译后
    上周在java.net上看到这BlogQ再联想到自己在qx工作中的单元试实践Q有些感触,故将其翻译了出来Q与大家׃n?br />     事先q写单元测试,q是事后才编写单元测试?q是一个老问题。按照TDD的思想Q自然是要先~写单元试Q然后再~写能够通过该单元测试的Ҏ?br />     但,单元试q不是TDD的专属领圎ͼ很多不实践TDD的项目也在应用着单元试?br />     我认为,在不实践TDD的项目中(我自己所处的环境是如此)Q事后编写单元测试仍有着其合理性:
    1. 以消极的态度来看Q既焉目本w不严格要求事先~写单元试Q那么就可以在事后去做了。这臛_比不d要好Q聊胜于无嘛?嘿嘿Q是够消极的Q但也拿你没办法)
    2. 事后~写单元试臛_也是一U检验手D,当然Q肯定比不上事先~写的单元测试。因为,事后~写的单元测试很可能?就"已经写好的应用程序,正如John所?事后~写的单元测试将是肤的Q不会对代码q行良好地测?。但...仍然是聊胜于无嘛 :-D (哈哈Q有完没完了)
    3. 可以把单元测试,其中包含事后单元测试,作ؓ"后来?了解、学习应用程序的手段。因为单元测试程序就是应用程序的"客户"Q所以无论它是事先写的,q是事后写的Q都能够表现出应用程序的行ؓ?br />     4. 事后单元试Q也可能转化Z先单元测试。在应用E序的整个生命周期中Q维护阶D|最长的。在"漫长"的维护过E中Q?之前"所写的"事后"单元试会成ؓ"后来?(包括原始作者本??事先"单元试。在改进E序的过E中Q这些单元测试仍然能起到监督的作用?orzQ有点儿诡辩)
    虽然Q事后单元测试明显不如事先单元测试,但它的作用仍然不可低估。只要编写了优秀的单元测试程序,无论是在哪个阶段Q它都会Ҏq应用程序有莫大的帮助?q可不是"聊胜于无"能够表达?



Sha Jiang 2008-06-09 20:55 发表评论
]]>
Rock Star 2008 -- Chet Haase(?http://www.aygfsteel.com/jiangshachina/archive/2008/06/01/205180.htmlSha JiangSha JiangSun, 01 Jun 2008 13:02:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2008/06/01/205180.htmlhttp://www.aygfsteel.com/jiangshachina/comments/205180.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2008/06/01/205180.html#Feedback0http://www.aygfsteel.com/jiangshachina/comments/commentRss/205180.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/205180.htmlRock Star 2008 -- Chet Haase
    q是一在今年的JavaOne会议期间对Chet Haase的访?/a>。关注SwingQJava 2D的朋友,对这位图?UI开发方面的大牛肯定不会陌生。很高兴在不久前׃与Romain Guy合著?a >Filthy Rich Clients一书的中文?/a>已经出版了^_^ (2008.06.01最后更?
    大家六.一国际儿童节愉快!愿大安能保持一颗年ȝ?_*
    特别地震灾区的朋友们节日快乐Q愿他们在今后的岁月中能够幸地成长:-)

历:
Chet Haase是Adobe公司Flex SDKl的高计算机科学家Q他x于图形问题及Ҏ。早些时候,他工作于Sun Microsystems公司Q是Desktop Javal的一名客L软g架构师,涉及形如Java 2DQSwingQAWT和部|这L客户端技术。他与Romain Guy一hFilthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications一书的合著者。在2008 JavaOne大会中,他和Guy有一个关于Filthy Rich Client的议题?br />
QQ若q月前,你出版了Filthy Rich Clients一书。关于它Q开发者们应该知道些什么?
AQ有四点Q第一Q它涉及的特性丰富的功能Q能帮助开发者创造更好的应用和更好的用户体验。第二,它有许多关于Swing和Java 2D的内q,以便开发者不仅能理解我们写的功能Q还能理解这些技术本w,他们p使用q些技术去写出他们自己的功能了。第三,它是一本有的ȝQ至我们努力去做到q一炏V最后,?a >本书的站?/a>上,可获取所有的CZ和工L库,包括源代码?br />
QQ在Sun的Java Clientl工作了8q之后,你在2008q的1月䆾d了,q加入了Adobe。告诉我们你所从事的工作?br /> AQ我加入Flexl,从事与图形有关的工作--q没什么奇怪的。在目前为止Q我主要专注于相关的q_QFlexQFlashQAIRQMXMLQActionScript3。对于某个在q去8q多的时间中一直从事于Java斚w工作的h来说Q有很多东西需要学习。同Ӟ在全lؓ下一版的发布而对某些lgq行重新构架的工作中Q我已在帮忙了。开始时Q我x动画斚w?br />
QQ周三下?点,在MetreonQ有一个Adobe的活动。到时你会与James Ward有一个简短的演讲。告诉我们关于它的一些情c?br /> AQ那会很有趣。James Ward给出Flexq_的一个简介,包含如何~写与Java后台交互的Flex客户端程序。而我--也可能是我的合著者Romain Guy--展CZ?Filthy Rich" Flex应用CZ。这些示例关于如何用Flexd现我们在书中谈到的功能。用Flexd现的Ҏ会不同,但你可以使用该^台去辑ֈ非常怼的功能。Q何感兴趣的h都应去Adobe的展収ͼ然后获取一份邀诗?br />
QQ是什么吸引你d发图形YӞ
AQ我喜欢从我的程序中得到可视化的反馈。当它正常工作时Q你可以在屏q中看到l果。当它坏掉了Q你也能看到它在屏幕中不正常的样子。与调试某些隐蔽的数据库事务相比Q这更能让我满。还有,囑Ş能够我的数学背景结合到我的软g背景中。计机囑Ş学用了从线性代数到三角函数到几何学再到微积分学的许多技术。用数学在屏幕上显C美妙的囄Q与我所处的数学领域能做的多C情相比,q更加有?br />
QQ对于那些想以做囑Ş软g作ؓ职业的hQ你有什么徏议?
AQ应用你所需要的数学评。ƈ不需要高U的知识Q但以我已做q的很多软g来看Q我着重学习了U性代敎ͼ及其一定的微积分学?br />
QQ对于新接触JavaE序设计语言的程序员Q你会给Z么徏议?
AQ不使用行号。不要把你的整个应用攑֜一个方法中。相信垃圾收集器能做好它的本职工作?br />
QQ哪U业已l准备开始大规模履行在Web服务斚w的承诺?
AQ摔跤。当WWF(世界摔跤联合?在万l网(World Wilde Web)上用Web服务Ӟ|络别名将是wwwwwfws?br />
QQ能描述一下你写代码的q程吗?
AQ我会试着在脑中攉素材Q可能会一些不成熟的想法写在小U片上,q样我之后就不用再去找了。这一机制中的某些观念来会用得上。然后我开始写原型?br /> 我在一些书中看q一U理惛_的方法,你将整个pȝ--APIQ或随便什?-以简短方法和注释的Ş式进行描qͼ然后你所要做的就是填充细节。也许真的有人用q种Ҏ写代码,但我未遇到?br /> 很多软g是研I性项目,在那里ƈ不清楚什么是可能的或需要做的细节是怎样的。所以当我快要知道我惌到的什么时Q我会开始写一些代码以扑և接下来要做的工作以及如何d?br />
QQ你创造的最让你感自豪的代码是什么?
AQ?a >Timing Framework。这个类库增补了一Ҏ在Java SE中见到的I白--Java SE~Z有用的定?动画Ҏ。然后基于我们自q或其他hl我们的需求,Timing Frame有机地发展v来?br /> 我也对Filthy Rich Clients中的所有代码感到十分自豪。这些代码示例意在向Z展示如何d成一些特定的dQ但像简单执行的代码一P作ؓ教程而写成的q些代码也便于教学?br />
QQ下一ơ大的技术革命是什么?
AQ香蕉电话。水果兼具通信元g与营d吃的功能?br />
QQ在此之前的五年内,你认为最重要的Java API是什么?
AQ没有什么比System.out.println更有用的了?

QQ你能给我们一个优代码的例子吗?
AQ这儿就有一个:
  10 print "fart"
  20 goto 10

QQ如果你惛_Santa Claus要一?a >NetBeans IDE的新插gQ那会是什么?
AQ?a >ActionScript3的编辑器Q如何?

QQ当你感到困惑时Q你会做些什么?
AQ拿一支笔和一张纸Q然后思考着q个问题。也会散散步Q或者与某个Z赯个问题,或者换一杯咖?-也许没什么帮助,但味道不错?br />
QQJavaq_最q的什么变化你的生活变得L些?
AQ我发现J2SE 5.0的一些语a变化Q像新的for循环Q很有用?br /> 我用q一些泛型以化Timing Framwork APIQ虽然我知道泛型的真正好处是让用h型化APIQ而不是让开发者在他们自己的代码中使用泛型?br />
QQSwing开发者需要理解的最重要的东西是...Q?br /> AQ在沾手之前Q先x食品加工器?br />
QQ你认ؓWeb 2.0的最大技术障是什么?
AQ有太多的框架用?Web 2.0"应用。特别是在Ajax世界Q很隄道从哪儿开始、l或l束。从某种E度来看Q一个开发者的脑v中只会中意最有可能流行的框架。可能更应该写作"Web Too"Q即Q?太多的选择"?br />
QQ你是否是网l开发者社区的一位正式成员?
AQ我q不处在某个特定的社区内Q但在我x的开发领域内Q我是一位经常写作的博客。我认ؓ拥有伟大的类库是吸引开发者群的重要组成部分?br /> 但是向开发者们解释应该如何使用q些cdQ以及用特定的、合适的例子dC一点,则是另一个同{重要的部分?br />
QQ图形Y件应该如何溶入Web 2.0的画卷中Q?br /> AQ就我理解,Web 2.0是关于在览器中的更好、更动态的用户体验。不Z使用何种框架Q这U体验都意味着丰富的图形与功能。甚臛_是简单的如,动态地购物商品拖入购物RQ或使用有趣的图形技术在面上某个元素淡入淡出Q这L功能?br />
QQ你如何看待开源YӞ
AQ我认ؓ开源Y件很伟大Q但q不是由于h们可能设惛_的原因。当Z听到一个项目是开源的Q他们可能猜有一大批来自世界各个角落的h们在帮助q个目Q向其中塞入代码Qƈ以这U松散的方式q行协作?br /> 我见q的大多数开源项目已较少兛_Zh贡献了,而更多的是关心源码库的透明性以及来自开发者的q泛反馈。多数的公司和h可能更关心的是,他们能够看到黑箱中的东西Q然后会q行适当的改q,而不会是实际地去做这些改q,也不会自己亲自加入到项目中?br /> 所以,像我的Timing Framwork所获得的好处,q不是大家直接地向它提交代码Q而是大家能够ȝ它是如何工作的,然后与我讨论怎样Lq它Q以去适应他们的特定情形?br /> Java和Flex SDK都是开源。不论选择加入的h的水q_何,我希望它们都能从C֌的参与中L?br />
QQ大家知道你在博客中写有滑稽和诙谐的东西。你是否认ؓq默与滑E能保持你作Z个开发者的敏锐、自׃创意?br /> AQ是的,是那样。这是我那样做的原因?br /> 不,我这么做其实也没有什么理由。我只是喜欢博得一WŞ了。然而我也知道,如果Z都睡着了,你就不能教他们了?br /> 所以,使一ơ讲演具有趣x,与其信息丰富一样重要。我见过十分乏味但内容很好的讲演Q但一般来_对于活跃的讲演Q大家越能记住它Q也想再听一ơ?br /> q同样适用于文章:Z使你的观点具有穿性,如果你能使用一些有的比喻或词汇,比只是在他们面前弄一些代码和方程式,更有Z使你的读者们l箋看下厅R?br />
QQ能与我们分享两个你最喜欢的奇?sup>[1]W话或故事吗Q?br /> AQ我不能保证他们是我最喜欢的或是最好笑的,但至它们都很新--在本周才把它们帖到我的博客中--也很奇客Q?br />   What do you call it when a chip manufacturer loses money?
  A cash miss.

  What do you call someone that has to use a dull web application?
  Bored to tiers.[2]
译注
[1]奇客QGeekQ指性格奔放甚至怪僻Q擅长计机的h?br /> [2]׃对这两则W话?本质"未领悟Q所以暂不翻译?br />
请关注上一译文:Rock Star 2008 -- Joshua Bloch


Sha Jiang 2008-06-01 21:02 发表评论
]]>
Rock Star 2008 -- Joshua Bloch(?http://www.aygfsteel.com/jiangshachina/archive/2008/05/31/204939.htmlSha JiangSha JiangSat, 31 May 2008 15:39:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2008/05/31/204939.htmlhttp://www.aygfsteel.com/jiangshachina/comments/204939.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2008/05/31/204939.html#Feedback2http://www.aygfsteel.com/jiangshachina/comments/commentRss/204939.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/204939.htmlRock Star 2008 -- Joshua Bloch
    q是一在今年的JavaOne会议期间?a >Joshua Block的访?/a>。作为闻名的Java guruQ大家已l从Joshua?a >Effective JavaQ?em>Java Collection FrameworkQ?..中获益了。相信,Joshua Block在访谈中的一些真知灼见,仍然会大家受益良多?2008.06.02最后更?

?/strong>QJoshua BlockQGoogle公司的首席Java构架师,曾ؓSun Microsystems公司的杰出工E师Q由?em>Effective Java Programming Language Guide一书,他获得了Software Development Magazine极富盛名的Jolt大奖。在Sun公司Ӟ他领D计ƈ实现了众多的Javaq_Ҏ,包括JDK 5.0的语a升以及获奖的Java集合框架。他拥有卡纳?梅隆大学计算机科学博士学位,目前q是Effective Java, Second Edition的作者?br />
QQ你和Brian Goetz会有一个名?撰写下一本伟大的Java技术书c?(BOF-6588)的议题。写一本伟大的Java书籍需要做些什么?
AQ这要看实际情况。你可以以书c的形式介绍那些之前q没有被介绍q的重要知识Q就如Brian Goetz和Tim Peierls ?em>Java Concurrency in Practice一书中所做的那样。或者,你也可以写一部对现有资料的原创讲解,使它能被所有未接触qJava的h所接受Q就如Kathy Sierra和Bert Bates?em>Head First Java一书中所做的那样。你也可以先弄一大堆资料Q然后提炼出其中的精华,像Peter Sestoft?em>Java Precisely一书中做的那么。这q可以接着说下厅R?br /> QQ对于你写的Effective JavaQ开发者经常告诉我Q那是他们最喜欢的Java技术书c。你二ơA献名?More 'Effective Java'"(TS-6623)的议题,在那儿,你将谈论Javaq_新近的最佛_c让我们先了解一点儿它的情况?br /> AQ我正在攉新出现在该书W二版中的素材。去q_我花了大量时间在谈论泛型Q所以今q我仍将重点x它,我确实有一个新的期望能够分享的泛型窍门?br /> 我也介l一些关于enumcd的有素材,q有一个针对gq初始化的最佛_늚明指对{是的,我还计划展示我们州长q轻时的一张祼?sup>[1]?br />
一天的生活
QQ描qC下你在Google的一天中的生zR?br /> AQ那是个工作的好地方。我与许多来自世界各地的聪明Z起工作,那儿不缺乏挑战性的工作d?Google理解开源以及回馈社区的重要性,所以他们一直支持我在Javaq_斚w的持l工作。额外的好处是他们因此而获得的好名声?br /> QQ你在Google吃的最好的一是什么?
AQ嗯...可能是两q前在Cafe 7吃的烤鹌鹑?或者可能是在Pinxto吃的Shiro Maguro SashimiQ有些饮品也是很的?br /> QQ这些食物真的很好吃吗?
AQ是的。我不是说在那儿我就没吃q差的食物,但ȝ来看Q确实很好?br />
?Bloch"作ؓ动词
QQ如果你能将"Bloch"变成动词Q就如已?Google"做的那样Q那么动?Bloch"会是什么意思?
AQ天啊,q是个很隄问题。可能是"写出好的API"Q当Ӟq将不会发生Q而我也乐于接受。在每一代中Q只会有很少的h够得上用一个词ȝ|q且l常是一个Ş容词。如你所知的Q牛的Q笛卡尔的,莎士比亚的,像q样的?br /> ׃某种原因Q这使我惌v多年前看到的一则头条。当Miles Davis[2]逝世ӞU约时报上他的讣告说Q?Miles DavisQ小hQ去逝了Q爵士天才,65岁,l对的酷"。我也想C自己Q?是的Q这是一个ȝ。而且q没上这L头条"?br />
最的代码
QQ你所喜爱的代码是怎样的?或者说Q你所见过的最漂亮的代码是什么样的?如诗般的代码Q?br /> AQ我看过许多代码都能Ȁ赯U反响。就像真的诗歌一P在某人看来很的一D代码可能在其它人看来很丑陋。这儿有一D능U的代码诗:
    static int inverse(int val) {
        t *= 2 - val * t;
        t *= 2 - val * t;
        t *= 2 - val * t;
        t *= 2 - val * t;
        return t;
    }
正如它的名字所暗示的,该方法计奇参数的乘法逆|mod 2^32。换a之,对于所有的奇整数iQ有i * inverse(i) == 1。它Ҏ牛顿q代原理?br /> 有严格的证据表明q四个P?-Ҏ中非回{的@?-对于M输入值都_了。那么这是我见过的最漂亮的代码吗Q不Q但它确实十分的聪明?br /> 如果你喜Ƣ这L东西Q你应该ȝ看Henry S. Warren的书Hacker's Delight(Addison-WesleyQ?003)。当你能看这本书Ӟ要翻?The Quest for an Accelerated Population Count"一章。在Osram和Wilson?em>Beautiful Code(O'ReillyQ?007)一书中Q当你手里也有这本书的话Q也要读一下Jon Bentley 写的"The Most Beautiful Code I Never Wrote"一章。Jon写了许多诗歌般的代码?br />
最有趣的代?br /> QQ你能想到的最有趣的代码是什么?
AQ?a >The Daily WTF中满是有的代码。Bill Pugh也经常发l我一些由FindBugs发现的有代码。这儿有一个o人欣喜的例子--我发誓,它从未被透露q:
   public Object getObject(java.util.Map<String,Class<?>> map)
       throws SerialException
   {
       map = new Hashtable(map);
       if (!object.equals(null)) {
           return map.get(object);
       } else {
           throw new SerialException("The object is not set");
       }
   }
QQ代码是世界语吗Q如果是Q那Z么?
AQ我认ؓ音乐才称得上Q其ơ就是数学了。因为音乐将自然语言与数学符可pMh。代码很像数学:创徏h良好可读性程序的很大一部分工作是选择好的标识W名Uͼ而这pZ自然语言?br /> QQ哪位Java达h深深地媄响了你?是在什么方面?
AQ应该是Doug Lea[3]。他知道很多事情中的很多东西Q多q来Q他Ȁ发了我数不清的想法。他L让h感兴的事情可说。ƈ且他有一U不可思异的能力,能发挥出VM的最x能。幸q的是,他已教给我一些他的窍门。例如,Branch Free代码会运行的很快Q缓存的作用会l结Q内联探索法(Inlining Heuristics)在性能斚w有着巨大的效用?br /> QQ能l我们一个你创造的最让你感到自豪的代码例子吗Qƈ解释一下ؓ什么?
AQ集合框架。虽q非完美Q但多年来,已经证明了它的可l护性与优雅。而前面提到的Doug Lea构徏的java.util.concurrent包中的许多部分就构徏集合框架之上。ƈ且在E序员的来信中,他们L告诉我,集合框架是如何他们的工作更加赏心悦目。它能你写像下面这个程序那L代码Q这个程序通过标准输入计文件中所有的片语Q?br /> public class Anagram {
    public static void main(String[] args) {
        int minGroupSize = Integer.parseInt(args[0]);
 
        // Read words from input and put into simulated multimap
        Map<String, List<String>> anagrams =
            new HashMap<String, List<String>>();
        for (Scanner s = new Scanner(System.in); s.hasNext(); ) {
            String word = s.next();
            String alphagram = alphagram(word);
            List<String> group = anagrams.get(alphagram);
            if (group == null)
                anagrams.put(alphagram, group = new ArrayList<String>());
            group.add(word);
        }

        // Print all permutation groups above size threshold
        for (List<String> group : anagrams.values())
            if (group.size() >= minGroupSize)
                System.out.println(group.size() + ": " + group);
    }

    private static String alphagram(String s) {
        char[] chars = s.toCharArray();
        Arrays.sort(chars);
        return String.valueOf(chars);
    }
}
QQ当你感到困惑时Q你会做些什么?
AQ我会喝一杯美味的热咖啡。Google有很好的咖啡机,q些机器来自于Barefoot Coffee Roasters。如果不用Q我׃去走一走。如果还不管用,我就会去叫Doug Lea?br /> QQ你使用哪些|络资源Q以紧跟Java技术?br /> AQ规范,q有Google。无到哪里,q都能帮上我?br /> QQ是否有一U益智的训练或有的行ؓ让你觉得能你成Z名更好的开发者?
AQ我认ؓ数学和写作能使你成ؓ更好的开发者。数学与~程一P要求严}的思维。而写作会你去l织你的x。数学和写作都训l了相同的审机能,而这对于写出好的E序也是必需的?br /> QQ你希望在工U学校中你还应该学到哪些东西Q?br /> AQ我希望我能更好地学会弹吉他Q现在我弹的可不好。我希望能学一门外语,q有艺术双Ӏ当Ӟq想学一些商业和金融斚w的知识。这栯hQ哥伦比亚大学会Ҏ有更好的帮助。我会鼓励本U生们,当他们还有时间时Q就要创造机会去获取更宽泛的知识。以后,他们会有_的时间深入到其中?br />
译注
[1]q张"照"是加利尼亚州CQ州长
阿诺.施瓦辛格的健祼肤照?/span>
[2]Miles DavisQ爵士乐大师。点?a >此处可以看到U约时报上关于他的讣告全文?br /> [3]Doug LeaQjava.util.concurrent的创始hQ目前也?a >OpenJDK临时理委员会的成员?br />
请关注下一译文:Rock Start 2008 -- Chet Haase


Sha Jiang 2008-05-31 23:39 发表评论
]]>
Sun Tech Days 2007 -- Day 2(?http://www.aygfsteel.com/jiangshachina/archive/2007/11/08/158629.htmlSha JiangSha JiangThu, 08 Nov 2007 00:39:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2007/11/08/158629.htmlhttp://www.aygfsteel.com/jiangshachina/comments/158629.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2007/11/08/158629.html#Feedback12http://www.aygfsteel.com/jiangshachina/comments/commentRss/158629.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/158629.htmlSun Tech Days 2007 -- Day 2
    Sun Tech Days 2007(北京?已经l束了,热打铁Q在此把本次会议中我的所见、所闅R所思与所得记录下来。本文是关于我在Sun Tech DaysW二天中的相兌L得以及ȝ?2007.11.10最后更?

    W二天的程与第一天的基本相同Q只是在上午多了一个赢取Java茄克的活动。走上舞収ͼ以自q才艺(~程不算才艺 :D)表演打动C的观众,谁得到的掌声最热烈Q谁p得到那两?分成了两个组Q每个组有一?茄克。这个表演算是当天上午最有趣的活动了。十分佩服那些勇于走上台的朋友,嘿嘿Q就Jonathanh上台Q我??得去(Oh, oh, oh ... come on, please show yourself!)?br />     关于当天的Sun技术演C就不描qCQ想说说当天的主题演Ԍ是由Oracle Fusion Middleware的一位副总裁做的Q题目是"SCA/SOA Service Component Architecture"。哦哦哦Q这个题目真够高qQ我可不惛_它品头论I只想提一?a >JDeveloper。相信很多朋友都知道甚至用过JDeveloperQ我早前也下载过JDeveloper10Q但q没有真正地使用q,主要是由于当时自q机器只有512M内存Q运行JDeveloper有些勉强。每q的STDQOracle都会有相关主题展CZ用JDeveloper开发Web/JSF应用。从Oracle的演C来看,使用JDeveloper+ADF(Application Development FrameworkQOracle的Java EE开发框?q行Web开发确实不错。依E记得?005q的JavaPolisQ比利时Java用户会议(规模很大Qƈ不仅限于比利?Q大会中有一个RAD(Rapid Application Development)~程比赛Q结果排在前三名的团队竟然全部都是用JDeveloper。看来JDeveloper在RAD斚w有自己的独C处。但必须注意的是Q用JDeveloper是完全免费的Q但使用ADF需要支付费用。这可能也媄响到了JDeveloper的普及,毕竟免费的工?框架_多了。至于FusionQ我应该是第一ơ听到它Q有兴趣的朋友可以去看看?/span>相比较第一天而言Q第二天中我所x的主题较,下面介l当天我所参加的各个技术专题?br />
    Java DBQ多个层ơ的数据库?/strong>
    Java DB是我最为关注的主题之一Q今q仍然是由Sun的数据库产品l理Manyi Lu主讲。相信很多h都已l认识了Java DBQ可能更多的人在更早的时候就知道?a >Apache DerbyQ而又可能有更更多的h在更更早的时候就知晓?a >Cloudscape。那么现在肯定也已经有不朋友知道Java DBQApache Derby和Cloudscape是同一个数据库。实际上QSun和IBM都各自出一部分开发员一同在ApacheC֌中进行Java DB/Apache Derby/Cloudspace的开发。而Sun/IBM又会为它们的产品Java DB/Cloudscape提供商业的技术服务?br />     作ؓ一Ƒօpd数据库,对于已经习惯于RDBMS的开发者而言Q用v来肯定不是难?当然Q凡事想做好Q也不是易事)。完备的SQL引擎--视图Q存储过E?Java存储q程)Q函敎ͼ触发器,外键U束QACID性;支持标准的SQLQ?..q些基本的RDBMSҎ似乎都不需要特别地提及。我惛_家最兛_的肯定是它的性能(是的Q我们都兛_数据库的性能Q更何况它是用Java写的#_#)。Manyi每次都特别地Q与同等层次的数据库(MySQLQ?a >PostgreSQL)相比QJava DB的性能毫不逊色Q在某些情况下甚x高。一般地只能认ؓJava DBQMySQL和PostgreSQL各有所ѝJava DB长于盘I/OQMySQL优在单表查询QPostgreSQL擅长多表查询(用它作数据分析比较好)。另外,Manyiq介l了一些提高Java DB性能便方法。这些方法确实既单又实用QQ何h都可以掌握它们。这些小技巧以及Manyi想但没时间ؓ大家演示的例子,大家都可以在Java One 2007的主?
Java DB Performance"?Enabling Offline Web Applications with Java DB"中找到出处?br />     不得不说Q今q的Java DB Session新意不多Q当然这只是针对那些听过d的这个Session的朋友而言。不q更正了我记忆错误的一个数据:听了d的Java DBQ我一直以为Sun内部试时用的数据量已l达C300TQ但今年再看Q那个数据量应该?00GQ目前已l达C700GQ他们的目标?T。失之毫厘,谬以千里。不q,d是听的,qȝ片中没有写,而T与G的读音相q,所以弄错了。而今q是在灯片中写着的,才得以纠正这个错误?br />
    动手实验室:Java SE 故障诊断工具大全?/span>
    要动手,才能把知识学牢固。每届的JavaOne和STD中都有不的动手实验室,q对大家的帮助肯定很大。在2005q的STD中,我参加了一个?a >NetBeans?a >Matisse构徏Swing GUI的动手实验室。虽然在那之前,以及在那儿之后的很长一D|间内Q我都没有经常地使用NetBeans。但一直认为Matisse构徏GUI实很方便,困隄部局理器参数的讄几乎完全可视化。不说Matisse了,q是谈谈JDK 6中带的一些工具吧。这个动手实验室介绍?a >jconsoleQ?a >jinfoQ?a >jmapQ?a >jhatQ?a >jstatQ?a >jpsQ?a >jstackQ?..Q这些工Lh虽小Q但功能却很实用。用它们可以查看当前pȝ中的Javaq程Q查扑֯象,分析内存泄漏Q找到可能的U程~陷(如死?Q?..虽然分析应用E序的工具很多,如NetBeans?a >Profiler也可以做相同的工作,而且能够做得更多更好Q但有时候手边一时没有那些大玩意儿,或者只能用命令行界面Q那么这些小玩意儿就能派上大用场了?br />     关于q个动手实验室,大家q可以参见JavaOne 2007中的一个动手实验室"Monitoring and Troubleshooting using JMX and JConsole Lab"?br />     通过q个动手实验室,我的收获实不少。这时也惛_Q要把一件事情做好需要做很多的工作,也就需要花很多的时间。在开发的q程可能需要做单元试、静态分析、代码检查、性能试与优化?..Q但在实际的工作中恐怕没有那么多的时间与_֊dq么多的事情Q而且q里的每件事情都需要细心与耐心。这样到了项目的l束Ӟ我想很多人心中都会有很多遗憾。ؓ什么我们不认认真真地做完一件事情呢Q至让自己遗憾一ơ吧?br />
    开攄Sun SPOTsQEricsson技术专题,In-Time Java?/span>
    q是我当天听的另外三个Session。说实话Q我对它们都没什么兴,也没认真听,所以就攑֜一h؜说吧。前两个主题都是关于Java ME的。正如前面我所说的QJava ME不是我关心的领域Q但看着讲师们在那儿玩弄着各种器g(机器人,掌中讑֤Q?..)Q像变魔术似Q也不禁有些心动。纯Javag虚了些,Java+_笨的服务器也不好玩QJava+手机之类的器件才有趣嘛。对Java ME有兴的朋友可以参考Java One?a >关于ME的Session?br />     再谈谈In-Time JavaQNoQnoQnoQ我可不懂什么In-Time JavaQ但我知道讲师提到的Mars Pathfinder(火星探\?飞行器。著名的JPL(国h动力推进实验室,诞生q多位诺贝尔奖获得?的著名的火星探\者当然是飞到了火星上Q还在火星上工作了很长的旉。但q与Java有什么关pdQ当然有关系了,而且关系大着呢。这个飞行器的Y件系l就是用Java写的!OhQa cup of Java, cheers!哈哈QJava在火星上都能q行良好Q更何况在地球上呢。Mars Pathfinder是Java发展历程中的一件大事,我想每位Java人都应该知道它?br />     随便提一句,我本Z"有幸"与JPL"?上点儿关pR在猴年马月的寅时卯分,我这个超U无敌菜鸟Dpȝ理员手下的两台公网服务器不知被哪位贪吃的黑客相中,成ؓ??它盘中的"肉鸡"Q然后被利用L击JPL的服务器Q还因此收到?a >FBI的警告信!向֜中国Q岂能受你山姆大叔的恐吓Q!Q但从中两国h民友谊的大局出发Q我q是h了一位高手,问题很快p决了。现今吾已经专责于JavaE序开发,恐日后再N到类g件了 @_@
  
   
    上周四、周五开完会之后Q确实有些篏Q每天奔波于南五环外与北四环之间Q算是体会到了公叔R很多同仁们每天都要遭受的煎熬(本h的住所与公司离得很q?。不q,心情很愉悦。趁着q股兴奋劲儿Q利用上周末的两天,以及最q三天的晚上(每天都是凌晨1点左x睡觉)完成了这两篇关于STD的随W,怿看到本篇随笔的朋友已l看q我?a href="http://www.aygfsteel.com/jiangshachina/archive/2007/11/06/158334.html">上一随W?/a>了?br />     今年参会人数(U?500?比去q多Qؓ此会务组Ҏ安排了两个主会场。熟话说Qh上一百,形Ş色色。参加STD的朋友们各自?Ҏ?肯定不尽相同Q甚至相差很大。但我想_只要大家怀着学习的心态就都会认ؓ在STD中定有所收获。不论,你的Java技术水q高或低Q喜?从事Java Web或桌面或嵌入式应用开发,我想大家都会各有所需Q各有所得。毫无疑问,STD的讲师们(基本上都是Sun的Technology Evangelist)不可能在如此短的旉内把一个主题完全讲清楚。比如ConcurrencyQ这是一个十分复杂的主题Q恐怕与会的朋友们中的大多数都不能清晰地描述?反正我是不太懂,但我正在研究q发~程)。因此,q讲师?a >Brian Goetz/Doug Lea/Joshua BlochQ也不可能讲得很深。但我们不能因此而说Q参加此cL术活动还不如自己在家里看书。记得在上小学时Q教师就告诫q我们:你听老师Ԍ比你自己看书效率要高很多?br />     但同栯_如果只是听别Q也是远q不够的。STD不是技术培训班Q这本来是大家的一个交与沟通的q_。与会者和讲师之间Q与会者和与会者之间都应该有交和互动。很惭愧Q我在这一点上做的很不好。不q,我会改进的。实际上我已l有改进了,q回我就多次"举手"Q只是运气不好,讲师没有点到?当然Q这些也只是的q步|了)?br />     说到交流Q就不能不说到英语。相信这是很多技术朋友们的一块心病,me tooQ虽然自己^时看英文技术文章比较多Q也译q若q篇文章Q但?说仍然是一大难题。不q,长期的努力还是会有一些进步的。记得今q??6日在北京W一ơ参?a >db4o的用户会议时Qdb4o的CEO Christof很热情地与每一位参会者进行一对一的交谈。可惜我的英语听/说都很差Q结果基本上都是Christof在说Q而我只说了不到十句话Qƈ且我也听不懂他所说的大部分内?How shame I am!!!)。不q,C9?0日去武汉W二ơ参加db4o用户会议Ӟ我就能和Christof聊上一会儿了。当Ӟq种q步q不大Q但一ơ小的q步是一ơ大大的鼓励?br />     最后祝我自己每天都有新的进步,每年都有大的q步Q?br />     最最后祝大家都有大大地进步!Q!

    同是Java爱好者,盔R何必曾相识Q?-- 江莎
    a cup of Java, cheersQ?- Sha Jiang
    jiangshachina


Sha Jiang 2007-11-08 08:39 发表评论
]]>
Sun Tech Days 2007 -- Day 1(?http://www.aygfsteel.com/jiangshachina/archive/2007/11/06/158334.htmlSha JiangSha JiangTue, 06 Nov 2007 01:15:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2007/11/06/158334.htmlhttp://www.aygfsteel.com/jiangshachina/comments/158334.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2007/11/06/158334.html#Feedback10http://www.aygfsteel.com/jiangshachina/comments/commentRss/158334.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/158334.htmlSun Tech Days 2007 -- Day 1
    Sun Tech Days 2007(北京?已经l束了,热打铁Q在此把本次会议中我的所见、所闅R所思与所得记录下来。本文是关于我在Sun Tech DaysW一天中的见L得?2007.11.10最后更?

    如我的上一?a href="http://www.aygfsteel.com/jiangshachina/archive/2007/10/30/144709.html">介绍Sun Tech Days 2007的随W?/a>所提及的,q已是我q箋W三q参?a >SunU技?/a>了。必说Q每q的体验都都有很大的不同Q把q些不同的体验记下来Q至也是一U回忆。我也希望与朋友们分享的我的所见、所闅R所思与所得?br />     与过Mq我所参加的STD不同QSun CEO--目前是Jonathan SchwartzQ以前是Scott McNealy和Java之父--James Goslingq次都没有来中国。那两次时QSun CEO的Scott McNealy都有讲话(2005q时是正式致辞;2006q时只作短讲?QGosling则都是做主题演讲(Keynote)。虽然他们肯定不是会议的全部Q也不一定是会议的关键部分,但我仍然Z们没有出席而感C点失望?br />     我想参加q此cL动的朋友一定都能猜C题演讲的内容 :-) a之,主题演讲是描述了Sun的关键Y件技?产品(JavaQSolarisQ?...)当前的状态,展示了Sun作ؓ创新的领Dؓ发展q些技术所做的巨大贡献Q这些技术在改进Z生活的过E中所发挥的重要作用,q努力大家怿q些技术在未来拥有非常好的前景?br />     按照贯例Q在每天上午的议E中都有一个Sun技术演C?Sun Technical Demo)的环?。Sun的讲师分成两个组Q每位讲师用五分钟的旉展示他们各自领域中的一个酷炫应用,然后由我们大家用掌声选出最好的那个l?当然Q每个组都很?_*)。当天共展示了关于Swing(Joey Shen)QJavaFX(Chuk-Munn Lee)QAJAX/Web 2.0(Doris Chen)和嵌入式(Angela Caicedo)q四个领域的"?应用。让我印象深ȝ是Angela的嵌入式应用演示--两个机器h之间的交互;Joey展示的炫目Swing应用也十分吸引我Q他q向大家留了一个悬?OhQ就是Angela和Joey搭档的小l获得大家最热烈的掌?。下面将介绍当天我所参加的各个技术专题?br />
    Java SE 6十大Ҏ,探讨Java SE 7以及OpenJDK?/strong>
    cM于这U?昨天Q今天与明天"的主题也是每q都有的。Java SE 6提高了Java桌面应用的性能Qƈ为GUI开发提供了很多的增强型新特性:Desktop APIQSplash ScreentQ支持Vista L&FQTray IconQGroupLayoutQ?..。我最q刚开始做Swing/AWT斚w的开发,所以对q一块比较关注。classpath通配W是一个很实用的新Ҏ:可以把某个目录下的所Cjar文g使用通配W?*)它们全部加载到classpath环境变量中。Compiler APIQ让应用E序在运行时能够~译源代码,我还不清楚它的应用场景。Scripting APIQ目前在JVM上已l可以运行JavaScript(Mozzila 1.2)和JRubyq些脚本语言了?..其实讲师(Chuk-Munn Lee)q没有特别地指明Java SE 6的十大新Ҏ,但实际上很多朋友可能早已知道Java SE 6的十大新Ҏ?/a>了?br />     JDK 7可能的新Ҏ:新的Swing跨^台Look&Fell--Nimbus L&F(Metal L&F太土了?)QConsumer JRE(下面有一节专门讲?QClosure(不明白ؓ什么要增加如此"奇?的语?Q?a >Swing Application Framework(Sun对Swing的支持果然是一如既往)QSuper Package(我也不能理解Z么需要这U语?Q?..
    让我十分遗憾的是Q讲师ƈ没有提到OpenJDK的情况?!
   ?span style="font-size: 10pt;">于该主题的内容还可以参见JavaOne 2007中的相关主题Q?/span>Java SE Present and FutureQ?a >The OpenJDK Project Report?br />
    消费版JREQ更yQ更强劲?/span>
    Consumer JRE与Java Kernel的出C要是Z解决发布或运行JavaE序旉到的几个问题Q?br />     [1]不知道目标用h器上的JRE是什么版本;
    [2]JavaE序的启动速度慢,特别是当冷启动时Q?br />     [3]JRE较大Q不方便下蝲Q?br />     [4]安装JavaE序的时间可能较ѝ?br />     Consumer JRE(大约在一个月之前QConsumer JRE已经更名?Java SE 6 Update N"Q非常有的名字)会?008q的早些时候正式发布,它会拥有Q?br />     [1]更快的启动服务。一般会认ؓ解释q行字节码会比较慢,但实际上q如此Q因为JVM很早引入了JIT(Just-In Time)~译器,许多常用字节码已l被~译成了二进制代码。但冷启动时Q确实比较慢Q主要是因ؓJREq未存入内存中;而对于热启动Q它的速度q不错,所以目前需要特别地解决冷启动的问题。要解决冷启动的问题可以采用如下ҎQ启动一个后台进E,周期性的d文gQƈ把它们存储到盘~存中,从磁盘缓存中d文gq当于是热启动了。尽可能载入较少的jar文g也有利于提高启动速度(见下一??br />     [2]Java Kernel。目前的JRE都比较大Q而且核心的rt.jar也很?JRE 6中的rt.jar有40M左右)。Java Kernel则非常的?2M左右)Q而且高度模块化。rt.jar被分割成许多的jar文g。默认情况下QJava Kernel只能q行"Hello World"q样的程序,如果q行的程序需要更多的JRE中的jar文gQ则会根据需要适时C载。用Java Kernelq行SwingSet2q样的程序,在下载了所需的jar文g后其大小也仅?M左右?br />     [3]Java Technology Deployment Kit。这个工具集是用于回答"用户机器是否安装了JREQ安装了何种版本的JREQ?q样的问题?br />     [4]改进的安装器(指图形用L面的安装向导)。这个安装程序更方便Q界面也更友好?br />     我个人对Consumer JRE是比较关注的Q主要就是由于我目前正从事着Java桌面应用开发。桌面程序要直接q行在用L操作pȝ中,q就要求最大努力减对用户的媄?易用Q界面友好,节约用户机器的性能Q?..)。目前才刚接触AppletQ就已经感到安装插g是一个十分棘手的问题?..是的Q安装Applet览器插件应该是很容易的Q但不是每个人都q么认ؓ?br />     关于该主题的内容q可以参见JavaOne 2007中的相关主题Q?a >Desktop Java Technology TodayQ?a >Java SE Present and Future。还可以看看Chet Haase的Blog中的相关内容?br />
    Java脚本~程QJavaFX脚本以及JRuby?/strong>
   
虽然我对JavaScript深恶痛绝(跨^台的梦魇 Orz)Q对JRuby/Ruby不屑一?因ؓ我不?^_^)Q但我对JavaFXq是有几分兴的。JavaFX作ؓJava家族中的新技术,在今qJavaOne上受C大家的热捧?br />     本来我对RIA(Rick Internate Application)应用也没什么兴的Q但q期加入了一个金融门L站的目。目前我接手开发一个基于Applet的客L工具Q该目中的其它部分则可能会使用RIA斚w的技?FlexQJavaFX Q?)。不q,做RIA应用Q程序员只是其中的一部分|了QUI设计才是首当其冲?br />     q个主题的讲师就是前面提到过的演CZJava ME机器人应用的Angela Caicedo。由于我的英文听力不太好Q而且本来对JavaFX知之甚少Q所以近1个小时下来似乎没收获C?:-(
    关于该主题的内容q可以参见JavaOne 2007中的相关主题Q?a >Desktop Java Technology?br />
    如何有效地在Javaq_上进行ƈ发编E?/span>
   
我对q发/多线E应用十分感兴趣Q目前正在翻?a >Java Toturials?a >Concurrency一?/a>。但不得不说Q目前讨论ƈ发编E还是超Z我的能力。而且讲师Doris Chen使用的灯片与今qJavaOne的一个主?Effective Concurrency for The Java Platform"所使用qȝ片十分相|所以大家可以参考JavaOne中的那个主题的灯片Q就不用我废话了。另外,JavaOne中还有一个关于测试ƈ发应用程序的主题"Testing Concurrent Software"Q也可一q参考?br />     再推荐一本书Q?a >Java Concurrency in PracticeQ肯定有很多朋友已经知道q本书了。该书在d刚出版后Q就在当q的JavaOne大会中就受到q捧Q成为当届JavaOne的书c销售冠军。我早前׃q一本,但很快就转卖l了另一位同?因ؓ她很惌)Q故在STD的现场又C一?:D

    充满zd的Swing回来了?/span>
   
正如我早前所说的QSwing是我最喜欢的Java"表现?。与许多Z无状态的HTTP协议的Web应用相比Q毫无疑问,作ؓUJavaE序的Swing可以更方便,更高效地实现各种炫目的GUI(当然Q它们关注于不同的应用场景,实际上没有可比??br />     今年QJoey Shen(dQ前q也是他)为大家带来了一个展CZ多种炫目GUI技术的Swing Demo。这个Demo是Sun Swing Team开发的QOh-oh-ohQSwing核心开发者做的Java GUI果然不同凡响--华丽的界面,动画Q透明Q重影,半透明拖放Q?...Q一个都不能?br />     但实事求是地_Joey演示的这些先q的GUIҎ在我的工作中一时还用不上。不q,我还是对他介l的在Swing中制作动L果的框架--Timing Framework产生了兴,...另外Q我在第二天(注意Q是W二?的下午会议快要结束时Q趁着参加动手实验?Java SE故障诊断大全"的机会向Joey(他主讲那个动手实验室)问了一个我在工作中遇到的用AWTȝ时出现的问题?br />     在今qJavaOne中关于Swing/Desktop开发的主题有很多,大家可以选择Java Desktop中的你所感兴的主题?br />
    GC友好的Java~程
    我ƈ没有听这个主题,因ؓ它与q发~程的主题在旉上冲H了(可惜Q?。但我可以看今年JavaOne中的一个同名主?a >Garbage-Collection-Friendly Programming
中的qȝ片。该qȝ片介l了q发~程的一些基本原则?br />
    照片
    M肯定要有些留念Q但借的相机质量不太好,我用的也不太习惯Q所以很多照片质量欠?WwwQ去q也是这?Q比较遗憾。我只帖了几张照片?a >我的Flickr上,有兴的朋友可以ȝ看。另外,STD中国官方|站已经帖出了不关?a >STD北京?/a>的图?我也把这些图片copyC我的Flickr?_*)?br />     注:Ҏ以前的经验,从大陆地区应该无法直接访问Flickr中的囄(囄都是U?span style="color: red;">x
Q只能看到文?Q所以需要通过代理服务器。用FireFox的朋?包括我自?很方便了,只要安装FireFox的插?-Acess Flickr!Q就可以自由览Flickr了^_^ 不过Q我刚才用IE试了一下,g现在又可以直接访问Flickr了,但只能访问到较近一D|间内的图片。难道GFW又放q了FlickrQ还好,我的囄都是老少咸宜的,w正不怕媄子歪嘛?br />

   敬请x我的下一随W:Sun Tech Days 2007 -- Day2


Sha Jiang 2007-11-06 09:15 发表评论
]]>
Sun Tech Days 2007 -- Preview(?http://www.aygfsteel.com/jiangshachina/archive/2007/10/30/144709.htmlSha JiangSha JiangTue, 30 Oct 2007 08:28:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2007/10/30/144709.htmlhttp://www.aygfsteel.com/jiangshachina/comments/144709.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2007/10/30/144709.html#Feedback14http://www.aygfsteel.com/jiangshachina/comments/commentRss/144709.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/144709.html Sun Tech Days 2007 -- Preview
    一q一度的Sun Tech Days又将开q了Q?/span>本文回顾了我前两q参会的体验Qƈ分析了本ơ会议中我个人所感兴的几个主题?span style="font-size: 10pt;">(2007.10.12最后更?

    从上周三开始,本年度的SunU技?Sun Tech DaysQSTD)开始接受报名了。官方网址Q?a >http://www.suntechdays.cnQ优惠期截止??9日之?我想应该是??8日ؓ止吧)。在优惠期内Q单个h的会Ҏ195元,和去q的会费一?WellQ没有随C会物h的上涨而上?^_^)?br />     今年Q将是我q箋W三q参加STD了?br />     2005q?/strong>Q当时还在武汉上大学(我本w也是湖北h)。那时学习Java不到1q_断断l箋的,满打满算?1个月Q学习也不努力,q门都没?在学校里自学Q效率太低了) :-( 但不知道Z么,对Java/软g开发非常感兴趣Q而对自己的本专业--通信Q就是一点兴都没有(呜呜呜,费?q时间啊Q??005q恰逢Java 10周年Q从CSDN上看到要在北京D办JavaChina 2005(其实也就是STD)的消息,报名参加了。对2005q的感觉是Q规模很大,北京M场有4000多hQ另?个城市的分会Z?000人左叟뀂毕竟是Java 10周年嘛,其它q䆾的STD都达不到q个规模(当然QJavaOne的规模每q都会超qSTD)?005q时的我Q对Java只是一知半解,在会议的众多session中,我也不知道应该听哪些主题Q只是选择了一些Java语言U方面的sessiond了。现在回惌v来,也不知道当时听到了些什么?strong>当年的最大收获就是和Java之父James Gosling有一张集体合?/strong>。哈哈,q难倒就是获得Sun认证的最大好处吗 *_* 因ؓ我是在顺便参?Sun认证英?时有q得Cq个Z?/span>q次zd大大Ȁ׃我学习和应用Java的热情?/span>
    2006q?/strong>Q我刚刚毕业Q目前一直在北京的一家电子商务类的公司工作。虽然在当时q没有直接地参与Java目的开发,不过目都是和Java相关?我当时做pȝ斚w的工?Qƈ且一直坚持对Java技术的学习。其实,我自感自qJava基础q是不错的,2004q_通过"Sun认证JavaE序?SCJP"(88%得分?Q?005q通过"Sun认证Java开发员 SCJD"(97%得分?Q而且q_学习时很注重基础知识。出于不断学习Java技术的xQ我又参加了当年的STD。此Ӟ毕竟有些l验了,知道的东西也多了些,再听STDQ就会有自己的选择了。我仍然对Java语言的基部分比较x(Java 5的新Ҏ,Java 6的新Ҏ?Q另一个很x的就是数据库斚w(Java DB)。Java DB的sessionQ我认ؓ是当q最好的?006q的收获实不少Q很多场景我现在q有很深的回忆。另外,发现在自qp水^又有提高了,q个收获可能更大?@_@
    今年Q我已工作一q有余,有了一些实际的Java目开发经验,q且学到了更多的Java斚w的知识,有了新的提高。关于今q的STDQ其中有几个session实是我本h十分期待的,如关于:
    Open JDK。Java是真的开源了Q而不??开?javac、core API?..Qall of them have "Full" Sources)。目前我们用的Sun JDKQ不能debug Java API(因ؓsrc.zip中的源文件与实际使用的rt.jar中的class文g无法完全对应上,它们不是"一脉同?的?Who"动的手脚QFT!)Q这让我很多ơ的很、很、很不爽。WellQ现在我们可以用OpenJDK了。OpenJDK是JavaQ而不是Java的一个分?Apache HarmonyQ?QJDK 7的新Ҏ将首先在Open JDK中实现。OpenJDK与Sun JDK的关p,如OpenSolaris与Sun Solaris之间的关pR一个是开源社Z导的开源项目,另一个是Sun公司的品。但Sun的?JDKQSolaris)是从开源项?OpenJDKQOpenSolaris)中来的,只不qSun在内部另外再做了一些测试。可能Sun产品的稳定性更ZQ但差别应该很小Q因为Sunq些产品的源代码最l还是要攑ֈ相关的开源项目中?br />     Consumer JRE。当前的JDK/JRE太大了?JavaE序的启?特别是冷启动)太慢了?Consumer JRE很快p来了。还有Java KernelQ它能像Linux Kernel那样Z嘛?
    Java DB。我一向关注数据库应用Q去q听了,今天q要听。超U小(但比db4o大N?、可嵌入(不一定就?嵌入?)Q做大型数据库的前端CacheQ方便用、无需DBAQ?..。看h都很吸引人,不是吗,哈哈?..。在d的STD中就听了Sun的数据库产品l理(华hQ能够讲中文Q就是讲中文Q太了Q?讲的q个sessionQ今q又有
新玩意儿(也许q次要换讲师了?Q??br />     Swing。我个h(orQ一个hQ?最喜欢的Java"表现??UI"可能是Java最q斚w了。Web斚w的表现层框架Q用h都不方便(和M$ .Net的WebForm差太q了)Q由于Java的桌面应用不受多Ch的关注,而且q受SWT的冲击,Swing/AWT的应用面只能很小了。但我就是喜Ƣ这U纯Java?表现?Q它那如此优U的组件化恐怕是其它Web表现层框架无法达到的(JSF的组件化是在模仿Swing)。在Java使用GPL v2协议开源之后,可以与Linuxpȝ兼容(目前Ubuntu 7.0.4已默认安装JRE 6)Q这为Java桌面应用提供了更多机会?br />     Concurrency?/span>该主题是今年Java One的session之一?/span>java.util.concurrent包是JDK 5的重要新Ҏ。在JDK 5之前Q大家在~写Java多线E应用时Q只能用ThreadQRunnable和waitQnotifyQnotifyAllQ?..{少数几个类/接口和方法。大量的工作都需要应用程序员自己d成。现在有了concurrent包,怿会给大家提供更多的便利。该包目前受到大师们的广泛重视。关于它Q已l有了专题书c?span style="font-size: 10pt;">"JAVA CONCURRENCY IN PRACTICE"(主要作者Brain Goetz是JSR 166--"Concurrency Utilities"的核心成员,合作者还包括Joshua Blochq样的Java Guru)?Concurrent Programming in Java: Design Principles and Patterns"(作者Doug Lea是JSR 166和OpenJDK目的领|concurrent包的创始?QBruce Eckel?Think in Java 4th"有一章专门讲它;Joshua Bloch在他?Effective Java"W二?未完成)中也会为concurrent单辟一章。虽然在实际的工作中q没有机会编写多U程应用Q但一直对它十分感兴趣。早前在参加SCJD考试Ӟ做的一个C/S应用׃用了多线E。但那时是用JDK 1.4Q没能用到concurrent包。而且整个多线E机制也十分单:由RMI分派U程Q自己写一个Lock理器,再加上同步。已l买了一?JAVE CONCURRENCY IN PRACTICE"中文版,会l箋研究多线E应用?/span>
    Garbage Collector。我不得不关注的Java Coding基本功,该主题也是今qJavaOne的session之一(看来世界上的Guru、牛X、高手们都是很重视基的,I love :-)?如果有Exception Handle斚w的session好了,q也是Java的关键基之一)?br />     JSF。不得不_我在Java Web表现层开发方面的"造诣"颇小。因为我认ؓWeb表现层应用ƈ不是UJava?如前所qͼ我喜ƢSwing的原因之一是它的UJava?Q做Web表现层开发,不是完全在做Java开?JSPQJavaScriptQHTMLQCSSQ?..)。在L的几UJava Web表现层框架中QJSF也不是最常用的。不q,׃JCP把JSF作ؓJava EE 5规范的一部分Q那么所有要兼容Java EE 5规范的应用服务器必L供自qJSF实现。既然主的应用服务器都已经(如WebLogic 10QKingdee Apusic 4--x一下国货撒)或将?如JBoss 5)默认提供JSF框架Q那么我们也许可以想当然的认为,使用JSF的比率将来肯定会有所提升。大厂商们的q种做法Q还真有?霸权M"?强权政治"的意呟뀂不q,公道自在人心Q还是要怿众哦?br />     Java FX。M$ Silverlight?杀?Q但我似乎没必要d那些炫目的RIA?br />     ...

    为STD打了一ơ广告,但是免费的。个为多参加一些此cL术活动,对自q技术发展是十分有利的?br />     在参加完
今年?/span>STD和Netbeans Day之后Q我会ؓ每一天的zd写一随W,以飧众友?br />
    See you at Sun Tech Days
2007Q?/span>

Sha Jiang 2007-10-30 16:28 发表评论
]]>
"Java"的由??http://www.aygfsteel.com/jiangshachina/archive/2007/09/04/142528.htmlSha JiangSha JiangTue, 04 Sep 2007 02:20:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2007/09/04/142528.htmlhttp://www.aygfsteel.com/jiangshachina/comments/142528.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2007/09/04/142528.html#Feedback9http://www.aygfsteel.com/jiangshachina/comments/commentRss/142528.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/142528.html"Java"的由?/span>
在SUN CEO Jonathan Schwartz?a >最新Blog中,Games Gosling介绍了JavaE序设计语言的名U?-"Java"的由来?2007.12.07最后更?

q个故事像下面q样Q?br />     我们需要一个名字。我们当时已正在使用"oak"(q个词实际上是我随便挑的)了,当整个团队开始认同它Ӟ商标律师们却否决了它。我们有大量的邮件在讨论关于
名称的事情,但什么都没被解决。我们最l傻到要第一个停在我们面前的东西作ؓq个名称?br />     我们的市场部门领导知道某个是"命名N"的h(我不记得他的名字了,但他很棒)。我们负担不起一般的产品命名q程所需要的金钱和时间。他同意做一些不奇特但高效且快速的事情Q在那个我们自己大?0多个人锁在一个房间里整个下午的会议上Q他表现得如同一个推q器。他开始就问我们一些像"q个东西让你感觉如何Q?(兴奋)q样的问题,"q有什么让你也有那U感?"(Java!)。我们最后在一个板子上写上了实际上是随Z生的词。然后他让我们做了一个排序的q程Q最l得C那些名字的一个排名列表。我们得C10多个侯选名字,q将它们传给了律师们Q律师们从上至下地研I这个列表,直到他们扑ֈ一个词使他们能够不再l搜寅R?Java"是那个列表中的第四个词。该列表中的W一个词?Silk"Q我讨厌但其它的每个人都喜欢q个词。我最喜欢的是"Lyric"Q是该列表中的第三个词,但它没能通过律师们的试。我不记得其它的侯选名字都些是什么了?br />     那么是谁LJavaq个名字呢?市场部门l织了那ơ会议,那个NL了它Q我们中的一大堆人随口叫Z许多词。我不能真地肯定是谁W一个说Z"Java"Q但我几乎可以肯定那个h是Mark Opperman?br />     但可以肯定地是,那时没有M睿智的市Zh员经q通盘考虑之后才得到Javaq个名字?/span>

Sha Jiang 2007-09-04 10:20 发表评论
]]>
Rock Star Josh Bloch(?http://www.aygfsteel.com/jiangshachina/archive/2007/06/11/123283.htmlSha JiangSha JiangMon, 11 Jun 2007 00:33:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2007/06/11/123283.htmlhttp://www.aygfsteel.com/jiangshachina/comments/123283.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2007/06/11/123283.html#Feedback4http://www.aygfsteel.com/jiangshachina/comments/commentRss/123283.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/123283.htmlRock Star Josh Bloch
q是一前不久?/span>JavaOne 2007期间(5月初)SDN(Sun Developer Network)?a >Joshua Bloch的访?/a>。我看了多遍Q受益良多,q译在了此处。由于本文水qx限,文中部分语句暂时无法得到准确的翻译,故英文原文一q给出,请大家斟酌?2007.06.12最后更?

Bio: Joshua Bloch, Google's chief Java architect and a former Distinguished Engineer at Sun Microsystems, won the prestigious Jolt Award from Software Development Magazine for his book, Effective Java Programming Language Guide. At Sun, he led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework. He holds a Ph.D. in computer science from Carnegie-Mellon University and is most recently the co-author, with Neal Gafter, of Java Puzzlers.
历:Joshua BlochQGoogle公司的首席Java架构师,也曾是Sun公司的杰出工E师。由于书cEffective Java Programming Language GuideQ他从Software Development Magazine那儿赢得了极负声名的Jolt大奖。在Sun公司Ӟ他领D计ƈ实现了众多的Javaq_Ҏ,包括JDK 5语言的提升以及获奖的Java集合框架。他从卡U_-梅隆大学获得了计机U学博士学位。最q,他与Neal Gafter一h为Java Puzzlers的合作作者?br />
Q: I've heard that at your doctoral thesis defense at Carnegie-Mellon, which was open to anyone for questions, you planted a long technical question with your mother that you answered flawlessly after saying, "Awww, Mom!" Is that true?
我听说你了在卡纳?梅隆大学时谋划的博士论文Q这个论文ؓ了寻求问题而被攑ּl每个h。你在你母亲的帮助下弄出了一个很长的技术问题,在说出来之后Q你的回{毫无瑕c?br />
A:Yes. The question appeared to tear the work to shreds. My mom had fun with it, and so did I. Thesis defenses can be so dry. I did everything I could to inject a bit of levity into mine. I also answered another -- planted -- question with a rap, complete with recorded rhythm track. I had a boom box concealed under the desk during the talk.
是的。这个问题的出现工作分成小块。我妈妈喜欢它,我也是的。撰写论文是如此的枯燥。我做每件事情时Q都希望能够l我自己的事情加入一点乐。我也回{了与RAP有关的另一个问题,使用一个记录节奏跟t器完成。在谈话的过E中Q我一个Boom Box(译注Q一U便携式的音频系l,一般由无线c磁带或CD播放器组?藏在桌子下面?br /> 上述一问一{,我确实无法准翻译。可能涉及到某个典故Qƈ且语a很口语化。希望有朋友能够教我 :-D

Q: You are currently busy revising Effective Java. Can you give us some hints about what will be in the second edition?
目前Q你正在修订"Effective Java"。你能否l我们一些关于可能出现在W二版中的内容的一些线索?

A: I'm trying very hard to preserve the tone of the first edition. I'm revising all the existing items in light of the J2SE 5.0 language changes and everything I've learned since 2001. I'm adding a few more items here and there, plus an entire chapter on generics. Also, I'm slanting the threads chapter toward java.util.concurrent.
我正在努力保持第一版的风格。我正修改的所有已l存在的条目都据于J2SE 5.0语言的变化,以及?001q至今我所学习到的M东西。我正在各处d一些更多的条目Qؓ泛型加入了一整章。ؓ了java.util.concurrent包,我也会对多线E这一章进行倾斜?br />
Q: What are the most interesting or funny reactions you have gotten from readers of Java Puzzlers?
你已l从Java Puzzlers的读者那儿得到的最有趣或最奇特的反应是什么?

A: Well, I got a letter from David Bacon thanking me for the copy I sent him and saying that it was the perfect thickness to raise his monitor up to the correct height. Then he sent me a picture of his intern's monitor with a copy of the book under it. I also thought it was pretty funny when our Japanese translator, Yoshiki Shibata, caught us falling into one of our own traps. It's described here, if you're curious.
我得CDavid Bacon的一信Q感谢我送给了他一本该书,q且说那是一个他的昄器上升达到正高度的理想厚度。后来他递给我一张他的内部显C器囄Q这本书在昄器的下方。我同样认ؓ我们的日文版译者,Yoshiki ShibataQؓ赶上我们而落入了我们自己的一件行李中Q是一件十分有的事情。就描述到这Q如果你感兴的话?br /> 如果q两?闻"真的如我译的那L话,我可真感到惊讶。关于第一件趣事,如果我是该书的作者,我会认ؓ
David的行为是Ҏ的一U极大的讽刺--我的书是用来看的Q不是用来垫昄器的Q关于第二g事Q我认ؓ是Josh?讽刺"(臛_是无恶意的吧)那位可怜的日文译者。不q,老外很开攄Q也许这只是一些^常的"W料"|了?/span>

Q: In June 2004, when you became chief Java architect at Google, you were put in charge of spreading and encouraging the use of Java technology there. How has it gone?
?004q?月,当你成ؓ了Google公司的首席Java架构师,你在那儿p|于推广和鼓励Java技术应用的位置。后来如何了Q?br />
A: Very well indeed. We use the Java platform extensively in many of our products and internal applications. Of course, we use other languages too.
真的非常好。我们在我们的品和内部应用中广泛地使用Javaq_。当Ӟ我们也用其它的语言?br />
Q: Some people may not know that you identified a widespread bug affecting both Java and other languages that had gone unnoticed for half a century. Tell us about it.
有些人可能不知道你发赯一个分布广泛地Bug影响Q包括Java和其它语aQ它已经被忽略达半个世纪之久了。告诉我们一些关于它的事情?br />
A: It wasn't really half a century. A quarter century maybe. And I didn't really identify it -- I propagated it into the Java platform libraries! Someone reported the bug to Sun. I don't know who it was, but I was shocked -- and amused -- by the bug. At Peter Norvig's urging, I wrote it up for the Google research blog. I guess it caused quite a stir in the blogosphere.
真的不是半个世纪Q可能是25q。ƈ且也实不是我发起它?-我只是将它介l到了Javaq_库中。某个h向Sun报告了这个Bug。我不知道他是谁Q但我被q个Bug震惊?-也觉得很有趣。受Peter Norvig的催促,我把它写入了Google的研IBlog。我猜想它在Blog界引起了一阵震动?br />
Q: How do you feel about the open sourcing of the Java platform?
你怎么看Javaq_开源?

A: I think it's a good thing. It goes a long way toward easing the concerns of the open-source and research communities about the legal aspects of working with the platform. In many ways, it's always been a pretty open platform: free access to the source code, heck, even the bug database. But it's nice that Sun has gone all the way.
我认为那很好。在~解开源和研究C֌对工作于q个q_的法律方面的担心已经走过了很长一D\。在许多斚wQ它始终都是一个十分开攄q_Q自q讉K源代码,甚至是Bug数据库。但非常好的是Sun已经完成了所有的工作?br />
Q: What advice would you give to a programmer new to the Java language?
对于一个新接触Java语言的程序员Q你有什么徏议?

A: Write lots of code. Have fun with it! Collaborate with people who are more experienced than you and learn from them. Join an open-source project. Code reviews are a great way to learn. Don't be embarrassed when people find problems in your code. Fix them and have fun watching your code and your skills improve. Oh, yeah, and go buy a copy of Effective Java.
写大量的代码Qƈ以它们ؓ乐。与那些比你更有l验的h一起协作,q向他们学习。加入一个开源项目。代码回是一个很好的学习Ҏ。当别h发现你的代码中的问题Ӟ不必感到尬。修复这些问题,q对于观看你的代码及对你技术的改进而感到高兴。噢Q是的,M一本Effective Java?br />
Q: What do you think is the most inventive use of Java technology?
你认为对于Java技术最具创造性的应用是什么?

A: That's another tough one. I guess you can't go too far wrong with the Mars Rover. I was blown away by the images that it transmitted.
那是另一个棘手的问题。我猜想你不可能像Mars Rover(译注Q美国的火星漫游者飞行器Q它的系lY件用Java~写Q这是Java发展历程中的一件大?那样走得那么q。我为它发射时的画面所們ր?br />
Q: What's the biggest misconception about Java technology?
对Java技术的最大误解是什么?

A: What irks me most is that there are still people who think it's slow. That's ancient history. By J2SE 1.4, the platform was not appreciably slower than traditional compiled languages, and it just keeps getting faster. Both of the last two releases were impressive in this regard. You don't have to touch your program. Just download the new release, and your program will run significantly faster.
最让我感到厌倦的是,仍然有h认ؓJava很慢。那已经很久以前的事了。到J2SE 1.4Ӟq个q_׃炚w不比传统的编译型语言慢了Qƈ且它q在变得更快。最q发布的两个q_在这一点上令h影响深刻。你不用修改你的E序Q只要下载最新的版本Q你的程序就会明昑֜q行地更加快?br />
Q: The Java class that you couldn't live without is...?
你离开׃能活的JavacL...Q?br />
A: I'm going to have to say LinkedHashMap, even if I did write it. It combines the speed of HashMap with the predictability of a sorted map.
我将不得不说是LinkedHashMapQ即使我写出了它。它使用一个排序的映射预览而结合了HashMap的速度?br />
Q: What's your favorite Java technology book?
你所喜欢的Java技术书c是什么?

A: Modesty prevents me from answering this one directly, so I'll plug one of my favorite programming books that isn't specific to the Java language. Anyone who cares at all about bit twiddling should get their hands on Henry S. Warren's Hacker's Delight. It's the Bible of bit twiddling.
谦虚防止我直接地回答q个问题。所以我指出我所喜欢的编E书c之一q不特别关于Java语言。Q何真正关注位q算的h都应该接触过Henry S. Warren?Hacker's Delight"Q它?/span>位运?/span>?圣经"?br />
Another book that every programmer should read is Jon Bentley's Programming Pearls. It's a great book about "programming in the small," as relevant today as when it was first published in 1986.
另一本每位程序员都应该阅ȝ书就是Jon Bentley?Programming Pearls"。这是一本伟大的关于"型~程"的书Q它对今天的价值就如同1986q它W一ơ出版时一栗?br />
Q: Can you describe the process of writing code?
你能描述一下写代码的过E吗Q?br />
A: For me, there are several distinct stages. The hardest part is figuring out what problem I'm really trying to solve. Once I do that, it's usually reasonably straightforward to envision the rough outlines of the solution. Then it's a "simple matter of programming" to make it real, including the tests, of course.
对于我,有几U不同的情况。最困难的部分就是勾d我真正需要去解决的问题。一旦我做到了,常常p相当直接地想像出解决Ҏ的粗略轮廓?br />
Q: What's the next big technology revolution?
下一个大的技术革命是什么?

A: I'm really bad at predicting the future. It's clear that multicore machines will be mainstream in the very near future and that programs will have to change to take full advantage of them. I'm not betting on Software Transactional Memories (STMs) in the near term, but on high-quality multithreaded utilities, such as java.util.concurrent. Oh, yeah, and everything that isn't already on the web will be soon.
在预知未来方面,我真正的很差。清楚地是,在非常近的未来多核机器将成ؓLQ程序将不得不进行改变以充分利用它们。我不是在ؓ软g事务内存(STM)打赌Q而是为高质量的多U程工具c,如java.util.concurrent。噢Q是的,q没有在Web上的每一件东襉K很快成真?br />
Q: What do you see as the most important Java technology API five years from now?
从现在开始的五年中,你将如何看待最重要的Java技术APIQ?br />
A: The core APIs -- java.lang and java.util -- will still be very important. But java.util.concurrent and its offspring will be equally important.
核心API--java.lang和java.util--仍然十分的重要。但是java.util.concurrent和它的后l者将变得同样重要?br />
Q: If you could work on a dream project, what would it be?
如果你能在一个梦想的目中工作,你希望它是什么?

A: A brand-new Java-like language atop the same virtual machine that is not compatible with the Java programming language. Rather than shoving yet more features into this language, I want a fresh start, but I want to leverage much of the work that has already gone into the platform. That means using the same virtual machine and providing some interoperability story with existing libraries.
一个崭新的、与Java怼的语aQ运行在一个相同的但与JavaE序设计语言不兼容的虚拟Z。不要把q些Ҏ挤到这个语a中,我想要一个新的开始。我惛_响大量的已经q入q个q_的工作。这意味着Q用相同的虚拟机ƈ为已有的cd提供交互性功能?br /> 关于Joshua对他所理想的项目的描述Q我非常的迷惑,q段话仍焉要研I?/span>

Q: What recent changes to the platform have made your life easier?
最q这个^台的什么变化你的生活变得更容易?br />
A: I hate to sound like a broken record, but java.util.concurrent. Also java.util.ArrayDeque and NavigableMap. The for-each loop is great, and so are generics, even if they do complicate things somewhat.
我很不喜Ƣ说cM于破记录之类的话Q但对于java.util.concurrent要除外。java.util.ArrayDeque和NavigableMap也是的。For-Each循环很好Q泛型也是如此,即它们做了一些稍微复杂的工作?br />
Q: Where in the process of programming do you have the most fun?
~程中的哪个q程使你最有乐?

A: I enjoy many phases, from requirements analysis to debugging. Each of these phases presents me with brainteasers, and solving these brainteasers is what I like best. But nothing makes me feel better than building a reusable component and seeing it get reused.
我n受于许多的阶D,从需求分析到调试。这些阶D中的每一个都会呈现给我难题,而解册些难题则是我最喜欢的。但没有什么比构徏一个可重用的组件ƈ看到它被重用更让我感到高兴了?br />



Sha Jiang 2007-06-11 08:33 发表评论
]]>
Design Patterns are Code Smells(?http://www.aygfsteel.com/jiangshachina/archive/2007/06/04/121731.htmlSha JiangSha JiangMon, 04 Jun 2007 01:00:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2007/06/04/121731.htmlhttp://www.aygfsteel.com/jiangshachina/comments/121731.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2007/06/04/121731.html#Feedback2http://www.aygfsteel.com/jiangshachina/comments/commentRss/121731.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/121731.htmlDesign Patterns are Code Smells
上个月就在TheSeverSide中看到关?a >q篇文章(实际是一简短的Blog)的消息,当时p得很有趣Q因己正在学习设计模式,故将q篇短文保存了下来。昨天在自己电脑中又看到了此文,手把它翻译了出来?br /> q篇Blog的作者认为大部分设计模式在代码层都是code smellQ在文末评论中有Google Guice目的leader -- Bob Lee的评语。Bob对作者的观点表示了赞同,但也指出框架可以减轻Ҏ式的需要?2007.06.04最后更?

在原始的Gof的书中,作者清楚地指出当你在用设计模式时Q?br />     E序设计语言的选择是重要的Q因为它会媄响某人的观点。我们的模式假设是用Smalltalk/C++语言U特性,q种选择军_了什么容?不容易实?Design Patterns, p.4)?br /> 不幸的是Q这条信息基本上被丢弃了Q程序员们时常将模式当作处方。Martin Fowler解释了区别:
    处方于更加特别Q经常关联于一个特别的语言和^台。甚臛_一些模式需要依赖一个特定的q_Ӟ他们仍试图于用这些模式去解释更加一般的概念?br /> 如果你已l遇C个Java或C#应用E序看v来像C++的处理方式,你就会知道这两个概念的؜合将造成损害?br /> 不管你如何从处方中区分出模式Q你所思考的E序设计语言是你要Z所设计的程序语a。这也就是ؓ什么Prags鼓励每个人每q学习一U新的语a。你仍会ؓ你所知道的这l语aq行设计Q但臛_你将不会没有希望?br /> E序语言提前使模式不能成斏V回?998q_Petter Norvig争论道,大部分的原始Gof模式在Dylan或Lisp中都是无形或单的。之后,Greg Sullivan对Scheme持同L观点。Jan Hannemann也用Java+AspectJ证明了相同的观点。设计模式不能如处方那样发挥良好。它们最多是周期性的?br /> 在代码别,大部分的设计模式都是代码异味(code smells)。当E序员在代码查中看到了设计模式,他们׃滑入到催眠般的熟悉场景中。醒醒!那是一个设计模式,或者说是一个来自腐臭程序语a的失效药方?




Sha Jiang 2007-06-04 09:00 发表评论
]]>
ApachelSun的一公开??http://www.aygfsteel.com/jiangshachina/archive/2007/04/18/111651.htmlSha JiangSha JiangWed, 18 Apr 2007 07:45:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2007/04/18/111651.htmlhttp://www.aygfsteel.com/jiangshachina/comments/111651.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2007/04/18/111651.html#Feedback2http://www.aygfsteel.com/jiangshachina/comments/commentRss/111651.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/111651.htmlApachelSun的一公开?/span>

上周(2007q??0)Q由于不满于Sun所提供的针对TCK的许可证QApache发表了一公开信?br /> q个消息我首先是在TSS上看刎ͼ然后又在Apache上阅M公开信的全文Q觉得很有意思,q译出来了。其实早有朋友翻译了该文q发表了出来Q但我的q篇译文是独立翻译出来的Q而且是本人第一ơ完整地译一文章。所以放在此处,也算是对自己的一个小的鼓励?:-) (2007.04.18最后更?

    ?007q??0日,Apache软g基金会向Sun Microsystems公司发出一如下的信,表达了他们对无力获得一个针对Java SE 5 Technology Compatibility Kit(TCK)的可接受的许可证的关切。Apache Harmony目需要用TCK去证明其自n是否兼容Java SE 5规范Q这也是Sun对Java SE 5规范协议的要求?

    亲爱的JonathanQ?br />     我是Geir Magnusson JrQ也是Apache软g基金?ASF)--一个非赢利性的公益机构--的官员。我负责ASF在Java Community Process (JCP)中的相关事务。同Ӟ我也是Apache Harmony目的副dQƈ在此目中代表ASF?

    ?006q?月开始,ASF已l一直在试着从Sun那里保获得一个可被接受的针对Java SE试工具包的许可证。该试工具包,被称?Java Compatibility Kit"?JCK"QApache Harmony目需要它去证明该目是否兼容Java SE 规范Q这也是Sun的规范协议所要求的。Sun正在提供的JCK许可证通过Ҏ们Y件的用户?应用领域"的限制来强加知识产权的约束?

    q些U束对于我们而言是完全不能够被接受的。根据我下面的解释,q些U束q背?Java规范参与协定(JSPA)"(JSPA是JCP的管理规则,Sun作ؓ~约的签字方也需要遵?的条ƾ。ASF在支持商业软gJ荣的开源Y件生态系l方面有着光荣的历双Ӏ然而,Sun的JCK许可证会防止Sun的商业Java应用成ؓASF开源Y件扩展的一部分。该许可证也会阻止我们的用户在特定领域的应用中用Apache的Y件。这U或明或暗的对知识胦产R犯的行径使得一个hp够越q生态系l中的其它参与者而颠覆商业性的优点。在一个开攄生态系l中Q通过实现一个规范而生的必要知识财要独立于该生态系l中某个成员的特别利益而被保护Q这也是我们拒绝你所提出的条Ƅ基础?

    你的U束q背了JCP的基本保护原则,q些保护原则保了两条:
    a)规范的领D与专家l制定开攄规范Qb)M人都可以实现q些规范Qƈ分发q些实现品,而不必害怕ؓ了实现这些规范需要对规范的领导或专家l成员承担Q?必要的知识胦?的责仅R特别地QJSPAq要求如下:
    1)一个规范的领导者不能向获得许可证的人强加Q何可能限制或U束他们创徏或发行他们的独立实现品的合约性条件或U定?br />     2)一个规范的领导者必dM兼容规范的实现品免费许可所有的"必要知识财"?br /> 你的条款正试囄q这两条要求?

    除了L了Harmony目--一个从2005q就开始的q区领导的ASF开源项?-之外Qؓ了遵从你的合U性义务,q个错误作ؓ开放标准组l的JCP的信誉和作ؓ开放技术Java其本w的名誉|于危险境地。我们相信这也将威胁到通行的商业Java生态系l的合作本性,使Sun与ASF之间长期友好的关p,甚至是Sun与更q大的开源社区的关系Q处于危险境地。而所有的q些都是Java持箋增长的关键?

    除开JSPA的义务,q些限制也违背了Sun的公开承诺Q即M由Sund的规范对于开源或自由软g都是完全可实现的、可发行的。这q用不着提及"完全可实现的"(包括针对JCK)也是规范协议所要求的。最后,Ҏ们的用户在用领域方面的限制也违背了开源Y件协议的基本原则Q因此这些限制将LZ开源协议的发行行ؓQ也包括我们自己的这些行为?br />
    我们对你所提供的协议的拒绝是明而有效的。我们所面对的现状是与JCP基本知识财哲学、作为基于开放标准生态系l的Java、Sun对自由和开源社区的公开承诺、Sun作ؓJSPA中规范的领导者的合约性义务,全面地冲H。JCP被清晰地设计成防止Q何一个单独的参与者去展示它能够控制市场的U序。另外,q也?开?的表意其及内늛反。?开?是Sun所陈述的商业战略中的一个关键元素?

    通过Apache HarmonyQASF在规范的领导者Sun的理解下q出于良好的信念正在实现Java SEQ这实现双赢。我们的目的一直都是创Z个被认证的兼容的Java SE实现Q该实现会在Apache许可证下发行。ؓ了做到这些,我们需要JCK?
    我们希望你在30天内向我们提供一个可被接受的、符合JSPA的许可证Q或者给Z个你们ؓ什么不能那么做的公开解释?br />     我们正期g的回复?br />
    Geir Magnusson Jr.
    VP, Java Community Process
    Apache Software Foundation
    geirm at apache dot org



Sha Jiang 2007-04-18 15:45 发表评论
]]>
~写??http://www.aygfsteel.com/jiangshachina/archive/2006/08/12/63118.htmlSha JiangSha JiangSat, 12 Aug 2006 01:16:00 GMThttp://www.aygfsteel.com/jiangshachina/archive/2006/08/12/63118.htmlhttp://www.aygfsteel.com/jiangshachina/comments/63118.htmlhttp://www.aygfsteel.com/jiangshachina/archive/2006/08/12/63118.html#Feedback0http://www.aygfsteel.com/jiangshachina/comments/commentRss/63118.htmlhttp://www.aygfsteel.com/jiangshachina/services/trackbacks/63118.html阅读全文

Sha Jiang 2006-08-12 09:16 发表评论
]]>
վ֩ģ壺 ±| | ٸ| | | ͳ| ƽ| ຣʡ| | ͭ| | | Ԫ| ˼| ͨ| °Ͷ| | ʤ| | ˮ| | | | Ϫ| | | ̫| ɳ| Ϣ| | | ٹ| ƽ| | ͩ®| ҵ| Ī| | ҵ| Դ| |