﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Jiangshachina-随笔分类-OpenWorld/JavaOne/SunTechDays</title><link>http://www.blogjava.net/jiangshachina/category/27188.html</link><description>同是Java爱好者，相逢何必曾相识！&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;a cup of Java, cheers!</description><language>zh-cn</language><lastBuildDate>Sat, 17 Aug 2013 10:25:31 GMT</lastBuildDate><pubDate>Sat, 17 Aug 2013 10:25:31 GMT</pubDate><ttl>60</ttl><item><title>Oracle OpenWorld 2013(上海)(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2013/08/02/402274.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Fri, 02 Aug 2013 03:50:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2013/08/02/402274.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/402274.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2013/08/02/402274.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/402274.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/402274.html</trackback:ping><description><![CDATA[<div><div align="center"><strong><span style="font-size: 14pt; font-family: Courier;">Oracle OpenWorld 2013(上海)</span></strong></div><span style="font-size: 10pt; font-family: Courier;">Oracle OpenWorld 2013(上海)已经结束，我全程参与了此次技术大会。本文是我参会的所见、所闻、所思与所感，有文，有图，且无码。(2013.08.03最后更新)</span><br /><br /><span style="font-size: 10pt; font-family: Courier;">Oracle OpenWorld 2013(Shanghai) lasted four days, and included over 300 keynotes, sessions and hands-on labs. 18000+ attendees, including company leaders, industries experts and developers, joined the event, which was said the biggest IT activity in Asia-Pacific area as never before.</span><br /><br /><strong><span style="font-size: 12pt; font-family: Courier;">Sessions</span></strong><br /><strong style="font-size: 10pt; font-family: Courier;">* Java strategy/technical keynote</strong><br style="font-size: 10pt; font-family: Courier;" /><span style="font-size: 10pt; font-family: Courier;">Every JavaOne conference must has such keynote, which introduces and demonstrates the latest new JDK versions and features, and prospects upcoming JDK version and features. All parts of Java ecosystem, including JME, JSE, JEE and JavaFX, are involved in the keynote. I was deeply impressed by JavaFX demo by Jim Weaver. The Java champion played musical instruments with a JavaFX application; that's really cool. In this JavaOne, JavaFX has a separated track, and the technology is very highlighted by Oracle. The software giant expects JavaFX to enhance Java's performance on rich application. But outspokenly, it's difficult to take end users to install a JRE beforehand if they just want to run a desktop application.</span><br style="font-size: 10pt; font-family: Courier;" /><img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_05.jpg" height="375" width="500" /> <img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_06.jpg" height="375" width="500" /><br /><br /><strong style="font-size: 10pt; font-family: Courier;">* Why should I switch to Java SE 7?</strong><br style="font-size: 10pt; font-family: Courier;" /><span style="font-size: 10pt; font-family: Courier;">JDK 6 has rested in peace(exactly, the version isn't completely frozen), and JDK 7 has been released for two years, and even JDK 8 will come next March. But do you migrate your JRE to Java 7? Strings in switch statements, diamond operator, try with resources, multi-catch statement, ... Do you like the compiler sugar? Anyway, the features could improve development productivity. But fork-join framework really touches my heart. Because of complete backward compatibility, you just need to run your application in the new platform, and the performance could be accelerated.</span><br style="font-size: 10pt; font-family: Courier;" /><br style="font-size: 10pt; font-family: Courier;" /><strong style="font-size: 10pt; font-family: Courier;"><span style="font-size: 10pt;">* The road to Lambda</span></strong><br style="font-size: 10pt; font-family: Courier;" /><span style="font-size: 10pt; font-family: Courier;">Java has been being criticis</span><span style="font-size: 10pt; font-family: Courier;">ed for implementing modern language features, like closure. The argument around closure implementation has lasted for a long time. Finally, Lambda, the closure for Java, has been finished, and will be distributed with JDK 8. Lambda is regarded as the biggest change since Generics in Java 5. Function Programming (FP) is popular, and Java developers can utilise Lambda expression to apply FP. And JDK 8 extends Collection framework to take advantage of Lambda as powerful as possible. For example, currently we need an iterator or loop to iterate a Collection container, that's so-called external iteration. JDK 8 adds a new method forEach() for Collection interface, and we can iterate a Collection object via internal iteration, that means it's no need to care the iteration details by developers. In fact, it's impossible to debug the iterating process. And the process may apply fork-join if possible to improve performance. That sounds cool!</span><br style="font-size: 10pt; font-family: Courier;" /><br style="font-size: 10pt; font-family: Courier;" /><strong style="font-size: 10pt; font-family: Courier;">* Effective Scala</strong><br style="font-size: 10pt; font-family: Courier;" /><span style="font-size: 10pt; font-family: Courier;">Dynamic programming languages are emerging, and more languages, such as Groovy, Scala and Clojure, can run on JVM, and JDK 7 introduced a new instruction "invokeDynamic" to support dynamic languages better. Therefore, I have to pay some attention to other JVM languages. The session "Effective Scala" was provided by TypeSafe, a company founded by Scala creators; Spring founder Rod Johnson joined the company as member of board of directors last year. The session simulated the style of Effective Java, and also introduced some best practices and coding regulations. Frankly, I don't know Scala syntax, like traits, totally, so I don't understand the lecture exactly. But I still obtained something new, like Cake pattern. Do you know the design pattern? I never hear it before this session, but the pattern is well-known in Scala world. It's time to learn another language, and I think Groovy is a good start-up due to it is closer to Java.</span><br style="font-size: 10pt; font-family: Courier;" /><strong style="font-size: 10pt; font-family: Courier;"><br />* Taobao GCIH</strong><br style="font-size: 10pt; font-family: Courier;" /><span style="font-size: 10pt; font-family: Courier;">Taobao creates GCIH (GC Invisible Heap) based on Oracle VM Hotspot, and allows different VM to access a shared heap. In Taobao business scenario, the shared heap only stores read-only objects. All of the objects are initialized after the application is launched, and not be cleaned before the application shutdowns. Therefore, single VM can consume less memory, that means we can deploy more VMs in single machine. And GCIH cannot be accessed by GC so that reducing the garbage collection overhead.</span><br style="font-size: 10pt; font-family: Courier;" /><br style="font-size: 10pt; font-family: Courier;" /><strong style="font-family: Courier;"><span style="font-size: 10pt;">* What do you mean, backwards compatibility?</span></strong><br style="font-size: 10pt; font-family: Courier;" /><span style="font-size: 10pt; font-family: Courier;">10gen, the company behind MongoDB, presented the topic. Because old MongoDB driver isn't well designed, so it's difficult to understand and use the driver API. For example, the driver has a lot of find() methods, but how do I know which one is my want. According to the session, method chaining not only makes codes more readable, and the idiom benefits the backward compatibility as well. Generally, method chaining only handle one parameter at each invoking, and application codes don't care the sequence of invoking. In this case, it's no need to provide the methods with several arguments, and the methods are possible to be deprecated in later time due to their ambiguity. Of course, method chaining isn't designed for backward compatibility. And applying backward compatibility is still a hard job, because you don't know what would happen in the future. In fact, many and many APIs are deprecated in later JDK versions.</span><br style="font-size: 10pt; font-family: Courier;" /><br style="font-size: 10pt; font-family: Courier;" /><strong style="font-family: Courier;"><span style="font-size: 12pt;">Appreciation Party</span></strong><br style="font-size: 10pt; font-family: Courier;" /><span style="font-size: 10pt; font-family: Courier;">In the third evening, Oracle catered a small but exciting party to every attendee. Beer, snacks, professional band, beautiful girls, hot performances, ... were on the stage. All of performances were shown by Oracle employees, and we just rock!</span><br style="font-size: 10pt; font-family: Courier;" /><img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_07.jpg" height="375" width="500" /> <img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_09.jpg" height="375" width="500" /><br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_11.jpg" height="533" width="400" /><br /><br /><strong><span style="font-size: 12pt; font-family: Courier;">I was on the scene</span></strong><br /><span style="font-family: Courier;">In OTN lounge, I communicated with Jim Weaver and his assistant about JavaFX and UI testing. In this event, my small dream, taking a photo with Java mascot -- Duke, came true </span><span style="font-family: Courier;">^_^ Additionally, don't forget iron man :-)</span><br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/js_01.jpg" height="533" width="400" /> <img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/js_02.jpg" height="533" width="400" /><br /><br /><strong style="font-size: 12pt; font-family: Courier;">Event Organization</strong><br style="font-size: 12pt; font-family: Courier;" /><span style="font-family: Courier;">This is my sixth SunTechDays/OOW, and I must say that the conference was organized the best this time. Professional agenda, considerate attendee service, delicious dessert and drinking, all of them, except for lunch, must be delighted.</span><br style="font-family: Courier;" /><img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_01.jpg" height="375" width="500" /> <img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_02.jpg" height="375" width="500" /><br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_04.jpg" height="375" width="500" /> <img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_10.jpg" height="375" width="500" /><br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_13.jpg" height="533" width="400" /> <img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/oow2013/oow_12.jpg" height="533" width="400" /><br /><strong style="font-family: Courier;">Finally, I must say the event is well worth participating; join it, and enjoy it :-)</strong><strong><br /></strong></div><img src ="http://www.blogjava.net/jiangshachina/aggbug/402274.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2013-08-02 11:50 <a href="http://www.blogjava.net/jiangshachina/archive/2013/08/02/402274.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle OpenWorld 2013(Shanghai) -- Preview(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2013/05/28/399843.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Tue, 28 May 2013 13:56:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2013/05/28/399843.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/399843.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2013/05/28/399843.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/399843.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/399843.html</trackback:ping><description><![CDATA[<div><div align="center"><strong style="font-size: 14pt; font-family: Courier;">Oracle OpenWorld 2013(Shanghai) -- Preview</strong></div><span style="font-family: Courier;">&nbsp;&nbsp;&nbsp; Oracle </span><a href="http://www.oracle.com/events/apac/cn/en/openworld/index.html"><span style="font-family: Courier;">OpenWorld</span></a><span style="font-family: Courier;"> 2013(中国)将在七月的上海举行，日前已发布了是次大会的各个</span><a href="https://oraclecn.activeevents.com/connect/search.ww"><span style="font-family: Courier;">专题讲座</span></a><span style="font-family: Courier;">。本文简介了若干我个人比较关注的主题与讲座，希望其他朋友也能感兴趣。(2013.06.06最后更新)</span><br /><br /><span style="font-family: Courier;">&nbsp;&nbsp;&nbsp; JavaOne hasn't been an independent event since Sun was required by Oracle, the software giant merged the conference with OpenWorld. As a Java developer, I concentrate more on JavaOne than OpenWorld, but I'm interested in some of OpenWorld sessions. I describe my favorite JavaOne and OpenWorld sessions respectively.</span><br /><br /><strong><span style="font-size: 12pt; font-family: Courier;">JavaOne</span></strong><br /><span style="font-family: Courier;">&nbsp;&nbsp;&nbsp; As tradition, every time, there's a keynote or general session about Java present and future. So I think every attendee must focus on "</span><a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=2215"><span style="font-family: Courier;">KEY2215 - Java Strategy / Technical Keynote</span></a><span style="font-family: Courier;">".</span><br /><span style="font-family: Courier;">&nbsp;&nbsp;&nbsp; JDK 6 has rest in peace, and its last update u45 was released last month. And after this February, Oracle will no longer post updates of Java SE 6 to its public download sites. So far, I never touch Java 7 in real world projects. Session "</span><a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=2227"><span style="font-family: Courier;">CON2227 - Why Should I Switch to Java SE 7?</span></a><span style="font-family: Courier;">" may encourage me to switch to JDK 7.</span><br />&nbsp;&nbsp;&nbsp; <a href="http://openjdk.java.net/projects/jdk8/"><span style="font-family: Courier;">Java 8</span></a><span style="font-family: Courier;"> is next major version, and it has delayed for a long time. In this April, Oracle announced this release is rescheduled again due to the guys shifted their focus to </span><a href="http://mreinhold.org/blog/secure-the-train"><span style="font-family: Courier;">security problems</span></a><span style="font-family: Courier;">@_@ Java 8 general available version will be issued in next March. And </span><a href="http://openjdk.java.net/projects/lambda/"><span style="font-family: Courier;">Lambda</span></a><span style="font-family: Courier;"> expression, which is known as the biggest update in Java language since Generics, will be introduced with the new distribution. Sessions "</span><a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=2224"><span style="font-family: Courier;">CON2224 - 55 New Features in Java SE 8</span></a><span style="font-family: Courier;">" and "</span><a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=2241"><span style="font-family: Courier;">CON2241 - The Road to Lambda</span></a><span style="font-family: Courier;">" will glance at the overview and new features of JDK 8.</span><br />&nbsp;&nbsp;&nbsp; <a href="http://oauth.net/"><span style="font-family: Courier;">OAuth</span></a><span style="font-family: Courier;"> is "an open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications". I ever developed an experimental desktop application for Sina Weibo, and the Weibo open API platform is using OAuth as its authorization interface. Session "</span><a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1241"><span style="font-family: Courier;">CON1241 - OAuth 101: How to Protect Your Resources in a Web-Connected Environment</span></a><span style="font-family: Courier;">" will introduce the basis of OAuth protocol and demonstrate how to use the authorization.</span><br /><span style="font-family: Courier;">&nbsp;&nbsp;&nbsp; I really concern application performance. How to profile program, how to find the bottleneck, and how to tune performance, all of them are my core focus. In session "</span><a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1327"><span style="font-family: Courier;">CON1327 - Practical Performance: Understand the Performance of Your Application</span></a><span style="font-family: Courier;">", an IBM guy will use JDK built-in tools (maybe VisualVM) to detect and troubleshoot the performance problems.</span><div><span style="font-family: Courier;">&nbsp;&nbsp;&nbsp; In daily work, we need to process data in parallel, but I have to say our concurrent logics are pretty simple. However we still suffer from some troubles due to abusing, even worse, misunderstanding the concurrent utilities. Session "</span><a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1250"><span style="font-family: Courier;">CON1250 - Implement a High-Level Parallel API in JDK</span></a><span style="font-family: Courier;">" may inspire me in different approaches.</span></div><br /><strong style="font-size: 12pt; font-family: Courier;">OpenWorld</strong><br style="font-size: 12pt;" />&nbsp;&nbsp;&nbsp; Compared with Oracle, I'm more familiar with MySQL, because it's much simpler. But I just work on MySQL simply: simple user management, simple performance tuning, simple data synchronization, simple backup and restoration, certainly, and simple installation and configuration in Linux environment. But...I have left MySQL for several years. How about the dolphin today? Session "<a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1704">CON1704 - MySQL: State of the Dolphin</a>" may give me some answers, and I hope I could recall the days of playing the artifact.<br />&nbsp;&nbsp;&nbsp; At present, NoSQL, Cloud, big data, ... are the hottest words, even though they aren't on my radar, it's necessary to know some basic conceptions on the fields. Therefore sessions "<a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1445">CON1445 - Oracle NoSQL Database and Oracle Database: A Perfect Fit</a>", "<a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1612">CON1612 - Developing Java Applications in the Cloud: Oracle Java Cloud Service</a>", "<a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=2303">CON2303 - Big Data Overview and Oracle&#8217;s Big Data Solution</a>", and "<a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1476">CON1476 - Implementing Big Data Solutions: From Theory to Practice</a>" are accessible 101 lessons for me.<br />&nbsp;&nbsp;&nbsp; OpenWorld gains more attention from Oracle, so it has more tracks. If I have enough time, and the agenda has no conflict, I'd like to listen to other topics, such as "<a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1554">CON1554 - What&#8217;s New for Java in the Latest Generation of Oracle Database Technology</a>", "<a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1452">CON1452 - Advanced Database Performance Analysis with SQL Performance Analyzer</a>", "<a href="https://oraclecn.activeevents.com/connect/sessionDetail.ww?SESSION_ID=1686">CON1686 - Oracle Linux Strategy and Roadmap</a>", ...</div><img src ="http://www.blogjava.net/jiangshachina/aggbug/399843.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2013-05-28 21:56 <a href="http://www.blogjava.net/jiangshachina/archive/2013/05/28/399843.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaOne 2012 Strategy Keynote(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2012/10/06/389103.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sat, 06 Oct 2012 11:26:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2012/10/06/389103.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/389103.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2012/10/06/389103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/389103.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/389103.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;"> </span><div><div align="center"><strong><span style="font-size: 14pt;">JavaOne 2012 Strategy Keynote<br /></span></strong></div><span style="font-size: 10pt;">本文是Oracle官方针对今年JavaOne大会战略主旨演讲的一篇<a href="https://blogs.oracle.com/javaone/entry/javaone_2012_sunday_strategy_keynote">博客</a>，总结了过去一年中Java在不同领域的进展，并展望了其在今后一段时期内的计划。(2012.10.06最后更新)</span><br /><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 周日在Masonic Auditorium举行的战略主旨演讲中，中间件与Java开发的执行副主裁Hasan Rizvi阐述了今年JavaOne的主题：创造Java的未来。这意味着作为最流行的，最完备的，最有成效的，最安全的且最富创新的开发平台，Java仍继续扮演着这一角色。他说到："你们中的许多人已将你们的生意与职业投资到了Java之上，我们也已将我们的生意投资到了Java之上"。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; Rizvi详述了他们认为的Java成功的三个至关重要的因素：技术创新，社区参与，以及Oracle的领导/管理(臭屁*_*)。他提供了过去一年中发生在上述三个方面中的实例：OS X与Linux ARM对Java SE的支持；年底对JavaFX的开源；Java Embedded Suite 7.0中间件平台的发布；Java EE端多个版本的发布。JCP进程还在继续，有了新的JSR活动，去年以来，JUG的参与度与增加了25%。同时，Oracle继续它在技术与社区发展/拓展方面的承诺--去年在世界不同的地方有四场区域性的JavaOne会议，以及Java Magazine的发布，该杂志目前有超过12万的注册用户。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 随后，Java SE开发的副总裁Georges Saab回顾了Java SE 7的特性--这是Oracle管理Java SE以来发布的第一个主版本，它包含差不多每月发布的更新，这些更新修复了数以百计的缺陷，还有性能提升与新特性。Saab指出开发者，独立软件提供商，以及服务提供商们已经很快地适应了这个平台。他也特别提到Oracle的全Fusion中间件产品线已受Java SE 7的支持。支持Java SE 7的平台也有所增加--从Windows，Linux，Solaris到OS X，Linux ARM，以及新兴的ARM微服务器市场。Saab谈到："去年，新增的支持Java的平台数就与过去十年中支持Java的平台数相同"。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; Saab也探讨了即将到来的JDK 8--包括Lambda项目，Nashorn项目(一个运行在JVM的现代JavaScript实现)，及其它。他特别提到，Nashorn的功能已在内部应用于NetBeans 7.3，并宣称他们将把这一实现捐献给OpenJDK。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; Java Client，ME与Card的副总裁Nandini Ramani讨论了与JavaFX 2.0的最新消息--针对Windows，OS X与Linux的发布，FX Scene Builder工具的发布，NetBeans 7.3中的JavaFX WebView组件，以及OpenJDK中的OpenJFX组件。Nandini宣布自周日起可以下载针对Linux ARM的JavaFX(开发者预览版)，针对Linux的Scene Builder也一样可以。她提醒到，针对明年将发布的JDK 8，JavaFX将支持3D，也会支持第三方组件的集成。Navis高级软件工程师Avinder Brar与Canoo院士Dierk Konig随后登台演示了JavaFX的相关特性，该演示程序利用了Canoo刚刚开源的Dolphin技术，其特性丰富，还有不少的动画，是一个实时的货品管理应用。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; Saab还探讨了Java SE 9及更远的未来--Jigsaw模块化，针对与OSGi协作遥Penrose项目，提升Java在云中的多租期(multi-tenancy)，以及Sumatra项目。HSA基金会主席与AMD院士探讨了异构计算平台，这种平台将CPU与并行处理器GPU整合到单个硅片中并共享内存，这是一项受诸如高清视频，面部识别和云工作量等高级功能驱动的硬件技术。Sumatra是OpenJDK中的一个项目，它的目的是将Java引领到异构平台中--针对那些高级应用与平台，硬件与软件专家们一同去修改JVM。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 接下来，Ramani讨论了Java在被称之为"下一代IT革命"嵌入式领域--"Internet"和M2M--中的近况，Java被认为是这一生态系统中的理想技术。上周，Oracle发布了Java ME Embedded 3.2(针对微控制器与低功耗器件)，以及Java Embedded Suite 7.0(一个基于Java SE 7的中间件组件)。Cinterion的战略与市场副总裁探讨了其公司在M2M方面对Java的使用，以及他们最新发布的EHS5，这是世界上最小的可接入3G的M2M模块，运行Java ME Embedded。Hansmaan解释道，Java为他们提供了针对诸多外围设备创建一种"易用的，可伸缩的，一致的，端对端的层"。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; Royal Canadian Mint的首席账务官Marc Brule也探讨了JavaCard在其国家的MintChip电子现金技术中的绝妙应用--该技术可在智能手机，USB设备，计算机，平板电脑或云中进行部署。在这其中，Ramani鼓励开发者们下载并尝试最新的Java Embedded版本。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; Fusion Middleware Development与Java EE开发的副总裁Cameron Purdy总结了企业级领域最新的开发与声明--Java EE 6中更好的开发者生产率(EE 7中还会更好)，平台、提供商之间，甚至云对云的移植性。Java EE 7 SDK的早期版本已能下载了--在GlassFish 4中--其中包含有WebSocket支持，更好的JSON支持，及其它。该版本的最终发布计划是在2013年4月。Nike的用户数字化技术高级总监Nicole Otto探究了其公司受企业级生态系统驱动的Java技术，该生态系统针对所有的体育用品，包括NikeFule加速计量腕带。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 在展望Java EE 7时，Purdy提到了针对EE 8的NoSQL数据库功能，并发工具集(可能在EE 7中)，EE 7和EE 8中的一些Avatar项目，云上的多租期(multi-tenancy)，对SaaS应用的支持，及其它。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 最后，Rizvi介绍出海洋学家Robert Ballard博士，以及National Geographic的Explorer-in-Residence计划--这是Oracle与National Geographic Society慈善关系中的一部分，他们一同资助了K-12海洋科学教育与对话。Ballard因发现铁达尼号的残骸而广为人知，他提供了一段有趣的视频来概述了这种用于诸如深海探索的尖端技术。注意，在他早年，高带宽勘探意味着你必须进入潜水艇，然后"把你的脸贴在窗户上"。现在则是使用在远程进行操控的远程呈现技术--"我把我的Hercules船想像成一个纳美人。当潜入海中，我真地放飞了灵魂"。使用高带宽卫星链接，如此美妙的探索就能出现在智能手机，笔记本电脑或其它平台上了。</span><br /><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; Ballard的团队会与该探索计划中的教育者们一同定期地为学校以及世界上188个国家提供实况与编程服务，这些最棒的技术将激发着下一代的科学家与探索者们！</span></div><img src ="http://www.blogjava.net/jiangshachina/aggbug/389103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2012-10-06 19:26 <a href="http://www.blogjava.net/jiangshachina/archive/2012/10/06/389103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Duke's Choice Award 2012(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2012/10/03/388998.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Wed, 03 Oct 2012 15:08:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2012/10/03/388998.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/388998.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2012/10/03/388998.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/388998.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/388998.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;"> </span><div><div align="center"><span style="font-size: 14pt;">Duke's Choice Award 2012</span></div><span style="font-size: 10pt;">本年度的<a href="https://blogs.oracle.com/javaone/entry/duke_s_choice_award_ceremony">Duke's Choice Award</a>已在JavaOne 2012大会中颁出，值得提及的是，Java之父James Gosling目前所工作的公司也获得了该项大奖。(2012.10.05最后更新)</span><br /><br /><span style="font-size: 10pt;">在周日晚上JavaOne主旨演讲之后，2012年度Duke's Choice Award获得者以及他们创造性的Java技术与Java社区贡献被授予了各自的荣誉。Java技术推广部门总监Sharat Chander出席了颁奖礼。在候选名单的提交与最终获奖者的选择方面都是社区直接参与的，这正体现了我们是如何在Java社区中促进对创新的发掘。</span><br /><br /><strong><span style="font-size: 10pt;"></span></strong><a href="http://hadoop.apache.org/"><strong><span style="font-size: 12pt;">Apache软件基金会</span></strong></a><br /><span style="font-size: 10pt;">Apache软件基金会的Hadoop项目由Java语言写成，它为跨计算机集群的分布式大数据集处理提供了一个框架，这个集群的规模从几个服务器到数千台机器不等。对大数据池的处理使机构能更好地理解并改进他们的业务。</span><br /><br /><a href="http://agrosense.org/"><strong><span style="font-size: 12pt;">AgroSense项目</span></strong></a><br /><span style="font-size: 10pt;">AgroSense是一个由Java和NetBeans平台构建的开源耕作信息管理系统，它的目标是改进耕作方法以养活这个饥饿的世界。AgroSense使农场主，农业综合企业，供应商及其他人能够开发模块化的应用，通过用底层地NetBeans框架，这些应用能方便地进行信息交换。</span><br /><br /><a href="http://jduchess.org/"><strong><span style="font-size: 12pt;">JDuchess</span></strong></a><br /><span style="font-size: 10pt;">与大多数Java用户组(JUG)关注特定地域不同，JDuchess关注于在世界范围的Java社区中培养女性的参与度。该组织在60个国家有超过500个成员，它为女性进行相互联系并参与到Java社区的各个方面提供了一个平台。</span><br /><br /><a href="http://jelastic.com/"><strong><span style="font-size: 12pt;">Jelastic, Inc.</span></strong></a><br /><span style="font-size: 10pt;">向现有Java应用移植到云中是一项令人望而生畏的工作，但Jelastic开始这么干了。Jelastic提供了第一个全Java的平台即服务(PaaS)应用，它允许已有的Java应用在不需要修改或锁定代码的情况就能部署到云中。</span><br /><br /><a href="http://www.liquidr.com/"><strong><span style="font-size: 12pt;">Liquid Robotics</span></strong></a><br /><span style="font-size: 10pt;">Liquid Robotics是一个海洋数据服务提供商，它的Wave Glider技术能够为政府，科研和商业应用收集世界海洋的信息。特别之处是"Java之父"James Gosling是该公司的首席软件架构师。</span><br /><br /><a href="http://londonjavacommunity.wordpress.com/tag/london-java-community/"><strong><span style="font-size: 12pt;">London Java Community</span></strong></a><br /><span style="font-size: 10pt;">今年第二个获得Duke's Choice Award的用户组是伦敦Java社区(LJC)，它的用户在OpenJDK，Java社区进程(JCP)及全球其它Java社区中的贡献使其获得该奖项。</span><br /><br /><a href="http://www.nato.int/cps/en/natolive/index.htm"><strong><span style="font-size: 12pt;">NATO</span></strong></a><br /><span style="font-size: 10pt;">前所未有的社区选择奖给了NATO使用的MASE Integrated Console Environment(MICE)。由Java和NetBeans平台构建的MICE为指挥防空与战场空间处理提供了一个高性能的可视化环境。</span><br /><br /><strong><span style="font-size: 12pt;"></span></strong><a href="http://www.parleys.com/"><strong><span style="font-size: 12pt;">Parleys.com</span></strong></a><br /><span style="font-size: 10pt;">位于比利时布鲁塞尔的E-learning方面的专家Parleys.com使用Java技术将在线班级与完全的IT会议带入到桌面电脑，笔记本电脑，平板电脑及移动设备中。Parleys.com为超过80万独立访问者主持了超过1700场会议--包括Devoxx和JavaOne。</span><br /><br /><a href="http://www.studentnokiadeveloper.com/"><strong><span style="font-size: 12pt;">Student Nokia Developer Group</span></strong></a><br /><span style="font-size: 10pt;">今年的学生奖获得者Ram Kashyap,是Nokia Student Network的创始人与总裁，在今年3-4月期<a href="http://www.oraclejavamagazine-digital.com/javamagazine/20120304">Java Magazine</a>中的"新Java开发者"中有介绍。从创办该项目以来，Ram维护着一个来自于印度班加罗尔PES技术学院的大受欢迎的应用，该应用工作于一个Java移动环境并在Java ME方面对学生们进行培训。</span><br /><a href="http://www.unhcr.org/cgi-bin/texis/vtx/home"><strong><br /><span style="font-size: 12pt;">United Nations High Commissioner for Refugees</span></strong></a><br /><span style="font-size: 10pt;">联合国难民高级事务专员(UNHCR)处在世界各地从内战到自然灾害等危机的前沿。为了有助于促进人道主义救济使命，UNHCR已经开发了一个基于NetBeans平台的轻客户端Java应用。其中的Level One注册工具使UNHCR能够收集关于难民的数量，以及他们的饮用水，食品，住房，健康和其它必要信息，同时与多个来源的地理信息结合在一起，这使得UNHCR能够发出该地区所需的适当类型与数量的援助。</span></div><img src ="http://www.blogjava.net/jiangshachina/aggbug/388998.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2012-10-03 23:08 <a href="http://www.blogjava.net/jiangshachina/archive/2012/10/03/388998.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>推动Java前进--Java Strategy Keynote JavaOne 2011(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2011/10/07/360101.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Fri, 07 Oct 2011 03:51:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2011/10/07/360101.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/360101.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2011/10/07/360101.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/360101.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/360101.html</trackback:ping><description><![CDATA[<div><div align="center"><strong style="font-size: 14pt;">推动Java前进--Java Strategy Keynote JavaOne 2011</strong></div>每年的JavaOne都会发布关于Java未来发展的计划或愿景，在今年的Java Strategy Keynote中，Oracle则向大家描述了将如何推动Java继续前进。<a href="http://blogs.oracle.com/javaone/entry/moving_java_forward_java_strategy">本文</a>是JavaOne2011的官方博文，概述了Java Strategy Keynote中提及的重要内容。(2011.10.07最后更新)<br /><br />&nbsp;&nbsp;&nbsp; 周四的战略主旨演讲展示了Oracle在对待Java投资与创新方面的长期愿景。该议题包罗广泛，涉及技术，合作伙伴，宣言和路线图--从移动与手持设备，到桌面应用，再到云。<br />&nbsp;&nbsp;&nbsp; 早上，先由David Ward开始，他是Juniper Networks平台系统部门的CTO与首席架构师。Ward详述了在云时代开发者们认知并利用可编程的"由软件定义的网络"时代的必要性。Ward探究了直接对网络进行编程的应用接口，告之了它最得意的功能，使用网络设备确定实际的位置/拓扑，终端设备的功能，实时应用的要求，以及其它方面。总之，这些接口定义了一个双向的交互与可编程特性。Ward说道，"来源于网络的是对其拓扑的实时理解，而从应用空间到网络中去的是将通信引导到高效途径中"。<br /><br /><strong><span style="font-size: 12pt;">推动Java前进：三大支柱</span></strong><br />&nbsp;&nbsp;&nbsp; 随后，Hasan Rizvi，Oracle Fusion中间件与Java部门的高级副总裁，简要探讨了"推动Java前进"的三大支柱：正确的技术，Java社区，以及Oracle对Java的领导/管理。在该环节中，Rizvi提供了一个近期里程碑的记录，包括在今年夏天发布的JDK 7，正在开发中的(且由社区深度参与的)Java EE 7，JavaFX 2.0，以及刚刚针对Mac OS X发布的JDK 7预览版。他也提到了IBM，Apple以及SAP成为OpenJDK社区的成员，当然还有其它成员。<br />&nbsp;&nbsp;&nbsp; 然后，Intel的Java技术主管Jason Gartner，RedHat的高级工程主管Mark Little博士，以及Intel的软件工程主管Steven Chin也走上台，加入到Rizvi的演讲中。Gartner宣布，上周发布了<a href="http://www.blogjava.net/jiangshachina/archive/2011/10/04/360010.html">IBM平台上的Java 7</a>，他也提到，尽管Oracle与IBM之间存在竞争关系，但Java平台基于标准的合作本质是它最强大的力量之一。他还稍稍讨论了Java EE 6的开放式开发成果，以及这对JBoss产品的益处。Chin讨论了Oracle与Intel之间的合作，在过去4年中，这一合作致使Java的性能在Intel硬件中提高了14倍。<br /><br /><strong><span style="font-size: 12pt;">延伸Java的触角</span></strong><br />&nbsp;&nbsp;&nbsp; Adam Messinger，负责Java SE与Java ME产品线的副总裁，讨论了延伸Java的触角，以跨越新的应用模型及新的设备类型的目的。一种方法就是通过模块化，这是Java SE 8中的计划。同时，Java 7的Coin项目与Java 8的Lambda项目致力于更高的开发者生产效率。如下的路线图有清晰的描述：<br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2011/slide_15_large_formatted.gif" height="278" width="643" /><br /><br /><img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2011/slide_16_large_formatted.gif" height="278" width="643" /><br /><br />&nbsp;&nbsp;&nbsp; Rob Benso，Twitter的运行时系统主管，随后也与Messinger同台演讲。Benson详述了Twitter在需要一个成熟且有高伸缩能力的技术时，是如何应用Java的。"我们每天要处理大约2.3亿条推特，我们的流API每天要推送大约6TB的数据，并且我们的公共API每天要服务大约13亿个请求。所以我们期望中的运行时环境要能够处理当前及未来的通信量。"Twitter选择了Java，是由于它有一个庞大且充满活力的开源社区。Twitter当场宣布，他们已经加入了OpenJDK，同样也加入了JCP。<br />&nbsp;&nbsp;&nbsp; Messinger重申推进JavaFX在战略上的重要性，JavaFX是Oracle首要的RIA开发环境，它包含对已有Swing应用的交互，以及能进行可视化开发的JavaFX Scene Builder工具。随后，Messinger的同事Nandini Ramani提供了一个实验性的JavaFX游戏的原型，该原型能运行在多种便携设备上--包括Windows，Linux，甚至是Apple iPad。<br />&nbsp;&nbsp;&nbsp; Messinger还宣布了Oracle对JavaFX的开源计划，首先开源的是组件，然后是框架的其它部分。只要OpenJDK社区提出要求，这一开源计划就会执行。另外，他们还计划对JavaFX进行标准化，使它成为Java SE的一个标准组成，这可能要到Java 8之后了。<br /><br /><strong style="font-size: 12pt;">Java移动与嵌入式的三大目标</strong><br style="font-size: 12pt;" />&nbsp;&nbsp;&nbsp; 后来，Messinger谈到Oracle针对Java移动与嵌入式体系的三大目标--在Java SE设备与Java ME设备之间起到桥梁作用(同步CLDC与JDK的版本/聚合CDC与嵌入式Java SE应用)，完整地涵盖嵌入式垂直市场，并在运行时环境与工具方面提供深度的内容与服务整合。这必将导致Java Card技术应用于极小设备，Java ME应用于小的嵌入式环境，而Java SE应用于更大的嵌入式市场。<br />&nbsp;&nbsp;&nbsp; 在真正的嵌入式领域中，ARM的执行副总裁Lance Howarth探讨了"无处不在的计算"的将来。作为制造商随处都使用的32位RISC微处理器(基于ARM的设备已经出厂了610万台)，Howarth预测对于智能计算设备，我们很少意识到，也很少见到把Java作为实现这一设想的关键。对之后，移动手机应用商店GetJar的CEO Ilya Lars探讨他们对移动领域的愿景，以及他们对Java开放标准的提案。<br /><br /><strong style="font-size: 12pt;">Java EE路线图</strong><br style="font-size: 12pt;" />&nbsp;&nbsp;&nbsp; Oracle开发部门的副总裁Cameron Purdy详述了Java EE路线图。Purdy提到Java EE是"企业级应用所依赖的唯一标准开发平台"，这些应用可以跨越不同的社区，不同的软件提供商，以及不同的开源实现。他还讲到Java EE当前是企业级开发者的首选，它已经被下载4000万次了。Java EE的目标是使EE易于开发--在从事往常复杂而费解的任务时，EE会使Java开发者们感到更为自然，同时为下一代企业应用建立了一个开放的，由社区驱动的，且基于标准的平台。他探讨了很多Java EE 7的独创特性，如多租用(multi-tenancy)，按需扩容(capacity on demand)，以及自动提供(auto-provisioning)，这些特性使高级云应用及其平台成为一种服务。<br />&nbsp;&nbsp;&nbsp; 随后，ESPN的Sean Comerford与Purdy讨论了在ESPN.com在当前的企业需求中对Java EE的选择。"Glassfish给了我们相同的性能，但与其它可选技术相比，它还具备高得多的可伸缩性。在处理每秒3000次请求的场景中，对我们的产品部署进行了测试。"对于ESPN，游戏的规则就是可伸缩性，还伴随着未来在任何地方、任何设备上提供服务的潜在可能。<br />&nbsp;&nbsp;&nbsp; 然后，Adam Messinger以对Avatar项目的介绍结束了本场会议。Avatar项目是Oracle针对动态富客户端的混合编程模型，它在浏览器中集成HTML 5作为UI，使Java应用作为控制器与模型，而Java EE 7则在后台的云中--这统一了Java ME，Java SE和Java EE。</div><img src ="http://www.blogjava.net/jiangshachina/aggbug/360101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2011-10-07 11:51 <a href="http://www.blogjava.net/jiangshachina/archive/2011/10/07/360101.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Duke's Choice Award 2011(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2011/10/05/360024.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Tue, 04 Oct 2011 16:13:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2011/10/05/360024.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/360024.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2011/10/05/360024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/360024.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/360024.html</trackback:ping><description><![CDATA[<div><div align="center"><strong style="font-size: 14pt;">Duke's Choice Award 2011</strong></div>JavaOne 2011还在进行中，前日(2011.10.03)，本年度的Duke's Choice Award已新鲜出炉。<a href="http://blogs.oracle.com/javaone/entry/and_the_winners_are_the">本文</a>是JavaOne的官方博客，记录了本次全部获奖应用，大家可以看看这些应用有何高明之处。(2011.10.05最后更新)<br /><br />10月2号，星期日的晚上，在JavaOne Open House，Oracle欢迎并祝贺了2011年度Duke's Choice Award的获得者们。这些睿智的开发者们证明了由Java应用所创造的极致创新能力。<br />获奖者是...<br />1. <a href="http://community.jboss.org/wiki/Arquillian">Arquillian</a>--该项目使基于Java的应用的集成测试得到了简化。它为开发者们提供了一种在远程或内嵌的容器中，或与容器交互的客户端中，测试应用程序的简单机制。<br /><br />2. dooApp--<a href="http://www.dooapp.com/en">Infiltrea</a>是一个使用JavaFX与Java SE平台构建的点对点解决方案，该方案是为环保建筑工程师而设计的，他们的工作是测量建筑物的空气密度。<br /><br />3. <a href="http://www.inductiveautomation.com/">Inductive Automation</a>--Ignition是一个基于Java的Web应用，它包含一个商业记分卡，该卡使用一个中央Web服务器将不同的生产机器集成到一起。该系统涵盖了人机界面(HMI)，管理控制与数据采集(SCADA)，以及生成执行系统(MES)，这使得能够快速地进行项目开发与部署。<br /><br />4. <a href="http://download.oracle.com/javaee/6/firstcup/doc/gcrky.html">jHome</a>--一个用于Glassfish/Java EE的开源的完整家用自动化API，它使开发者能够在家中控制任何器具，例如电灯，LED灯和咖啡机。<br /><br />5. JFrog--它的<a href="http://www.jfrog.com/products.php">Artifactory</a>这是世界上第一个双仓库管理器。它基于Java内容仓库(JCR)API规范构建而成，能够帮助开发者改变通过传递高并发和不匹配的数据完成性来构建并管理软件模块的途径。<br /><br />6. <a href="http://www.zeroturnaround.com/jrebel/">JRebel</a>--这是一个JVM插件，它使得Java开发者能够即时地查看应用中哪些程序发生了改变。它允许开发者跳过构建与重布署阶段，它已经阻止了3900万次重部署了。<br /><br />7. LMAX--<a href="http://code.google.com/p/disruptor/">LMAX Disruptor</a>是一个多线程，开源的高并发编程框架，它是为高性能且低延迟事务处理而设计的。作为LMAX的Java交易系统，LMAX Disruptor替代了java.util.concurrent.ArrayBlockingQueue，而且比它快80倍以上。<br /><br />8. <a href="http://www.rockwellautomation.com/rockwellsoftware/">Rockwell Automation</a>--这是一个开创了下一代，基于Java的HMI设备产品线，该设置将允许自动地对工厂生产线进行数据通信与交换。<br /><br />9. <a href="http://sodbeans.sourceforge.net/">Sodbeans</a>--该项目是一个开源的，基于NetBeans的模块套件，它是为在现代编程环境中改善盲人与外界交流的能力而设计的。这个NetBeans模块套件包含一个新的易用的编程语言，一个使NetBeans兼容多平台屏幕阅读器的文本语音转换引擎，一组为让盲人易于编程而设计的语言特性。<br /><br />10. <a href="http://www.jboss.org/netty">Netty</a>--该项目是一个基于Java的NIO C/S框架，它使得能够快速且方便地进行网络程序的开发。它极大地简化了网络编程，例如TCP和UDP的套接字服务器。</div><img src ="http://www.blogjava.net/jiangshachina/aggbug/360024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2011-10-05 00:13 <a href="http://www.blogjava.net/jiangshachina/archive/2011/10/05/360024.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaOne and Oracle Develop 2010(Beijing)--Day 2(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2010/12/16/340835.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Thu, 16 Dec 2010 12:52:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2010/12/16/340835.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/340835.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2010/12/16/340835.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/340835.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/340835.html</trackback:ping><description><![CDATA[<br />
<div align="center"><span style="font-size: 10pt;"><strong><span style="font-size: 14pt;">JavaOne and Oracle Develop 2010(Beijing)--Day 2</span></strong></span><br />
</div>
<span style="font-size: 10pt;">本文是我参加<a href="http://www.oracle.com/cn/javaonedevelop/index.html">JavaOne与Oracle开发者大会(北京)</a>第二天活动的一些见闻与感受，有图有真相，希望大家能喜欢。(2010.12.16最后更新)<br />
<br />
&nbsp;&nbsp;&nbsp; Day 2？是的，由于我周一比较忙，就没有参加Day 1的活动，所以Day 2才开始参会。不过Day 1的活动是下午才开始的，而且主要与开幕相关，技术专题都还没开始，所以是否参加都无所谓。<br />
<br />
<strong><span style="font-size: 12pt;">1. 赴会</span></strong><br />
&nbsp;&nbsp;&nbsp; 周一确实很忙，加班到半夜，一点钟才回到家中，洗漱完毕后又看了会儿电视，二点钟才睡下。清晨六点，闹钟将我吵醒，挣扎了十分钟后，我还是翻身起床了...吃完了老妈煮的排骨面，我出门了。北京最近正在降温，清早的温度更低，还好穿了一件较厚的羽绒服，呼吸着冰冷的空气，我的精神还不错。<br />
&nbsp;&nbsp;&nbsp; 我住在北五环外闻名京城的某大型"人文"社区，去会议现场--<a href="http://www.cnccchina.com/">国家会议中心</a>，全程只需要坐城铁/地铁就可以了，交通还算方便。但我遇上了早高峰(我平时是坐公司班车，不用挤城铁)，经历了一番艰难险阻(此处省去100万字)之后，我终于"被"挤进了城铁的车厢...又转了两次地铁之后，终于到了奥林匹克公园站，出站后再走上几步就到了此行的目的地--<a href="http://www.cnccchina.com/">国家会议中心</a>。<br />
<span style="font-size: 12pt;"><strong><br />
2. 会场印象</strong></span><strong></strong><br />
&nbsp;&nbsp;&nbsp; 为了防止恐怖分子，进会场之前要安检，包包和身体都被检测了一番。在工作人员的引导下，我进行了会议注册。举办方为每个参会者发了一个黑色的背包，里面装有会议指南，笔记本，水性笔，还有一个水杯。我觉得笔和水杯都太次了;-) 值得提及的是，我在参会之前的抽奖活动中赢得了一个2G版的<a href="http://www.apple.com.cn/ipodshuffle/">iPod Shuffle</a>，参加了多次技术会议，还是第一次中奖:-D<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/ipod.jpg" height="450" width="600" /><br />
<br />
&nbsp;&nbsp;&nbsp; 甫一进入会场，我就感到Oracle的手笔比Sun大多了(不过，咱交的<a href="http://www.oracle.com/cn/javaonedevelop/javaone-register-cn-161000-zhs.html">会费</a>也多了好几倍呢)。整个会场很大，但会场内各处的工作人员也很多，考虑得还是比较贴心的。由于是第一次到国家会议中心，对它的布局一点儿都不熟悉，看着展板中各个主题或技术专题会场的房间代码，我很是有点儿晕，所以举办方设置了多个咨询处，当然，我也可以随时咨询身边的工作人员。<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/hall_01.jpg" alt="" border="0" /><br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/hall_02.jpg" alt="" border="0" /><br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/hall_03.jpg" alt="" border="0" height="450" width="600" /><br />
<br />
<strong><span style="font-size: 12pt;">3. 主题演讲/技术专题</span></strong><br />
&nbsp;&nbsp;&nbsp; 我上午主要就是在大会堂(比人民大会堂小多了)里听了两场主题演讲。首先是Oracle的两位VP，分别介绍了Oracle的最新技术更新情况，软硬件均有涉及。从演讲的内容来看，云计算是重中之重，即所谓的<a href="http://www.oracle.com/us/products/middleware/exalogic/index.html">Exalogic Elastic Cloud Computing</a>，还特别推荐了<a href="http://www.oracle.com/us/products/database/exadata/index.html">Exadata存储服务器</a>，应该也与云计算有关。第二场演讲是神州数码(God，神马就是浮云？！)的老总作的关于数据城市的主题。不得不说，国内老总的官派作风严重，我本来对这个题目就没兴趣，结果这位老总说得又慢又没劲，我没听完就走了。<br />
&nbsp;&nbsp;&nbsp; 下午我仍然听了几场主题演讲，首先是，Oracle软件部的一位高级总监介绍了Java的发展状况。按照以前参加SunTechDays的经验，一般都会有类似的主题。主要就是介绍Java当前有哪些主要的项目，各个项目的发展前景如何，会有哪些特性，计划在什么时候发布。我印象比较深的主要是<a href="http://openjdk.java.net/">OpenJDK</a>，以及其中的<a href="http://openjdk.java.net/projects/coin/">Coin项目</a>，它是关于一些小的Java语言级变化，为了提高劳动生产率。还有<a href="http://openjdk.java.net/projects/lambda/">Lambda项目</a>，它是关于闭包的。原计划闭包会出现在JDK 7中，但现在只可能出现在JDK 8中了。<br />
&nbsp;&nbsp;&nbsp; 听完这个主题演讲后，我就去听了一个技术专题--使用Oracle数据库构建高性能应用程序的最佳实践。我没听到开头，讲师是一位老黑，不知原本是哪国人，英语讲得很蹩脚。我现在只记得几个技术点，大约是说使用连接池，不要用绑定变量，还要使用某种Cache，这样就能提高性能。讲师对自己都很不满意，他在结束时还不好意思地笑着问大家有没有听懂他在说什么。哈哈，还是满可爱的嘛:-D<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/inner_00.jpg" alt="" border="0" /><br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/inner_03.jpg" alt="" border="0" /><br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/inner_05.jpg" alt="" border="0" /><br />
<br />
<strong><span style="font-size: 12pt;">4. 展厅</span></strong><br />
&nbsp;&nbsp;&nbsp; 会场内有一个展示大厅，里面设有Oracle，以及各个会议赞助商的展台。一片嘈杂的景象，我闲逛了一番，但没找到自己感兴趣的东西，只是在其中的网吧里上了会儿网，向公司里的同事发了几封邮件。<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/pavilion_01.jpg" alt="" border="0" /><br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/pavilion_02.jpg" alt="" border="0" /><br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/pavilion_03.jpg" alt="" border="0" /><br />
<strong><span style="font-size: 12pt;"><br />
5. 午餐</span></strong><br />
&nbsp;&nbsp;&nbsp; 举办方为每位参会者准备了免费的午餐(世界上真有免费的午餐吗？)，我们凭每天特定的餐劵进入餐厅吃饭。餐厅很大，可同时容纳数以千记的人吃饭。午餐是自助餐，不得不说，交得会费多，午餐也就会丰盛些。想想以前参加SunTechDays时，午餐就是一份盒饭，既吃不饱，也吃不好。自助餐里中式菜的味道一般，特别是羊排完全没煮烂，每咬一口都要费很大力(绝不夸张)。还好我拿得不多，勉强吃完了，然后又拿了一些水果和甜点，这些还不错。另有咖啡和汤，我就没拿了，不想吃太多。总之，我对午餐表示满意(我这人很好养活的)。<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/2010_02_food_01.jpg" alt="" border="0" /><br />
<br />
<img src="http://www.blogjava.net/images/blogjava_net/jiangshachina/javaone2010/2010_02_food_02.jpg" alt="" border="0" height="450" width="600" /><br />
<br />
<strong><span style="font-size: 12pt;">请关注我的系列博文--<a href="http://www.blogjava.net/jiangshachina/category/27188.html">JavaOne/SunTechDays</a></span></strong><br />
<br />
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/340835.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2010-12-16 20:52 <a href="http://www.blogjava.net/jiangshachina/archive/2010/12/16/340835.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaOne and Oracle Develop 2010 (Beijing)--Preview(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2010/12/12/340183.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sun, 12 Dec 2010 12:55:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2010/12/12/340183.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/340183.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2010/12/12/340183.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/340183.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/340183.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 10pt;">
<span style="font-size: 14pt;">JavaOne and Oracle Develop 2010 (Beijing)--Preview</span></span></strong><br />
</div>
<span style="font-size: 10pt;">
自从<a href="http://www.oracle.com/us/corporate/press/018363">Sun被Oracle收购</a>之后，往常一年一度的SunTechDays就离我们而去了，但它以另一种形式--<a href="http://www.oracle.com/cn/javaonedevelop/index.html">JavaOne与Oracle开发者大会(北京)</a>--回到了我们的身边。本次大会即将在下周开幕，在此之前请允许我先列举一下我个人感兴趣的若干主题。(2010.12.12最后更新)<br />
<br />
<a href="http://www.oracle.com/cn/javaonedevelop/index.html">JavaOne与Oracle开发者大会2010(北京)</a>下周就要与大家见面了，其实与本次会议同时进行的还有Oracle全球大会2010(北京)(大家肯定知道Oracle的<a href="http://www.oracle.com/us/openworld/splash/index.html">Openworld</a>吧)。这两个会议相对独立，可以同时注册，也可以只参加其中任何一个，当然，参会费将有所不同。由于我只参加JavaOne与Oracle开发者大会2010(北京)，故本文中的内容将只涉及这一会议中的相关主题。各个主题的的<a href="https://oraclecn.wingateweb.com/scheduler/eventcatalog/eventCatalog.do">简介</a>我均摘抄自本次会议的官方网站，最后我还会混说几句^_^<br />
<br />
<strong><span style="font-size: 12pt;">1. Java程序设计语言</span></strong><br />
<strong>Coin项目：针对JDK的微小语言变化</strong><br />
&nbsp;&nbsp;&nbsp; <a href="http://openjdk.java.net/projects/coin/">Coin项目</a>旨在通过选择和实施一组微小的语言变化来提高程序员的JDK生产力。Coin项目语言变化包括改进的整数值、字符串转换和尖括号输入。本专题讲座将介绍这些语言变化并演示IDE支持。此外还将讨论通用语言演变的选择过程和标准。<br />
<br />
<strong>JDK 7和Java SE 7</strong><br />
&nbsp;&nbsp;&nbsp; 本专题讲座将展示Oracle工程师和外部人员为JDK 7和Java SE 7开发的一些主要特性。然后将展望一下未来版本的可能特性。<br />
<br />
<strong>在JDK中使用文件系统API</strong><br />
&nbsp;&nbsp;&nbsp; JDK不久将包含一个新的文件系统API，用于解决许多长期存在的问题和java.io.File局限性问题。本专题讲座将介绍该API并说明它可以如何用于：* 访问文件* 控制路径* 复制和移动文件* 处理符号链接* 执行递归操作* 访问文件权限和其他属性* 监控文件系统* 开发自己的定制文件系统* 其他我们将通过实例来说明如何有效使用该API来构建广泛使用文件系统的工具和应用程序。<br />
<br />
<strong>代码签名最佳实践</strong><br />
&nbsp;&nbsp;&nbsp; 代码签名对于开发人员来说极具吸引力，因为它能为Java应用或扩展提供通常没有的更多权限。然而，有时最佳的决策却是不用代码签名，因为这会改善用户体验，并且应用程序可在安全沙盒中自动运行。 本专题讲座将介绍代码签名最佳实践，探讨何时进行代码签名并提供其部署技巧。我们还将介绍使用户能够创建更引人注目的非签名应用程序的新特性以及即将推出的与代码签名相关的JDK特性，例如签名模块。<br />
<br />
<strong><span style="font-size: 12pt;">2. Java虚拟机</span></strong><br />
<strong>Oracle的Java虚拟机战略</strong><br />
&nbsp;&nbsp;&nbsp; 本专题讲座介绍HotSpot和Oracle JRockit这两个通用的Oracle Java虚拟机 (JVM)。讲座将讨论两种实施的优缺点，给出选择建议&#8212;&#8212;特别是采用了Oracle融合中间件产品时，并介绍融合为一个统一JVM的路线图。<br />
<br />
<strong>我的应用程序怎么了：Java虚拟机监控工具</strong><br />
&nbsp;&nbsp;&nbsp; 随着多核系统的广泛使用，开发人员面临着新的问题，如CPU数量增加时性能下降。这些大规模问题往往是由于使用传统调试器和分析器时对局部事件的不可见（缓存丢失、锁定模式等）造成的。本专题讲座将介绍一个新的开发工具，它准确记录并巧妙显示线程、锁、处理器和内存之间的交互。演示将展示如何：* 监控JDK 6、JDK 7和Java实时系统* 使用分布视图来快速识别风险* 在出现特定问题时使用频率视图来探查* 使用调度视图来检查当时究竟发生了什么* 关联这些视图。<br />
<br />
</span><span style="font-size: 10pt;"><strong>垃圾回收流言终结者</strong><br />
&nbsp;&nbsp;&nbsp; 垃圾回收 (GC)
的采用促进了大型企业管理软件可靠性的提高和开发时间的缩短。但GC不是一个魔杖；尽管它可以消除许多种可能的程序员错误，但还有一些其他问题开发人员必
须加以注意在本专题讲座中，我们将对许多GC神话做一个公正的评估：它擅长什么和不擅长什么。尽管本讲座不会直接涉及某一特定产品，但它也值得所有使用
Java及依赖于Java虚拟机的其他语言（如Scala、Jython、Jruby等）编写程序并使用GC的程序员关注。<br />
<strong><br />
如何在Java虚拟机上调优和编写低延迟应用程序</strong><br />
&nbsp;&nbsp;&nbsp; 许多软件应用程序都需要低延迟响应。这些应用程序的许多使用者都希望利用Java SE所提供的开发和部署优势。随着Java虚拟机 (JVM)
的最新发展，许多有低延迟要求的应用程序都可以使用Java
SE来实施。本专题讲座将介绍如何针对这些应用程序和编程结构调优现代JVM，以及可实现低延迟响应的Java SE数据结构最佳实践。</span><br />
<span style="font-size: 10pt;">
<br />
<strong><span style="font-size: 12pt;">3. Oracle</span></strong><br />
<strong>使用Oracle数据库构建高性能应用程序的最佳实践</strong><br />
&nbsp;&nbsp;&nbsp; 本专题讲座将探讨使用Oracle数据库11g构建高性能应用的设计和编码最佳实践，并将涉及数据库访问层。本讲座还将演示Oracle数据库11g工具，如AWR和ADDM，突出它们所提供的卓越的应用程序性能洞察力，并展示这些工具如何在开发周期初期以及应用程序部署阶段帮助识别应用程序的问题。虽然介绍的是Java和C/C++用例，但所述技术还适用于其他语言，如PHP、Ruby、Python和Perl。本专题讲座适合于希望了解如何提升基于数据库的应用程序性能的任何人，无论他们使用何种编程语言。<br />
<br />
<strong>部署一个"隐形"的数据库：Oracle数据库11g第2版</strong><br />
&nbsp;&nbsp;&nbsp; 本专题讲座将详细介绍如何在嵌入式环境中部署具有行业优势的完整数据库。您将了解到如何使用Oracle数据库11g第2版目前提供的可用工具和功能将该数据库嵌入您的应用程序中，使之对最终用户完全透明。本专题讲座还将探讨嵌入式数据库的静默安装、管理和可用性。<br />
<br />
<strong>面向开发人员和DBA的强大Oracle SQL Developer报表</strong><br />
&nbsp;&nbsp;&nbsp; 大多数数据库管理员都有数据库健康检查和查看数据库状态的脚本，而应用开发人员和数据库开发人员则通过运行报表来监控其数据状况和检查其所用的数据库结构。Oracle SQL Developer为检查和查询实例及系统数据提供了一组现成报表。通过应用额外的过滤器，并进行相应的数据排序，可以审查和调整数据展现表格。本专题讲座将向用户展示如何利用这些报表和支持数据表格的特性。您将了解如何自建报表，包括图形化显示、主从报表、传递参数和钻取功能。<br />
<br />
<strong>使用内存数据库技术的高性能SQL应用程序</strong><br />
&nbsp;&nbsp;&nbsp; 本专题讲座将就Oracle TimesTen内存数据库和Oracle内存数据库高速缓存的产品功能进行技术讨论和演示。了解如何使用JDBC、ODBC、.NET、OCI、 Pro*C和PL/SQL等标准SQL和数据库API来显著提高应用程序响应速度和吞吐量。本专题讲座将揭示如何使用内存数据库高速缓存网格有效扩展应用程序，从而扩大事务吞吐量和高速缓存数据的有效尺寸。对于需要利用易于理解和广泛使用的数据库API来最大限度地提高新应用程序和现有应用程序性能的数据库开发人员，本专题讲座是最佳选择。<br />
<br />
<strong>使用内存数据库技术的高性能SQL应用程序</strong><br />
&nbsp;&nbsp;&nbsp; 本专题讲座将就Oracle TimesTen内存数据库和Oracle内存数据库高速缓存的产品功能进行技术讨论和演示。了解如何使用JDBC、ODBC、.NET、OCI、 Pro*C和PL/SQL等标准SQL和数据库API来显著提高应用程序响应速度和吞吐量。本专题讲座将揭示如何使用内存数据库高速缓存网格有效扩展应用程序，从而扩大事务吞吐量和高速缓存数据的有效尺寸。对于需要利用易于理解和广泛使用的数据库API来最大限度地提高新应用程序和现有应用程序性能的数据库开发人员，本专题讲座是最佳选择。<br />
<br />
<strong><span style="font-size: 12pt;">4. MySQL</span></strong><br />
<strong>MySQL 5.5版中性能和可伸缩性的增强 </strong><br />
&nbsp;&nbsp;&nbsp; 本技术专题讲座深入探讨了MySQL服务器和InnoDB 1.1插件中新增的性能特征。其中包括对多核系统获得的可伸缩性的详细介绍。<br />
<br />
<strong>MySQL性能调优最佳实践</strong><br />
&nbsp;&nbsp;&nbsp; 了解如何只利用MySQL附带的工具进行MySQL的基本调优。了解如何对连接进行调优以及选择最佳存储引擎，了解如何分析MySQL服务器的关键统计数据。本专题讲座是一个技术讲座，但无需具备MySQL经验。<br />
<br />
<strong>MySQL的战略：下一步计划是什么？</strong><br />
&nbsp;&nbsp;&nbsp; 本讲座将介绍MYSQL社区、产品和战略的最新信息，探讨MYSQL如何与Oracle全面、开放且集成的战略相一致。结识领先的MySQL开发者，了解MySQL的下一步开发计划。<br />
&nbsp;&nbsp;&nbsp; <em>笔者：由于Sun被Oracle收购后，MySQL就很自然地落入了Oracle的袋中，从那时起，整个社区对MySQL的前景就执悲观态度。MySQL算是我最熟悉的主流数据库了，但也很长时间没太关注了，这次就顺便听听Oracle将如何安排MySQL的命运。</em><br />
<br />
<strong><span style="font-size: 12pt;">5. Embedded/Mobile</span></strong><br />
<strong>我的朋友在哪里：Java ME定位API实践</strong><br />
&nbsp;&nbsp;&nbsp; 在本上机操作中，参会者将创建一个使用Java平台微型版(Java ME)定位API的移动应用程序，以跟踪其朋友的位置并在地图上显示。此外，该移动应用程序还支持朋友之间的文本消息传递，并会在地图上显示他们以及他们的照片和名字。本专题讲座适合希望了解如何将应用程序的内容与应用程序用户的当前位置进行捆绑的开发人员。参会者将了解：- 如何使用Java ME定位API- 如何在Java ME应用程序中使用谷歌地图服务- 如何使用Java ME通用连接框架- 如何使用可视化工具来设计应用程序的流和UI。<br />
</span><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; <em>笔者：我一直都没关注过嵌入式或移动类应用，但现在这样的应用越来越普遍了，身边不少同事与朋友也在使用iPhone，或基于<a href="http://www.android.com/">Android</a>的智能手机，这都显示出手机应用的巨大市场潜力。而基于位置的移动应用也是方兴未艾(玩过<a href="http://foursquare.com/">Foursquare</a>吗？)，所以我这次也想去试试水。不过遗憾的是，这次没有<a href="http://www.android.com/">Google Android</a>的相关主题，难倒还是由于Oracle对Google的侵权诉讼？！大家还是应以和为贵。</em></span><br />
<span style="font-size: 10pt;">
<br />
<strong><span style="font-size: 12pt;">6. 杂想</span></strong><br />
&nbsp;&nbsp;&nbsp; 当年Sun被Oracle收购时，我还颇有几分感慨。无论是Java程序设计语言，还是<a href="http://www.sparc.org/">SPARC</a>处理器，以及<a href="http://hub.opensolaris.org/bin/view/Main/">Solaris/OpenSolaris</a>，在技术上都是同类中的佼佼者，但在商业上都未能成功。在软件方面，作为Java的创造者，Sun从Java中获得的收益不如IBM，还不得不开源了它的主要软件产品(如<a href="http://hub.opensolaris.org/bin/view/Main/">Solaris</a>，<a href="http://www.netbeans.org/">NetBeans</a>)，甚至于Java也被迫开源了--<a href="http://openjdk.java.net/">OpenJDK</a>。而在硬件方面，Sun的服务器，SPARC处理器也是曲高和寡，市场占用率很低。<br />
&nbsp;&nbsp;&nbsp; 此外，对Java发展有重要贡献的人物，如<a href="http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683">Effective Java</a>的作者<a href="http://en.wikipedia.org/wiki/Joshua_Bloch">Joshua Bloch</a>，Java之父<a href="http://nighthacks.com/roller/jag/">Games Gosling</a>，也相继离开了Sun/Oracle。回想当年，我第一次参加SunTechDays(JavaChina 2005)时，还有幸与Games Gosling有一张合影。可惜，在Oracle举办的会议中也许就再也看不到这位和蔼的大胡子老爹了;-(<br />
<br />
&nbsp;&nbsp;&nbsp; 由于工作原因，我不会参加明天(2010.12.13)下午的开幕式，不过明天下午的专题本来也很少，所以不参加也关系不大。我会为每一天的参会经历写一篇博文，记录自己的所见，所闻，所思，所感，还会附上图片，请大家持续关注。<br />
<strong><span style="font-size: 12pt;"><br />
请关注我的系列博文--<a href="http://www.blogjava.net/jiangshachina/category/27188.html">JavaOne/SunTechDays</a>。</span></strong><br />
<br />
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/340183.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2010-12-12 20:55 <a href="http://www.blogjava.net/jiangshachina/archive/2010/12/12/340183.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Tony Printezis和Raghavan Srinivas插话Java的未来(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2010/09/22/332661.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Wed, 22 Sep 2010 14:24:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2010/09/22/332661.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/332661.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2010/09/22/332661.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/332661.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/332661.html</trackback:ping><description><![CDATA[<div align="center"><span style="font-size: 10pt;"><strong><span style="font-size: 14pt;">Tony Printezis和Raghavan Srinivas插话Java的未来</span></strong></span><br />
</div>
<span style="font-size: 10pt;">这是Oracle<a href="http://blogs.oracle.com/javaone/">官方JavaOne博客</a>中的<a href="http://blogs.oracle.com/javaone/2010/09/rock_stars_tony_printezis_and_raghavan_srinivas_chime_in_on_the_future_of_java.html">一篇</a>，介绍了两位Java Rock Start--Tony Printezis和Raghavan Srinivas对他们所感兴Java主题的看法。(2010.09.22)<br />
<br />
我逮到了两个JavaOne Rock Start，Oracle的Tony Printezis，以及以不断探索新知识而闻名的Java技术布道者Raghavan Srinivas，让他们谈谈关于Java和JavaOne的事儿。<br />
<br />
我向Printezis，垃圾收集和Java方面的领导性专家，询问今年的JavaOne如何。<br />
"对于JavaOne而言这是重要的一年，它有了一个新的九月时间点，三个新会场，一个新主人。但尽管有了这些变化，它仍然保持了早前的宗旨，即让人们喜欢从该领域的顶级专家那儿学习Java平台的最新开发技术。所以，尽管有了这些改变，我坚信与会者们会发现会议内容仍如往年那样富有教育性的，有用的，且是高质量的。另外，JavaOne与OpenWorld共用同一会场也将给予会者们机会去利用这两个活动，这会使他们在San Francisco的旅程更有价值。"<br />
<br />
那么Java平台的现状如何？<br />
"很明显地，2010年是有重大变故的一年，这不可避免地会影响到我们每天的工作与进步。然而，Oracle已经承诺会继续发展和投资Java平台。所以，尽管有过去数月中我们所遇到的混乱情况，我们仍会像以前那般创劲十足地继续创新和改进Java平台。"<br />
<br />
Java开发者应该关心的趋势是什么？<br />
"对于使其它语言能运行JVM上的工作我都感兴趣。这些语言都能方便地与Java进行交互(毕竟都是Java字节码！)，这一事实为开发者提供了许多有趣的机会。使用最适合的语言去编写系统的每一个部分，并且所有部分都运行在同一个最高水准的JVM上，也使得在跨语言边界时能够做到最好，这样不是很好吗？"<br />
<br />
我问到他在周四的议程，"垃圾收集终结者"，这是一个很受欢迎的主题，会占用整个上午。在下午，他还会提供另一个议程。<br />
"多年来，我一直在向顾客和开发者们介绍GC。我当时很快就有这样的印象，很多伙计们对GC能做什么和不能做什么存在着误解。事实上，我们已收到许多建议GC进行改进的要求，但这些要求毫无道理。所以，我和我的合作演讲者John Coomes就想给出一个演讲来帮助听众们去澄清如此多的误解。"<br />
<br />
Tony也给出了一个关于在HotSport Java虚拟机中进行性能调优的议题<br />
"这是我和Charlie Hunt在去年JavaOne中相同主题的后续演讲。我们在开始这个演讲时就声明'GC调优是一种艺术，我们不能给出一种通用的秘方来教你怎么去做。'今年我们还将这么做。我们提出了一个方法学，应该可以适应很多不同的情况。我们也收到了来自于Jon Masamitsu，GC组的技术领导，的许多有用信息。这需要大量的工作，所以我希望能向大家展示它。希望听众们会发现这个演讲会很有帮助，也希望这个演讲像去年那样受欢迎。"<br />
<br />
Q：你想看到GC在未来如何发展？<br />
A：更大的内存，更佳的延迟情况，更多的垃圾！<br />
<br />
<strong>关于垃圾收集的八个神话</strong><br />
出于好奇心，此处有一个GC神话的列表，Tony将在周四曝出来：<br />
<br />
&nbsp;&nbsp; 1. 引用计数GC将解决我所有的延迟问题。<br />
&nbsp;&nbsp; 2. Malloc/free将总是比GC表现的更好些。<br />
&nbsp;&nbsp; 3. 一旦对象变得不可及，就应该立即调用finallizer方法。<br />
&nbsp;&nbsp; 4. 垃圾收集将消除所有的内存泄露。<br />
&nbsp;&nbsp; 5. 由于我知道某些重要对象已不及了，如果我显式地消除分配给这些对象的内在，生活将会变得更好些。<br />
&nbsp;&nbsp; 6. GC既可以给我非常高的吞吐量，也能给我非常低的潜伏期。<br />
&nbsp;&nbsp; 7. 在应用程序的关键部分我需要使GC停止工作。<br />
&nbsp;&nbsp; 8. 在系统中，我能使用GC所编写的任何东西，我也可以使用malloc/free去编写。<br />
<br />
Raghavan Srinivas，Sun Microsystems公司中多年的Java技术布道者，在关于技术的发展方向方面有些东西要说。<br />
我让他告诉我们下一个大的技术革新会是什么。<br />
"Hadoop和NoSQL运动。Hadoop是一个Apache开源项目，它基于代码的转移及数据的本地化，使你不必处理数据延迟。当要处理当今企业生产和消费的TB甚至PB级数据时，这会很有帮助。它为了开发者们提供了一个非常简单的基于Map/Reduce的范式，并且这个框架隐藏了分布式数据加载，数据复制等等方面的大部分底层复杂度。如果你熟悉Peter Deutsh的计算谬论，你就能发现这些谬论已经困扰着许多分布式系统了。新的框架解决了许多这样的问题。对于云计算，这是一个极好的基础架构。公司，无论大小，已经采用了这些技术，而最初的热情让我记住了Java。"<br />
<br />
<strong><span style="color: red;"><span style="font-size: 12pt;">祝大家中秋佳节愉快:-)</span></span></strong><br />
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/332661.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2010-09-22 22:24 <a href="http://www.blogjava.net/jiangshachina/archive/2010/09/22/332661.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>NO Sun Tech Days 2009(China)!!!(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2009/10/22/299328.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Thu, 22 Oct 2009 04:20:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2009/10/22/299328.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/299328.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2009/10/22/299328.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/299328.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/299328.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 10pt;"><span style="font-size: 14pt;">NO Sun Tech Days 2009(China)!!!</span></span></strong><br />
</div>
<span style="font-size: 10pt;">今年的Sun科技日(中国站)将无法举办，<a href="http://developers.sun.com/events/techdays/locations.jsp">最新一届Sun科技日</a>将在2010年4月29-30日举行。(2009.10.23最后更新)<br />
<br />
&nbsp;&nbsp;&nbsp; 在每年的下半年，都会举办Sun科技日(中国站)，但今年的Sun科技日却迟迟没有任何消息。由于Sun被Oracle收购的原故，一直担心以后再也不会有Sun科技日了(JavaOne正处于这样的猜测与争论之中)。幸运地是，Sun科技日还将举办下去；不幸地是，我今天上午刚刚确认了，今年中国站的Sun科技日将会缺失，最新的一次的Sun科技日将会在2010年4月29-30日举行。我猜想，这应该是由于Sun被收购造成了Sun科技日的不确定性，而当决定仍然举办时，已经无法在今年年内安排好会议了。从<a href="http://developers.sun.com/events/techdays/locations.jsp">最新日程表</a>来看，受影响的国家和地区不仅仅是中国，实际上2009年下半年只有巴西的圣保罗能举办Sun科技日。<br />
&nbsp;&nbsp;&nbsp; 一心等着今年的Sun科技日，看到这样的结果，只能说是悲喜参半。这其中掺杂着我对Sun科技日，Java，甚至是Sun Microsystems的一些私人情感，究其原因，无非我是一名Java开发者，特别是一位真心想学好Java，用好Java的开发者罢了。Sun Microsystems已经有了新的归宿，现在只希望Java的明天仍能美好，这也算是我的一点点私心吧。
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/299328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2009-10-22 12:20 <a href="http://www.blogjava.net/jiangshachina/archive/2009/10/22/299328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java Store, Q&amp;A(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2009/07/05/285528.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sun, 05 Jul 2009 01:48:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2009/07/05/285528.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/285528.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2009/07/05/285528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/285528.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/285528.html</trackback:ping><description><![CDATA[<div align="center"><span style="font-size: 10pt;"><strong><span style="font-size: 14pt;"><a href="http://weblogs.java.net/blog/joshy/archive/2009/06/the_java_store.html">Java Store, Q&amp;A</a></span></strong></span><br />
</div>
<span style="font-size: 10pt;">在今年的JavaOne中，比较重要的议题之一就是Java应用商店。目前还没机会亲身体会一下这个商店，但我至少认为Java应用商店为广大Java程序员提供了一个新的展示自我的平台。Please show yourself! (2009.07.05最后更新)<br />
<br />
Java Store是JavaOne中最重大的消息之一。我格外为之骄傲，因为在过去的几个月中我一直秘密地为其工作。由于这一消息，我收到了一大堆关于该商店的问题，以及如何将它与Java生态系统中的其它部分相关联。出于对已极佳的<a href="http://java.sun.com/warehouse/reference/faq/">FAQ</a>的补充，我想应该再回答一些问题。<br />
<strong><br />
简约概括一下你所宣布的消息</strong><br />
我们已经发布了Java Store的私有Beta版，是一个桌面的客户端应用，它允许大家浏览并购买桌面Java应用；还有一个Java仓库的开放Beta版，为了分发应用程序，开发者们可将这些应用程序上传到这个仓库中。现在你就可以登录并浓度一下这个<a href="http://www.java.com/en/store/index.jsp">商店</a>和<a href="http://java.sun.com/warehouse/">仓库</a>。目前，这个商店和仓库只针对美国用户，很快将有更多的国家能够使用。<br />
<br />
<strong>我可以使用除JavaFX之外的其它语言来做用于Java Store的程序吗？</strong><br />
是的！不仅仅是Java和JavaFX，所有基于JVM的语言都是允许的。记住，最终用户并不关心你的应用是用什么语言写的。他们只关心你所做的应用是有用的，看起来和用起来都很好。<br />
<br />
<strong>商店中的应用程序有哪些限制？</strong><br />
查看<a href="http://java.sun.com/warehouse/reference/faq/">FAQ</a>，可以得到全部的细节，但简要的回答是：任何的JVM语句；必须面向消费者；(目前)小于50M；必须是未签名，或使用有效认证的签名。在该商店商用之前，所有的应用都是免费的，商用之后你就需要付费。此处包含的细节很少，但这些都是基本的。<br />
<br />
<strong>何时才允许我贩卖应用程序？</strong><br />
我们将尽快。商店还未开张。但最终，你不会拥有一个货架空空如也的商店。这就是为什么我们要给你们，开发者，时间去准备好你们的应用。当我们向商用开放这个商店时，你就能够标上价格并开始售卖了。<br />
<br />
<strong>顾客将如何找到我的应用程序？</strong><br />
你在JavaOne大会上看到的桌面客户端只是第一个版本。我们已在努力工作，向商店加上新的特性，这将使得顾客们找到你的应用。将有诸如查找，过滤，排序和评论之类的新特性。最后，Java Store将会随Java发布，这就使得你的应用能被近百万人发现。<br />
<br />
<strong>移动和TV应用将会怎样？</strong><br />
Java Store实际包含两个方面。店面是一个桌面客户端程序，它使你能够购买桌面应用。还有一个Java Warehouse，这是你，即开发者，存放待售应用程序的地方。在未来，还会增加针对电视和移动应用的店面，可能会carrier branded。你所存放应用程序的Java Warehouse将为所有的这些店面提供服务。桌面应用只是令人激动的第一步罢了。<br />
<br />
<strong>现在商店里都哪些应用了？他们来自于何处？</strong><br />
我们与许多伙伴公司一同工作为这个商店构建新的应用，以及修改已有的应用程序。我个人的最爱是Astronomy Picture of the Day，由位于俄勒冈州Eugene的一个名为<a href="http://www.concentricsky.com/">Concentric Sky</a>的公司创建的。这个程序与NASA的太空图片相连接，能使你浏览以前的图片，阅读图片说明，甚至还能使用Google Translate将文本翻译成其它语言。请看Concentric Sky的CEO在他们的博客中<a href="http://www.concentricsky.com/">对Java Store和JavaFX的描述</a>。<br />
<br />
<strong>为什么开发者们不能在其它国家登录？什么时候才能允许我们在其它国家贩卖应用程序？</strong><br />
我们将尽可能快的在其它国家开放这个商店。国际贸易要比你所想象的还要复杂的多(作为一个工程师，我感到十分的吃惊)。每个国家在税率，私有权和商业方面都有不同的法规。现在我们有法律和商业方面的伙记们在这些问题而工作。当前，我们计划在2010年的早些时候实现这一目标，但是如果我们能做得更快些，那一定会告诉你。<br />
<br />
为了使消息更清晰，我们让Jeet Kaul，Java的高管之一，作一些解释：(点击观看) <br />
<a href="http://blogs.sun.com/webmink/entry/tweetswoop_us_only_java_store"><img src="http://weblogs.java.net/blog/joshy/javastore/SafariScreenSnapz024.png" alt="SafariScreenSnapz024.png" border="0" height="239" width="418" /></a><br />
如果你有任何关于Java Store的问题，请发邮件给我，或者在我们的反馈页面中提交你的评论。<br />
<br />
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/285528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2009-07-05 09:48 <a href="http://www.blogjava.net/jiangshachina/archive/2009/07/05/285528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Duke's Choice Award 2009(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2009/06/04/280026.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Thu, 04 Jun 2009 08:42:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2009/06/04/280026.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/280026.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2009/06/04/280026.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/280026.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/280026.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 10pt;"><span style="font-size: 14pt;">Duke's Choice Award 2009</span></span></strong><br />
</div>
<span style="font-size: 10pt;">在一年一度的JavaOne中，总会选出几个当年度最具代表性、创造性的Java应用，今年当然也不能例外。就在昨天，2009年度的<a href="http://java.sun.com/javaone/2009/articles/2009dukeschoiceawards.jsp">Duke's Choice Award</a>新鲜出炉了，我相信其中的一些应用大家也会很感兴趣的。(2009.06.08最后更新)<br />
<br />
每年，Duke's Choice Award委员会将邀请Java社区的成员提名得到认可的最好且最具创新性的<a href="http://java.sun.com/">Java</a>应用。委员会的领导小组--包括James Gosling，为人熟知的Java技术之父--会根据这些基于Java的应用和服务的创造性来选出其中的优胜者。现在在它的第七个年头里，委员会认可了2009年度Duke's Choice Award的胜出者们，由于他们酷炫的工具，技术和产品。<br />
今年，该委员会在如下领域中给出了10项大奖：<br />
# 终身成就奖：金Duke奖<br />
# 最佳桌面游戏<br />
# Java无处不在!<br />
# Java技术在开发者解决方案中<br />
# Java技术在教育领域中<br />
# Java技术在环境领域中<br />
# Java技术在网络解决方案中<br />
# Java技术工具<br />
<strong><br />
终身成就奖：金Duke奖<br />
<a href="http://www.lincvolt.com/">LincVolt, Perrone Robotics</a></strong>
<br />
使用新方法来添加燃料，19.5英尺长，2.5吨重的1959款林肯大陆敞篷汽车已处于创新的领导地位了。LincVolt轿车寻找清洁的汽车动力技术，并完全不需要在路边加油。这项令人鼓舞的项目由一些最受人尊敬的技术，包括Java技术，所支撑。Perrone Robotics是这项空前构想背后的助力，该公司致力于利用开源技术创建跨越平台和软件的机器人技术。可在JavaOne的<a href="http://java.sun.com/javaone/2009/activities.jsp#Playground">Change (Y)our World Playground</a>中观看LincVolt。<br />
<br />
<strong>最佳桌面游戏</strong><br />
<strong><a href="http://www.jagex.com/">Runescape, Jagex, Ltd.</a></strong><br />
Jagex, Ldt.已成为在线视频游戏行业中的领导者，它创建了世界上最大的大型多人在线游戏(MMOG)之一，Runescape。从2001该项目启动开始，Runescape已成为全球最大的MMOG之一，并完成了一个支持高清游戏的引擎。同时，Jagex, Ltd.还启动了游戏门户网站<a href="http://www.funorb.com/">FunOrb.com</a>，该站点为所有类型的客户提供奇妙的基于Java技术的游戏。<br />
<br />
<strong>Java无处不在!<br />
</strong>
<a href="http://www.terracotta.org/web/display/orgsite/Whats+New+Terracotta+3.0"><strong>Terracotta 3.0</strong> </a><br />
Terracotta 3.0为将基于Java的应用程序部署到所需众多的计算机中提供了一种廉价且方便的方法，该方法同时确保了高可用性和高扩展性。由于减少了部署时间，Terracotta极大地减少了支撑Web应用所需要的运营和资金成本。Terracotta 3.0已应用众多跨行业领域，例如旅游，游戏，金融服务，通信，健康服务和社会化网络。因为Terracotta使用Java技术，如果你知道Java，你就知道Terracotta。<br />
<br />
<strong>Java技术在开发者解决方案中<br />
<a href="http://www.reportmill.com/">DataBox, ReportMill Software, Inc.</a></strong>
<br />
来自于ReportMill的软件，DataBox，是一个即时的Java应用程序构建工具，它提供你所需的一切以便捷地创建及部署基于Java技术的应用。从创建数据库表到设置应用程序表单和报表，DataBox能够在任一浏览器中部署Applet应用。原本常常需要多种工具，广博技术和大量时间的程序部署，在使用DataBox后将会很快完成。<br />
<br />
<strong>Java技术在教育领域中<br />
<a href="http://www.alice.org/">Alice 3, Carnegie Mellon University</a></strong>
<br />
由卡内基-梅隆大学的学生们创建的Alice是一个one-of-a-kind项目，它帮助孩子们学习复杂的Java程序设计语言及其语法，并能带来无穷乐趣。3D动画提供可视化的自然的程序，以帮助学生们理解程序的执行，并捕捉由程序产生的逻辑错误。由Electronic Arts捐赠的，来自于Sims 2.0的成果为学生们提供了许多角色，场景和高水平的动画，以创建电影和游戏，这些将成为富有刺激的环境和充满活力的体验。可在JaveOne的<a href="http://java.sun.com/javaone/2009/activities.jsp#Playground">Change (Y)our World Playground</a>中访问到卡内基-梅隆大学的该团队。<br />
<br />
<strong>Java技术在教育领域中<br />
<a href="http://www.wpi.edu/">Worcester Polytechnic Institute</a></strong>
<br />
伍斯特理工学院(WPI)，美国最历史最悠久、最具领导性的理工学院之一，寻找一种方法来应用在教室中所学到的知识以去影响社会，并改善其他人的生活。这就是WPI全体教师的一项使命，他们教育具有天赋的学生们为每个人去创造，发现和传播知识，并展示知识如何用于日常生活中。使用像Java和 NetBeans这样的开源软件，WPI发起了<a href="http://first.wpi.edu/FRC/index.html">FIRST Robotics竞赛</a>，该竞赛旨在于帮助高中年龄段的年轻人们发现工程化生活是如何的有趣、有益。<br />
<strong><br />
Java技术在环境领域中<br />
<a href="http://www.sealite.com.au/">Unique GSM Modules With Java Technology, Sealite Company</a></strong>
<br />
Sealite公司创建的产品只需要很低的电能，使用的是太阳能，并通常只需要很少甚至不需要任何维护。Sealite最负盛名的创新就是一种独一无二的使用Java技术的基于GSM移动电话的监控与报警系统。该系统允许用户监控一种适用于特制SIM卡的航标灯，每个SIM卡都有一个特定的编号，无需离开海岸就能检查这些航标灯。该GSM监控与报警系统能从全球任何地方提供实时的信息。这种低成本和高度集成的系统降低了维护与运营成本，并提高了航行的安全性。<br />
<br />
<strong>Java技术在网络解决方案中<br />
<a href="http://www.ndsatcom.com/en/">
The NetBeans Satellite Tracking System, ND SatCom Network Management Systems</a></strong>
<br />
在卫星网络与系统行业有着超过25年经验的ND SatCom公司已成长为该领域的领导性公司之一。ND SatCom公司针对国防网络的网络管理系统，由1116个NetBeans平台模块组成，它基于一个符合国际标准的、开放的，层次化的架构。系统管理模块作用于系统层次的网络计划，资源管理和配置管理，同时该系统可由多个网络组成。NetBeans卫星跟踪系统由大约一百万行手写代码，三百五十万行生成的代码，超过十万行用于元器件通信的C++代码和超过1000个NetBeans模块组成。<br />
<br />
<strong>Java技术在开源社区中<br />
<a href="http://www.mifos.org/">
Mifos</a></strong>
<br />
基于Wbs的管理信息系统Mifos利用一个中央化的开源技术平台去帮助小额金融机构(MFI)高效地为穷人提供金融服务，并对抗全球性的贫困。为了满足数百万人对金融服务的需要，MFI需要一个可靠且可扩展的系统--<a href="http://java.sun.com/javase/">Java SE 6平台</a>。作为一个健壮而成熟的程序设计语言，它还拥有着世界范围的忠实且睿智的开发者社区，Java SE 6帮助Mifos构建一个社区驱动的平台，使技术赋予穷人力量，以使他们自己摆脱贫穷。由于这个由相关个体参与，协作，创造和采用的社区，Mifos选择了开源技术，同时也为透明性，高品质性，弹性和长效性提供了空间。<br />
<br />
<strong>Java技术工具<br />
<a href="http://www.atlassian.com/software/clover/">Clover, Atlassian</a></strong>
<br />
Clover是一个Java代码覆盖工具，它拥有测试级别的洞察力，即时IDE反馈，交互式报表和测试优化。除了覆盖率之外，Clover通过识别项目风险及速效来深入到用户的测试中。Clover可识别特定的测试以覆盖代码中的不同行，也能识别执行哪些测试去覆盖所作的特定改变。由于可集成到IDE中，你不废吹灰之力就能利用Clover洞察测试的能力了。<br />
<br />
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/280026.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2009-06-04 16:42 <a href="http://www.blogjava.net/jiangshachina/archive/2009/06/04/280026.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>注册JavaOne(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2009/04/15/265870.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Wed, 15 Apr 2009 14:43:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2009/04/15/265870.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/265870.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2009/04/15/265870.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/265870.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/265870.html</trackback:ping><description><![CDATA[<p align="center"><strong style="font-size: 14pt;">注册JavaOne</strong><br />
</p>
<span style="font-size: 10pt;">今年的<a href="http://java.sun.com/javaone/">JavaOne</a>已经开始接受注册了，<a href="http://blogs.sun.com/jag/">Games Gosling</a>向大家发出了<a href="http://blogs.sun.com/jag/entry/sign_up_for_javaone">邀请</a>... (2009.04.16最后更新)<br />
<br />
&nbsp;&nbsp;&nbsp; Sun的Java同仁们为今年的<a href="http://java.sun.com/javaone/">JavaOne</a>大会再次做好了充分的准备。提交的论文很惊人：它们将会贡献内容格为丰富的技术议程。Java EE 6将是企业级方面的主要看点。Swing和JavaFX则将无处不在。嵌入式领域会继续更有趣的事情：<a href="http://www.lincvolt.com/">LincVolt</a>将会出现在一堆酷炫的电子器件中。<br />
&nbsp;&nbsp;&nbsp; 我知道经济处于混乱，好像世界正在溶化，但JavaOne是一个很好的机会，使你能够置身其外，过一个奇客的假期。来加入我们吧！<br />
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/265870.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2009-04-15 22:43 <a href="http://www.blogjava.net/jiangshachina/archive/2009/04/15/265870.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sun Tech Days 2008 -- Photos(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2008/11/23/242122.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sun, 23 Nov 2008 14:37:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2008/11/23/242122.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/242122.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2008/11/23/242122.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/242122.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/242122.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 14pt;"><strong>Sun Tech Days 2008 -- Photos</strong></span><br />
</strong></div>
<span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 今年Sun科技日会场的一些照片，大家可以浏览一下。(2008.11.23最后更新)<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 虽然报名参加了今年的Sun科技日，但由于工作的原因，实际上没有亲临现场，所以这次就不能把自己的所见，所闻，所思，所感呈现给大家了:-(<br />
&nbsp;&nbsp;&nbsp; 当得知周六也无法参会时，就让一位朋友拿着我的门票去参加了最后一天的会程，拍了一些照片，算是弥补了一点儿小小的遗憾吧。大家有兴趣的话，可以看看...噢，请关注可爱的小Duke(这是我亲手拍的*_*</span>)<br />
<img alt="STD 2008" src="http://farm4.static.flickr.com/3160/3049660317_4a2822e107.jpg?v=0" /><br />
<br />
<img alt="STD 2008" src="http://farm4.static.flickr.com/3150/3049660347_4305f86246.jpg?v=0" /><br />
<br />
<img alt="STD 2008" src="http://farm4.static.flickr.com/3073/3049660285_a27561d653.jpg?v=0" /><br />
<br />
<img alt="STD 2008" src="http://farm4.static.flickr.com/3247/3049660271_f8bfe0f0bb.jpg?v=0" /><br />
<br />
<img alt="STD 2008" src="http://farm4.static.flickr.com/3247/3049660235_b8195c9772.jpg?v=0" /><br />
<br />
<img alt="STD 2008" src="http://farm4.static.flickr.com/3247/3049660209_d8cac8e88d.jpg?v=0" /><br />
<br />
<img alt="STD 2008" src="http://farm4.static.flickr.com/3008/3051696767_e025713b1a.jpg?v=0" /><br />
<br />
<img alt="STD 2008" src="http://farm4.static.flickr.com/3276/3051696773_7f5bd0c815.jpg?v=0" /><br />
<br />
<img alt="STD 2008 - Duke" src="http://farm4.static.flickr.com/3022/3051775669_6351f096fd.jpg?v=0" /><br />
<br />
<img alt="STD 2008 - Duke" src="http://farm4.static.flickr.com/3152/3051775683_de998c9a6d.jpg?v=0" /><br />
<br />
<span style="font-size: 12pt;"><strong>&nbsp;&nbsp;&nbsp; 也请关注我的系列博文--</strong><a href="http://www.blogjava.net/jiangshachina/category/27188.html"><strong>JavaOne/Sun Tech Days</strong></a><strong>。</strong></span><img src ="http://www.blogjava.net/jiangshachina/aggbug/242122.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2008-11-23 22:37 <a href="http://www.blogjava.net/jiangshachina/archive/2008/11/23/242122.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sun Tech Days 2008 -- Preview(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2008/11/16/240784.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sun, 16 Nov 2008 03:06:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2008/11/16/240784.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/240784.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2008/11/16/240784.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/240784.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/240784.html</trackback:ping><description><![CDATA[<div align="center"><span style="font-size: 10pt;"><strong style="font-size: 14pt;">Sun Tech Days 2008 -- Preview</strong></span><br />
</div>
<span style="font-size: 10pt;"><strong style="font-size: 14pt;">
</strong>&nbsp;&nbsp;&nbsp; 一年一度的<a href="http://www.suntechdays.cn/">Sun Tech Days</a>(STD)又将开幕了，本文简介了本届STD中我所期待的若干主题，有兴趣的朋友可以浏览一下。(2008.11.16最后更新)<br />
<br />
&nbsp;&nbsp;&nbsp; 虽然已经报名了(前几天刚拿到门票)，但今年最终是否能够参会，还要看是否有时间(刚换了新工作，任务比较重，还要学习很多新知识)。如果能够如愿参加，那么这将是我连续第四年参加STD了(也很不容易啊^_^)，关于以前的参会情况，大家可以看看我的系列博文<a href="../../jiangshachina/category/27188.html">Sun Tech Days</a>。<br />
&nbsp;&nbsp;&nbsp; 世界在不断地变化，...，说到这里，先插几句题外话。在刚开始动笔写这篇文章的时候，从<a href="http://www.theserverside.com/">TSS</a>上看到<a href="http://www.theserverside.com/news/thread.tss?thread_id=51863">Sun裁员6000人</a>的消息，这也算是一种变化吧。不过也没什么特别的，很正常的商业行为(特别是在当前经济气候下)。言归正传，Java在过去的一年中也有了新的进展，但我学识浅薄，不可能对其进行深入地分析与总结，不过对于自己感兴趣的几个方面还是有些了解的，每年STD的主题自然也与这些新技术或新进展密不可分。<br />
&nbsp;&nbsp;&nbsp; <strong>Java SE 6 Update 10</strong><br />
&nbsp;&nbsp;&nbsp; 在经过了"漫长"地等待之后，就在前不久，<a href="http://java.sun.com/javase/downloads/?intcmp=1281">Java SE 6 Update 10</a>(曾名Consumer JRE，Java SE 6 Update N)终于正式发布了。对于新鲜出炉的Update 10，STD自然不会放过，今年就有一个名为"Java SE 6 Update 10和配置"的技术session。我一直在关注Update 10，也在关注桌面应用，希望这次能好好听听。之前也写有两篇相关的文章--<a href="../../jiangshachina/archive/2008/10/17/234849.html">Java SE 6 Update 10发布了</a>和<a href="../../jiangshachina/archive/2008/07/14/214703.html">下一代Java Applet插件技术</a>，大家也可以看看。<br />
<br />
&nbsp;&nbsp;&nbsp; <strong>JavaFX</strong><br />
&nbsp;&nbsp;&nbsp; 由于十分喜欢Java桌面开发，所以对JavaFX也有几分兴趣，但一直没有体验过。JavaFX的发展似乎并不如人意，较为缓慢，与其它的主流RIA技术相比，真不知道它最终会有多少市场份额。这次会有一个"<em>RIA使用JavaFX</em>"的主题，正好该时段也没有其它中意的session，那就听听它好了。<br />
<br />
&nbsp;&nbsp;&nbsp; <strong>MySQL</strong><br />
&nbsp;&nbsp;&nbsp; 数据库永远都是我最关注的领域之一，而且<a href="http://www.mysql.com/">MySQL</a>正是我最喜欢、最擅长的数据库。Sun在今年年初收购了MySQL(还好年初就收购了，如果到了下半年，Sun肯定就没那么多钱了，世界真是瞬息万变啊)，虽然这与Java没有直接的关系，但仍然值得Java人兴奋一下。"<em>MySQL: Web 2.0数据库</em>"，这个主题应该是吸引人的。另，今年没有<a href="http://developers.sun.com/javadb/">Java DB</a>的主题，略感遗憾。不过，如果仍然像前两年那样，只是简介一下Java DB，而且内容基本相同，那确实也没必要再要这个主题了。<br />
<br />
&nbsp;&nbsp;&nbsp; <strong>Comet</strong><br />
&nbsp;&nbsp;&nbsp; 之前对Comet知之甚少，但经常看到这个名词。有人说它是下一代Ajax技术...，但我是不懂了，那就去听听吧。<br />
<br />
&nbsp;&nbsp;&nbsp; <strong>Java性能</strong><br />
&nbsp;&nbsp;&nbsp; 程序的性能总是大家最关心的问题之一，我也不例外。希望这次能在"<em>提高Java性能</em>"这个session中学习到一些窍门 *_*<br />
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/240784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2008-11-16 11:06 <a href="http://www.blogjava.net/jiangshachina/archive/2008/11/16/240784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Rock Star 2008 -- Chet Haase(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2008/06/01/205180.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sun, 01 Jun 2008 13:02:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2008/06/01/205180.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/205180.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2008/06/01/205180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/205180.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/205180.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 10pt;"><span style="font-size: 14pt;">Rock Star 2008 -- Chet Haase</span></span></strong><br />
</div>
<span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 这是一篇在今年的JavaOne会议期间<a href="http://java.sun.com/javaone/sf/2008/articles/rockstar_chethaase.jsp">对Chet Haase的访谈</a>。关注Swing，Java 2D的朋友，对这位图形/UI开发方面的大牛肯定不会陌生。很高兴在不久前由他与Romain Guy合著的<a href="http://www.china-pub.com/39895">Filthy Rich Clients一书的中文版</a>已经出版了^_^ (2008.06.01最后更新)<br />
&nbsp;&nbsp;&nbsp; 祝大家六.一国际儿童节愉快！愿大家都能保持一颗年轻的心*_*<br />
&nbsp;&nbsp;&nbsp; <span style="color: #ff0000;">特别祝地震灾区的小朋友们节日快乐，愿他们在今后的岁月中能够幸福地成长:-)<br />
</span><br />
简历：<a href="http://graphics-geek.blogspot.com/">Chet Haase</a>是Adobe公司Flex SDK组的高级计算机科学家，他关注于图形问题及特性。早些时候，他工作于Sun Microsystems公司，是Desktop Java组的一名客户端软件架构师，涉及形如Java 2D，Swing，AWT和部署这样的客户端技术。他与Romain Guy一起是<em>Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications</em>一书的合著者。在2008 JavaOne大会中，他和Guy有一个关于Filthy Rich Client的议题。<br />
<br />
</span><span style="font-size: 10pt;">Q：若干月前，你出版了<a href="http://www.filthyrichclients.org/">Filthy Rich Clients</a>一书。关于它，开发者们应该知道些什么？<br />
A：有四点：第一，它涉及的特性丰富的功能，能帮助开发者创造更好的应用和更好的用户体验。第二，它有许多关于Swing和Java 2D的内幕，以便开发者不仅能理解我们写的功能，还能理解这些技术本身，他们就能使用这些技术去写出他们自己的功能了。第三，它是一本有趣的读物，至少我们努力去做到这一点。最后，在<a href="http://www.filthyrichclients.org/">本书的站点</a>上，可获取所有的示例和工具类库，包括源代码。<br />
<br />
Q：在Sun的Java Client组工作了8年之后，你在2008年的1月份离开了，并加入了Adobe。告诉我们你所从事的工作。<br />
A：我加入Flex组，从事与图形有关的工作--这没什么奇怪的。在目前为止，我主要专注于相关的平台：Flex，Flash，AIR，MXML，ActionScript3。对于某个在过去8年多的时间中一直从事于Java方面工作的人来说，有很多东西需要学习。同时，在全组为下一版的发布而对某些组件进行重新构架的工作中，我已在帮忙了。开始时，我关注动画方面。<br />
<br />
Q：周三下午5点，在Metreon，有一个Adobe的活动。到时你会与James Ward有一个简短的演讲。告诉我们关于它的一些情况。<br />
A：那会很有趣。James Ward将给出Flex平台的一个简介，包含如何编写与Java后台交互的Flex客户端程序。而我--也可能是我的合著者Romain Guy--将展示一些"Filthy Rich" Flex应用示例。这些示例关于如何使用Flex去实现我们在书中谈到的功能。使用Flex去实现的方法会不同，但你可以使用该平台去达到非常相似的功能。任何感兴趣的人都应去Adobe的展台，然后获取一份邀请。<br />
<br />
Q：是什么吸引你去开发图形软件？<br />
A：我喜欢从我的程序中得到可视化的反馈。当它正常工作时，你可以在屏幕中看到结果。当它坏掉了，你也能看到它在屏幕中不正常的样子。与调试某些隐蔽的数据库事务相比，这更能让我满足。还有，图形能够将我的数学背景结合到我的软件背景中。计算机图形学使用了从线性代数到三角函数到几何学再到微积分学的许多技术。使用数学在屏幕上显示美妙的图片，与我所处的数学领域能做的多数事情相比，这更加有趣。<br />
<br />
Q：对于那些想以做图形软件作为职业的人，你有什么建议？<br />
A：应用你所需要的数学课程。并不需要高级的知识，但以我已做过的很多软件来看，我着重学习了线性代数，及其一定的微积分学。<br />
<br />
Q：对于新接触Java程序设计语言的程序员，你会给出什么建议？<br />
A：不使用行号。不要把你的整个应用放在一个方法中。相信垃圾收集器能做好它的本职工作。<br />
<br />
Q：哪种产业已经准备开始大规模履行在Web服务方面的承诺？<br />
A：摔跤。当WWF(世界摔跤联合会)在万维网(World Wilde&nbsp;Web)上使用Web服务时，网络别名就将是wwwwwfws。<br />
<br />
Q：能描述一下你写代码的过程吗？<br />
A：我会试着在脑海中收集素材，可能会将一些不成熟的想法写在小纸片上，这样我之后就不用再去找了。这一机制中的某些观念将来会用得上。然后我开始写原型。<br />
我在一些书中看过一种理想化的方法，你将整个系统--API，或随便什么--以简短方法和注释的形式进行描述，然后你所要做的就是填充细节。也许真的有人用这种方法写代码，但我尚未遇到。<br />
很多软件是研究性项目，在那里并不清楚什么是可能的或需要做的细节是怎样的。所以当我快要知道我想达到的什么时，我会开始写一些代码以找出接下来要做的工作以及如何去做。<br />
<br />
Q：你创造的最让你感自豪的代码是什么？<br />
A：<a href="https://timingframework.dev.java.net/">Timing Framework</a>。这个类库增补了一项我在Java SE中见到的空白--Java SE缺乏有用的定时-动画特性。然后基于我们自己的或其他人给我们的需求，Timing Frame有机地发展起来。<br />
我也对Filthy Rich Clients中的所有代码感到十分自豪。这些代码示例意在向人们展示如何去完成一些特定的任务，但像简单执行的代码一样，作为教程而写成的这些代码也便于教学。<br />
<br />
Q：下一次大的技术革命是什么？<br />
A：香蕉电话。水果兼具通信元件与营养小吃的功能。<br />
<br />
Q：在此之前的五年内，你认为最重要的Java API是什么？<br />
A：没有什么比System.out.println更有用的了？<br />
<br />
Q：你能给我们一个优美代码的例子吗？<br />
A：这儿就有一个：<br />
&nbsp; 10 print "fart"<br />
&nbsp; 20 goto 10<br />
<br />
Q：如果你想向Santa Claus要一个<a href="http://www.netbeans.org/">NetBeans IDE</a>的新插件，那会是什么？<br />
A：<a href="http://www.adobe.com/devnet/actionscript/articles/actionscript3_overview.html">ActionScript3</a>的编辑器，如何？<br />
<br />
Q：当你感到困惑时，你会做些什么？<br />
A：拿一支笔和一张纸，然后思考着这个问题。也会散散步，或者与某个人一起讨论这个问题，或者换一杯咖啡--也许没什么帮助，但味道不错。<br />
<br />
Q：Java平台最近的什么变化使你的生活变得轻松些？<br />
A：我发现<a href="http://java.sun.com/javase/downloads/index_jdk5.jsp">J2SE 5.0</a>的一些语言变化，像新的for循环，很有用。<br />
我用过一些泛型以简化Timing Framwork API，虽然我知道泛型的真正好处是让用户泛型化API，而不是让开发者在他们自己的代码中使用泛型。<br />
<br />
Q：Swing开发者需要理解的最重要的东西是...？<br />
A：在沾手之前，先关掉食品加工器。<br />
<br />
Q：你认为Web 2.0的最大技术障碍是什么？<br />
A：有太多的框架用于"Web 2.0"应用。特别是在Ajax世界，很难知道从哪儿开始、继续或结束。从某种程度来看，一个开发者的脑海中只会中意最有可能流行的框架。可能更应该写作"Web Too"，即，"太多的选择"。<br />
<br />
Q：你是否是网络开发者社区的一位正式成员？<br />
A：我并不处在某个特定的社区内，但在我关注的开发领域内，我是一位经常写作的<a href="http://graphics-geek.blogspot.com/">博客</a>。我认为拥有伟大的类库是吸引开发者群的重要组成部分。<br />
但是向开发者们解释应该如何使用这些类库，以及使用特定的、合适的例子去展示这一点，则是另一个同等重要的部分。<br />
<br />
Q：图形软件应该如何溶入Web 2.0的画卷中？<br />
A：就我理解，Web 2.0是关于在浏览器中的更好、更动态的用户体验。不论你使用何种框架，这种体验都意味着丰富的图形与功能。甚至只是简单的如，动态地将购物商品拖入购物车，或使用有趣的图形技术在页面上使某个元素淡入淡出，这样的功能。<br />
<br />
Q：你如何看待开源软件？<br />
A：我认为开源软件很伟大，但并不是由于人们可能设想到的原因。当人们听到一个项目是开源的，他们可能猜测有一大批来自世界各个角落的人们在帮助这个项目，向其中塞入代码，并以这种松散的方式进行协作。<br />
我见过的大多数开源项目已较少关心人人贡献了，而更多的是关心源码库的透明性以及来自开发者的广泛反馈。多数的公司和人可能更关心的是，他们能够看到黑箱中的东西，然后会建议进行适当的改进，而不会是实际地去做这些改进，也不会使自己亲自加入到项目中。<br />
所以，就像我的Timing Framwork所获得的好处，并不是大家直接地向它提交代码，而是大家能够去看它是如何工作的，然后与我讨论怎样去改进它，以去适应他们的特定情形。<br />
Java和Flex SDK都是开源。不论选择加入的人的水平如何，我希望它们都能从社区的参与中获益。<br />
<br />
Q：大家知道你在博客中写有滑稽和诙谐的东西。你是否认为幽默与滑稽能保持你作为一个开发者的敏锐、自由与创意。<br />
A：是的，就是那样。这就是我那样做的原因。<br />
不，我这么做其实也没有什么理由。我只是喜欢博得一笑罢了。然而我也知道，如果人们都睡着了，你就不能教他们了。<br />
所以，使一次讲演具有趣味性，与使其信息丰富一样重要。我见过十分乏味但内容很好的讲演，但一般来说，对于越活跃的讲演，大家越能记住它，也越想再听一次。<br />
这同样适用于文章：为了使你的观点具有穿越性，如果你能使用一些有趣的比喻或词汇，就比只是在他们面前弄一些代码和方程式，更有机会使你的读者们继续看下去。<br />
<br />
Q：能与我们分享两个你最喜欢的奇客<sup>[1]</sup>笑话或故事吗？<br />
A：我不能保证他们是我最喜欢的或是最好笑的，但至少它们都很新--在本周才把它们帖到我的博客中--也很奇客：<br />
&nbsp;&nbsp;What do you call it when a chip manufacturer loses money?<br />
&nbsp;&nbsp;A cash miss.<br />
<br />
&nbsp; What do you call someone that has to use a dull web application?<br />
&nbsp;&nbsp;Bored to tiers.<sup>[2]</sup>
<br />
<strong style="font-size: 12pt;">译注</strong><br />
[1]奇客，Geek，指性格奔放甚至怪僻，擅长计算机的人。<br />
[2]由于对这两则笑话的"本质"尚未领悟，所以暂不翻译。<br />
<br />
<strong><span style="font-size: 12pt;">请关注上一篇译文：<a href="http://www.blogjava.net/jiangshachina/archive/2008/05/31/204939.html"><span style="font-size: 10pt;"><strong></strong></span><strong>Rock Star 2008 -- Joshua Bloch</strong></a></span></strong></span><strong></strong><img src ="http://www.blogjava.net/jiangshachina/aggbug/205180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2008-06-01 21:02 <a href="http://www.blogjava.net/jiangshachina/archive/2008/06/01/205180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Rock Star 2008 -- Joshua Bloch(译)</title><link>http://www.blogjava.net/jiangshachina/archive/2008/05/31/204939.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Sat, 31 May 2008 15:39:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2008/05/31/204939.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/204939.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2008/05/31/204939.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/204939.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/204939.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 14pt;">Rock Star 2008 -- Joshua Bloch</span><br />
</strong></div>
<span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 这是一篇在今年的JavaOne会议期间对<a href="http://java.sun.com/javaone/sf/2008/articles/rockstar_joshuabloch.jsp">Joshua Block的访谈</a>。作为闻名的Java guru，大家已经从Joshua的<a href="http://java.sun.com/docs/books/effective/"><em>Effective Java</em></a>，<em>Java Collection Framework</em>，...中获益了。相信，Joshua Block在访谈中的一些真知灼见，仍然会使大家受益良多。(2008.06.02最后更新)<br />
<br />
<strong>简历</strong>：Joshua Block，Google公司的首席Java构架师，曾为Sun Microsystems公司的杰出工程师，由于<em>Effective Java Programming Language Guide</em>一书，他获得了<em>Software Development Magazine</em>极富盛名的Jolt大奖。在Sun公司时，他领导设计并实现了众多的Java平台特性，包括JDK 5.0的语言升级以及获奖的Java集合框架。他拥有卡纳基-梅隆大学计算机科学博士学位，目前还是<em>Effective Java, Second Edition</em>的作者。<br />
<br />
Q：你和Brian Goetz将会有一个名为"撰写下一本伟大的Java技术书籍"(BOF-6588)的议题。写一本伟大的Java书籍需要做些什么？<br />
A：这要看实际情况。你可以以书籍的形式介绍那些之前还没有被介绍过的重要知识，就如Brian Goetz和Tim Peierls 在<em>Java Concurrency in Practice</em>一书中所做的那样。或者，你也可以写一部对现有资料的原创讲解，使它能被所有未接触过Java的人所接受，就如Kathy Sierra和Bert Bates在<em>Head First Java</em>一书中所做的那样。你也可以先弄一大堆资料，然后提炼出其中的精华，就像Peter Sestoft在<em>Java Precisely</em>一书中做的那么出色。这还可以接着说下去。<br />
Q：对于你写的<em>Effective Java</em>，开发者经常告诉我，那是他们最喜欢的Java技术书籍。你将二次贡献名为"More 'Effective Java'"(TS-6623)的议题，在那儿，你将谈论Java平台新近的最佳实践。让我们先了解一点儿它的情况。<br />
A：我正在收集新出现在该书第二版中的素材。去年，我花了大量时间在谈论泛型，所以今年我仍将重点关注它，我确实有一个新的期望能够分享的泛型小窍门。<br />
我也将介绍一些关于enum类型的有趣素材，并有一个针对延迟初始化的最佳实践的简明指导。是的，我还计划展示我们州长年轻时的一张祼照<sup>[1]</sup>。<br />
<br />
<strong style="font-size: 12pt;">一天的生活<br />
</strong>Q：描述一下你在Google的一天中的生活。<br />
A：那是个工作的好地方。我与许多来自世界各地的聪明人一起工作，那儿不缺乏挑战性的工作去做。 Google理解开源以及回馈社区的重要性，所以他们一直支持我在Java平台方面的持续工作。额外的好处就是他们因此而获得的好名声。<br />
Q：你在Google吃的最好的一餐是什么？<br />
A：嗯...可能是两年前在Cafe 7吃的烤鹌鹑？或者可能是在Pinxto吃的Shiro Maguro Sashimi？有些饮品也是很棒的。<br />
Q：这些食物真的很好吃吗？<br />
A：是的。我不是说在那儿我就没吃过差的食物，但总的来看，确实很好。<br />
<br />
<strong style="font-size: 12pt;">将"Bloch"作为动词</strong><br />
Q：如果你能将"Bloch"变成动词，就如已对"Google"做的那样，那么动词"Bloch"会是什么意思？<br />
A：天啊，这是个很难的问题。可能是"写出好的API"？当然，这将不会发生，而我也乐于接受。在每一代中，只会有很少的人够得上用一个词去称呼，并且经常是一个形容词。如你所知的：牛顿的，笛卡尔的，莎士比亚的，就像这样的。<br />
由于某种原因，这使我想起多年前看到的一则头条。当Miles Davis<sup>[2]</sup>逝世时，纽约时报上他的讣告说："Miles Davis，小号手，去逝了；爵士天才，65岁，绝对的酷"。我也想到了自己，"是的，这就是一个总结。而且还没人能上这样的头条"。<br />
<br />
<span style="font-size: 12pt;"><strong>最美的代码</strong></span><br />
Q：你所喜爱的代码是怎样的？或者说，你所见过的最漂亮的代码是什么样的？如诗般的代码？<br />
A：我看过许多代码都能激起这种反响。就像真的诗歌一样，在某人看来很美的一段代码可能在其它人看来很丑陋。这儿有一段神秘的代码诗：<br />
&nbsp;&nbsp;&nbsp; static int inverse(int val) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t *= 2 - val * t;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t *= 2 - val * t;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t *= 2 - val * t;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t *= 2 - val * t;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return t;<br />
&nbsp;&nbsp;&nbsp; }<br />
正如它的名字所暗示的，该方法计算奇参数的乘法逆值，mod 2^32。换言之，对于所有的奇整数i，有i * inverse(i) == 1。它根据牛顿迭代原理。<br />
有严格的证据表明这四个迭代--方法中非回转的循环--对于任何输入值都足够了。那么这是我见过的最漂亮的代码吗？不，但它确实十分的聪明。<br />
如果你喜欢这样的东西，你应该去看看Henry S. Warren的书<em>Hacker's Delight</em>(Addison-Wesley，2003)。当你能看这本书时，要翻到"The Quest for an Accelerated Population Count"一章。在Osram和Wilson的<em>Beautiful Code</em>(O'Reilly，2007)一书中，当你手里也有这本书的话，也要读一下Jon Bentley 写的"The Most Beautiful Code I Never Wrote"一章。Jon写了许多诗歌般的代码。<br />
<br />
<strong style="font-size: 12pt;">最有趣的代码<br />
</strong>Q：你能想到的最有趣的代码是什么？<br />
A：<a href="http://thedailywtf.com/">The Daily WTF</a>中满是有趣的代码。Bill Pugh也经常发给我一些由<a href="http://findbugs.sourceforge.net/">FindBugs</a>发现的有趣代码。这儿有一个令人欣喜的例子--我发誓，它从未被透露过：<br />
&nbsp;&nbsp; public Object getObject(java.util.Map&lt;String,Class&lt;?&gt;&gt; map)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws SerialException<br />
&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; map = new Hashtable(map);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!object.equals(null)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return map.get(object);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new SerialException("The object is not set");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp; }<br />
Q：代码是世界语吗？如果是，那为什么？<br />
A：我认为音乐才称得上，其次就是数学了。因为音乐将自然语言与数学符号联系了起来。代码很像数学：创建具有良好可读性程序的很大一部分工作就是选择好的标识符名称，而这就要基于自然语言。<br />
Q：哪位Java达人深深地影响了你？是在什么方面？<br />
A：应该是Doug Lea<sup>[3]</sup>。他知道很多事情中的很多东西，多年来，他激发了我数不清的想法。他总有让人感兴趣的事情可说。并且他有一种不可思异的能力，能发挥出VM的最佳性能。幸运的是，他已教给我一些他的窍门。例如，Branch Free代码会运行的很快，缓存的作用将会终结，内联探索法(I<font size="2">nlining Heuristics</font>)在性能方面有着巨大的效用。<br />
Q：能给我们一个你创造的最让你感到自豪的代码例子吗？并解释一下为什么？<br />
A：集合框架。虽远非完美，但多年来，已经证明了它的可维护性与优雅。而前面提到的Doug Lea构建的java.util.concurrent包中的许多部分就构建集合框架之上。并且在程序员的来信中，他们总是告诉我，集合框架是如何使他们的工作更加赏心悦目。它能使你写像下面这个程序那样的代码，这个程序通过标准输入流计算文件中所有的片语：<br />
public class Anagram {<br />
&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int minGroupSize = Integer.parseInt(args[0]);<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Read words from input and put into simulated multimap<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Map&lt;String, List&lt;String&gt;&gt; anagrams =<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new HashMap&lt;String, List&lt;String&gt;&gt;();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (Scanner s = new Scanner(System.in); s.hasNext(); ) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String word = s.next();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String alphagram = alphagram(word);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List&lt;String&gt; group = anagrams.get(alphagram);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (group == null)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; anagrams.put(alphagram, group = new ArrayList&lt;String&gt;());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; group.add(word);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Print all permutation groups above size threshold<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (List&lt;String&gt; group : anagrams.values())<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (group.size() &gt;= minGroupSize)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(group.size() + ": " + group);<br />
&nbsp;&nbsp;&nbsp; }<br />
<br />
&nbsp;&nbsp;&nbsp; private static String alphagram(String s) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] chars = s.toCharArray();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Arrays.sort(chars);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return String.valueOf(chars);<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
Q：当你感到困惑时，你会做些什么？<br />
A：我会喝一杯美味的热咖啡。Google有很好的咖啡机，这些机器来自于Barefoot Coffee Roasters。如果不管用，我就会去走一走。如果还不管用，我就会去叫Doug Lea。<br />
Q：你使用哪些网络资源，以紧跟Java技术。<br />
A：规范，还有Google。无论走到哪里，这都能帮上我。<br />
Q：是否有一种益智的训练或有趣的行为让你觉得能使你成为一名更好的开发者？<br />
A：我认为数学和写作能使你成为更好的开发者。数学与编程一样，要求严谨的思维。而写作会强迫你去组织你的想法。数学和写作都训练了相同的审美机能，而这对于写出好的程序也是必需的。<br />
Q：你希望在工科学校中你还应该学到哪些东西？<br />
A：我希望我能更好地学会弹吉他，现在我弹的可不好。我希望能学一门外语，还有艺术史。当然，还想学一些商业和金融方面的知识。这样说起来，哥伦比亚大学会对我有更好的帮助。我会鼓励本科生们，当他们还有时间时，就要创造机会去获取更宽泛的知识。以后，他们会有足够的时间深入到其中。<br />
<br />
<strong style="font-size: 12pt;">译注</strong><br />
[1]这张"祼照"就是加利福尼亚州现任州长</span><span style="font-size: 10pt;">阿诺.施瓦辛格的健美祼肤照。</span><br />
<span style="font-size: 10pt;">[2]Miles Davis，爵士乐大师。点击<a href="http://www.nytimes.com/learning/general/onthisday/bday/0525.html">此处</a>可以看到纽约时报上关于他的讣告全文。<br />
[3]<a href="http://g.oswego.edu/">Doug Lea</a>，java.util.concurrent的创始人，目前也是<a href="http://openjdk.java.net/">OpenJDK</a>临时管理委员会的成员。<br />
<br />
<strong style="font-size: 12pt;">请关注下一篇译文：<a href="http://www.blogjava.net/jiangshachina/archive/2008/06/01/205180.html">Rock Start 2008 -- Chet Haase</a></strong></span><img src ="http://www.blogjava.net/jiangshachina/aggbug/204939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2008-05-31 23:39 <a href="http://www.blogjava.net/jiangshachina/archive/2008/05/31/204939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sun Tech Days 2007 -- Day 2(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2007/11/08/158629.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Thu, 08 Nov 2007 00:39:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2007/11/08/158629.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/158629.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2007/11/08/158629.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/158629.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/158629.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 10pt;"><span style="font-size: 14pt;">Sun Tech Days 2007 -- Day 2</span></span></strong><br />
</div>
<span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; Sun Tech Days 2007(北京站)已经结束了，趁热打铁，在此把本次会议中我的所见、所闻、所思与所得记录下来。本文是关于我在Sun Tech Days第二天中的相关见闻思得以及总结。(2007.11.10最后更新)<br />
<br />
&nbsp;&nbsp;&nbsp; 第二天的流程与第一天的基本相同，只是在上午多了一个赢取Java茄克的活动。走上舞台，以自己的才艺(编程不算才艺 :D)表演打动台下的观众，谁得到的掌声最热烈，谁就能得到那两件(分成了两个组，每个组有一件)茄克。这个表演算是当天上午最有趣的活动了。十分佩服那些勇于走上台的朋友，嘿嘿，就算Jonathan请我上台，我也"懒"得去(Oh, oh, oh ... come on, please show yourself!)。<br />
&nbsp;&nbsp;&nbsp; 关于当天的Sun技术演示就不描述了，想说说当天的主题演讲，是由<a href="http://www.oracle.com/applications/fusion.html">Oracle Fusion Middleware</a>的一位副总裁做的，题目是"SCA/SOA Service Component Architecture"。哦哦哦，这个题目真够高深的，我可不想对它品头论足，只想提一下<a href="http://www.oracle.com/technology/products/jdev/index.html">JDeveloper</a>。相信很多朋友都知道甚至用过JDeveloper，我早前也下载过JDeveloper10，但并没有真正地使用过，主要是由于当时自己的机器只有512M内存，运行JDeveloper有些勉强。每年的STD，Oracle都会有相关主题展示使用JDeveloper开发Web/JSF应用。从Oracle的演示来看，使用JDeveloper+<a href="http://www.oracle.com/technology/products/adf/index.html">ADF</a>(Application Development Framework，Oracle的Java EE开发框架)进行Web开发确实不错。依稀记得在2005年的<a href="http://www.javapolis.com/confluence/display/JP07/Home">JavaPolis</a>，比利时Java用户会议(规模很大，并不仅限于比利时)，大会中有一个RAD(Rapid Application Development)编程比赛，结果排在前三名的团队竟然全部都是使用JDeveloper。看来JDeveloper在RAD方面确有自己的独到之处。但必须注意的是，使用JDeveloper是完全免费的，但使用ADF需要支付费用。这可能也影响到了JDeveloper的普及，毕竟免费的工具/框架足够多了。至于Fusion，我应该是第一次听到它，有兴趣的朋友可以去看看。</span><span style="font-size: 10pt;">相比较第一天而言，第二天中我所关注的主题较少，</span><span style="font-size: 10pt;">下面将介绍当天我所参加的各个技术专题。<br />
<br />
&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt;"><strong>Java DB：多个层次的数据库。</strong></span><br />
&nbsp;&nbsp;&nbsp; <a href="http://developers.sun.com/javadb/">Java DB</a>是我最为关注的主题之一，今年仍然是由Sun的数据库产品经理Manyi Lu主讲。相信很多人都已经认识了Java DB，可能更多的人在更早的时候就知道了<a href="http://db.apache.org/derby/">Apache Derby</a>，而又可能有更更多的人在更更早的时候就知晓了<a href="http://www-306.ibm.com/software/data/cloudscape/">Cloudscape</a>。那么现在肯定也已经有不少朋友知道Java DB，Apache Derby和Cloudscape就是同一个数据库。实际上，Sun和IBM都各自出一部分开发员一同在Apache社区中进行Java DB/Apache Derby/Cloudspace的开发。而Sun/IBM又会为它们的产品Java DB/Cloudscape提供商业的技术服务。<br />
&nbsp;&nbsp;&nbsp; 作为一款关系型数据库，对于已经习惯于RDBMS的开发者而言，使用起来肯定不是难事(当然，凡事想做好，也不是易事)。完备的SQL引擎--视图，存储过程(Java存储过程)，函数，触发器，外键约束；ACID性；支持标准的SQL；...这些基本的RDBMS特性似乎都不需要特别地提及。我想大家最关心的肯定是它的性能(是的，我们都关心数据库的性能，更何况它是用Java写的#_#)。Manyi每次都特别地强调，与同等层次的数据库(<a href="http://www.mysql.com/">MySQ</a>L，<a href="http://www.postgresql.org/">PostgreSQL</a>)相比，Java DB的性能毫不逊色，在某些情况下甚至更高。一般地只能认为Java DB，MySQL和PostgreSQL各有所长。Java DB长于磁盘I/O；MySQL优在单表查询；PostgreSQL擅长多表查询(用它作数据分析比较好)。另外，Manyi还介绍了一些提高Java DB性能简便方法。这些方法确实既简单又实用，任何人都可以掌握它们。这些小技巧以及Manyi想但没时间为大家演示的例子，大家都可以在Java One 2007的主题"</span> <span style="font-size: 10pt;"><a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-45170&amp;yr=2007&amp;track=3">Java DB Performance</a></span><span style="font-size: 10pt;">"和"<a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-69700&amp;yr=2007&amp;track=8"><span style="font-size: 10pt;">Enabling Offline Web Applications with Java DB</span></a></span><span style="font-size: 10pt;">"中找到出处。<br />
&nbsp;&nbsp;&nbsp; 不得不说，今年的Java DB Session新意不多，当然这只是针对那些听过去年的这个Session的朋友而言。不过更正了我记忆错误的一个数据：听了去年的Java DB，我一直以为Sun内部测试时使用的数据量已经达到了300<strong>T</strong>；但今年再看，那个数据量应该是300<strong>G</strong>，目前已经达到了700G，他们的目标是1<strong>T</strong>。失之毫厘，谬以千里。不过，去年是听的，幻灯片中没有写，而T与G的读音相近，所以弄错了。而今年是在幻灯片中写着的，才得以纠正这个错误。<br />
<br />
&nbsp;&nbsp;&nbsp; <strong><span style="font-size: 12pt;">动手实验室：Java SE 故障诊断工具大全。</span></strong><br />
&nbsp;&nbsp;&nbsp;
要动手，才能把知识学牢固。每届的JavaOne和STD中都有不少的动手实验室，这对大家的帮助肯定很大。在2005年的STD中，我参加了一个使用<a href="http://www.netbeans.org/">NetBeans</a>的<a href="http://form.netbeans.org/">Matisse</a>构建Swing GUI的动手实验室。虽然在那之前，以及在那儿之后的很长一段时间内，我都没有经常地使用NetBeans。但一直认为Matisse构建GUI确实很方便，将困难的部局管理器参数的设置几乎完全可视化。不说Matisse了，还是谈谈JDK 6中带的一些工具吧。这个动手实验室介绍了<a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jconsole.html">jconsole</a>，<a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jinfo.html">jinfo</a>，<a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jmap.html">jmap</a>，<a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jstat.html">jhat</a>，<a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jstat.html">jstat</a>，<a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jps.html">jps</a>，<a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jstack.html">jstack</a>，...，这些工具看起来虽小，但功能却很实用。用它们可以查看当前系统中的Java进程，查找对象，分析内存泄漏，找到可能的线程缺陷(如死锁)，...虽然分析应用程序的工具很多，如NetBeans的<a href="http://profiler.netbeans.org/">Profiler</a>也可以做相同的工作，而且能够做得更多更好，但有时候手边一时没有那些大玩意儿，或者只能使用命令行界面，那么这些小玩意儿就能派上大用场了。<br />
&nbsp;&nbsp;&nbsp; 关于这个动手实验室，大家还可以参见JavaOne 2007中的一个动手实验室"<a href="http://developers.sun.com/learning/javaoneonline/j1lab.jsp?lab=LAB-1420&amp;yr=2007&amp;track=5">Monitoring and Troubleshooting using JMX and JConsole Lab</a>"。<br />
&nbsp;&nbsp;&nbsp; 通过这个动手实验室，我的收获确实不少。这时也想到，要把一件事情做好需要做很多的工作，也就需要花很多的时间。在开发的过程可能需要做单元测试、静态分析、代码检查、性能测试与优化、...，但在实际的工作中恐怕没有那么多的时间与精力去做这么多的事情，而且这里的每件事情都需要细心与耐心。这样到了项目的结束时，我想很多人心中都会有很多遗憾。为什么我们不认认真真地做完一件事情呢？至少让自己少遗憾一次吧。<br />
<br />
&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt;"><span style="font-size: 10pt;"><span style="font-weight: bold;"><span style="font-size: 12pt;">开放的Sun SPOTs，Ericsson技术专题，In-Time Java<span style="font-size: 12pt;">。</span></span></span></span></span><br />
&nbsp;&nbsp;&nbsp; 这是我当天听的另外三个Session。说实话，我对它们都没什么兴趣，也没认真听，所以就放在一起混说吧。前两个主题都是关于Java ME的。正如前面我所说的，Java ME不是我关心的领域，但看着讲师们在那儿玩弄着各种器件(机器人，掌中设备，...)，像变魔术似，也不禁有些心动。纯Java似乎虚了些，Java+粗笨的服务器也不好玩，Java+手机之类的器件才有趣嘛。对Java ME有兴趣的朋友可以参考Java One中<a href="http://developers.sun.com/learning/javaoneonline/j1online.jsp?track=4&amp;yr=2007">关于ME的Session</a>。<br />
&nbsp;&nbsp;&nbsp; 再谈谈In-Time Java，No，no，no，我可不懂什么In-Time Java，但我知道讲师提到的<a href="http://mpfwww.jpl.nasa.gov/default.html">Mars Pathfinder</a>(火星探路者)飞行器。著名的<a href="http://www.jpl.nasa.gov/index.cfm">JPL</a>(美国喷气动力推进实验室，诞生过多位诺贝尔奖获得者)的著名的火星探路者当然是飞到了火星上，还在火星上工作了很长的时间。但这与Java有什么关系吗？当然有关系了，而且关系大着呢。这个飞行器的软件系统就是用Java写的!Oh，a cup of Java, cheers!哈哈，Java在火星上都能运行良好，更何况在地球上呢。Mars Pathfinder是Java发展历程中的一件大事，我想每位Java人都应该知道它。<br />
&nbsp;&nbsp;&nbsp; 随便提一句，我本人也"有幸"与JPL"沾"上点儿关系。在猴年马月的寅时卯分，我这个超级无敌菜鸟级兼职系统管理员手下的两台公网服务器不知被哪位贪吃的黑客相中，成为他/她/它盘中的"肉鸡"，然后被利用去攻击JPL的服务器，还因此收到了<a href="http://www.fbi.gov/">FBI</a>的警告信!吾在中国，岂能受你山姆大叔的恐吓！！！但从中美两国人民友谊的大局出发，我还是请来了一位高手，问题很快就解决了。现今吾已经专责于Java程序开发，恐日后再难遇到类似事件了 @_@<br />
&nbsp;&nbsp;
<br />
&nbsp;&nbsp;&nbsp; <strong><span style="font-size: 12pt;">小结</span></strong><br />
&nbsp;&nbsp;&nbsp; 上周四、周五开完会之后，确实有些累，每天奔波于南五环外与北四环之间，算是体会到了公司里很多同仁们每天都要遭受的煎熬(本人的住所与公司离得很近)。不过，心情很愉悦。趁着这股兴奋劲儿，利用上周末的两天，以及最近三天的晚上(每天都是凌晨1点左右才睡觉)完成了这两篇关于STD的随笔，相信看到本篇随笔的朋友已经看过我的<a href="http://www.blogjava.net/jiangshachina/archive/2007/11/06/158334.html">上一篇随笔</a>了。<br />
&nbsp;&nbsp;&nbsp; 今年参会人数(约1500人)比去年多，为此会务组特意安排了两个主会场。熟话说，人上一百，形形色色。参加STD的朋友们各自的"特性"肯定不尽相同，甚至相差很大。但我想说，只要大家怀着学习的心态就都会认为在STD中定有所收获。不论，你的Java技术水平高或低，喜欢/从事Java Web或桌面或嵌入式应用开发，我想大家都会各有所需，各有所得。毫无疑问，STD的讲师们(基本上都是Sun的Technology Evangelist)不可能在如此短的时间内把一个主题完全讲清楚。比如Concurrency，这就是一个十分复杂的主题，恐怕与会的朋友们中的大多数都不能清晰地描述它(反正我是不太懂，但我正在<a href="http://www.blogjava.net/jiangshachina/archive/2007/10/28/156522.html">研究并发编程</a>)。因此，就算讲师是<a href="http://www.briangoetz.com/">Brian Goetz</a>/<a href="http://g.oswego.edu/">Doug Lea</a>/<a href="http://www.blogjava.net/jiangshachina/archive/2007/06/11/123283.html">Joshua Bloch</a>，也不可能讲得很深。但我们不能因此而说，参加此类技术活动还不如自己在家里看书。记得在上小学时，教师就告诫过我们：你听老师讲，比你自己看书效率要高很多。<br />
&nbsp;&nbsp;&nbsp; 但同样要说，如果只是听别人讲，也是远远不够的。STD不是技术培训班，这本来就是大家的一个交流与沟通的平台。与会者和讲师之间，与会者和与会者之间都应该有交流和互动。很惭愧，我在这一点上做的很不好。不过，我会改进的。实际上我已经有改进了，这回我就多次"举手"，只是运气不好，讲师没有点到我(当然，这些也只是小的进步罢了)。<br />
&nbsp;&nbsp;&nbsp; 说到交流，就不能不说到英语。相信这是很多技术朋友们的一块心病，me too！虽然自己平时看英文技术文章比较多，也<a href="http://www.blogjava.net/jiangshachina/category/27200.html">翻译过若干篇文章</a>，但听/说仍然是一大难题。不过，长期的努力还是会有一些进步的。记得今年4月26日在北京第一次参加<a href="http://www.db4o.com/">db4o</a>的用户会议时，db4o的CEO Christof很热情地与每一位参会者进行一对一的交谈。可惜我的英语听/说都很差，结果基本上都是Christof在说，而我只说了不到十句话，并且我也听不懂他所说的大部分内容(How shame I am!!!)。不过，到了9月30日去武汉第二次参加db4o用户会议时，我就能和Christof聊上一会儿了。当然，这种进步并不算大，但一次小小的进步就是一次大大的鼓励。<br />
&nbsp;&nbsp;&nbsp; 最后祝我自己每天都有新的进步，每年都有大的进步！<br />
&nbsp;&nbsp;&nbsp; 最最后祝大家都有大大地进步！！！<br />
<br />
&nbsp;&nbsp;&nbsp; 同是Java爱好者，相逢何必曾相识！ -- <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#106;&#105;&#97;&#110;&#103;&#115;&#104;&#97;&#99;&#104;&#105;&#110;&#97;&#64;&#49;&#54;&#51;&#46;&#99;&#111;&#109;">江莎</a><br />
&nbsp;&nbsp;&nbsp; a cup of Java, cheers！-- <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#106;&#105;&#97;&#110;&#103;&#115;&#104;&#97;&#99;&#104;&#105;&#110;&#97;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">Sha Jiang</a><br />
&nbsp;&nbsp;&nbsp; <a href="http://www.blogjava.net/jiangshachina">jiangshachina</a><br />
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/158629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2007-11-08 08:39 <a href="http://www.blogjava.net/jiangshachina/archive/2007/11/08/158629.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sun Tech Days 2007 -- Day 1(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2007/11/06/158334.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Tue, 06 Nov 2007 01:15:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2007/11/06/158334.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/158334.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2007/11/06/158334.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/158334.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/158334.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 10pt;"><span style="font-size: 14pt;">Sun Tech Days 2007 -- Day 1</span></span></strong><br />
</div>
&nbsp;&nbsp;&nbsp; <span style="font-size: 10pt;">Sun Tech Days 2007(北京站)已经结束了，趁热打铁，在此把本次会议中我的所见、所闻、所思与所得记录下来。本文是关于我在Sun Tech Days第一天中的见闻思得。(2007.11.10最后更新)<br />
<br />
&nbsp;&nbsp;&nbsp; 如我的上一篇<a href="http://www.blogjava.net/jiangshachina/archive/2007/10/30/144709.html">介绍Sun Tech Days 2007的随笔</a>所提及的，这已是我连续第三年参加<a href="http://www.suntechdays.cn/">Sun科技日</a>了。必须说，每年的体验都都有很大的不同，把这些不同的体验记下来，至少也是一种回忆。我也希望与朋友们分享的我的所见、所闻、所思与所得。<br />
&nbsp;&nbsp;&nbsp; 与过去两年我所参加的STD不同，Sun CEO--目前是Jonathan Schwartz，以前是Scott McNealy和Java之父--James Gosling这次都没有来中国。那两次时任Sun CEO的Scott McNealy都有讲话(2005年时是正式致辞；2006年时只作简短讲话)，Gosling则都是做主题演讲(Keynote)。虽然他们肯定不是会议的全部，也不一定是会议的关键部分，但我仍然为他们没有出席而感到一点失望。<br />
&nbsp;&nbsp;&nbsp; 我想参加过此类活动的朋友一定都能猜到主题演讲的内容 :-) 简言之，主题演讲就是描述了Sun的关键软件技术/产品(Java，Solaris，....)当前的状态，展示了Sun作为创新的领导者为发展这些技术所做的巨大贡献，这些技术在改进人们生活的过程中所发挥的重要作用，并努力使大家相信这些技术在未来拥有非常美好的前景。<br />
&nbsp;&nbsp;&nbsp; 按照贯例，在每天上午的议程中都有一个Sun技术演示(Sun Technical Demo)的环节*。Sun的讲师分成两个组，每位讲师用五分钟的时间展示他们各自领域中的一个酷炫应用，然后由我们大家用掌声选出最好的那个组(当然，每个组都很棒*_*)。当天共展示了关于Swing(Joey Shen)，JavaFX(Chuk-Munn Lee)，AJAX/Web 2.0(Doris Chen)和嵌入式(Angela Caicedo)这四个领域的"小"应用。让我印象深刻的就是Angela的嵌入式应用演示--两个小机器人之间的交互；Joey展示的炫目Swing应用也十分吸引我，他还向大家留了一个悬念(Oh，就是Angela和Joey搭档的小组获得大家最热烈的掌声)。下面将介绍当天我所参加的各个技术专题。<br />
<br />
&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt;"><strong>Java SE 6十大特性，探讨Java SE 7以及OpenJDK。</strong></span><strong></strong><br />
&nbsp;&nbsp;&nbsp; 类似于这种"昨天，今天与明天"的主题也是每年都有的。Java SE 6提高了Java桌面应用的性能，并为GUI开发提供了很多的增强型新特性：Desktop API；Splash Screent；支持Vista L&amp;F；Tray Icon；GroupLayout；...。我最近刚开始做Swing/AWT方面的开发，所以对这一块比较关注。classpath通配符是一个很实用的新特性：可以把某个目录下的所示jar文件使用通配符(*)将它们全部加载到classpath环境变量中。Compiler API，让应用程序在运行时能够编译源代码，我还不清楚它的应用场景。Scripting API，目前在JVM上已经可以运行JavaScript(Mozzila 1.2)和JRuby这些脚本语言了。...其实讲师(Chuk-Munn Lee)并没有特别地指明Java SE 6的十大新特性，但实际上很多朋友可能早已知道<a href="http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/beta2.html">Java SE 6的十大新特性</a>了。<br />
&nbsp;&nbsp;&nbsp; JDK 7可能的新特性：新的Swing跨平台Look&amp;Fell--<a href="https://nimbus.dev.java.net/">Nimbus L&amp;F</a>(Metal L&amp;F太土了？)；Consumer JRE(下面有一节专门讲它)；Closure(不明白为什么要增加如此"奇怪"的语法)；<a href="https://appframework.dev.java.net/">Swing Application Framework</a>(Sun对Swing的支持果然是一如既往)；Super Package(我也不能理解为什么需要这种语法)；...<br />
&nbsp;&nbsp;&nbsp; 让我十分遗憾的是，讲师并没有提到OpenJDK的情况？!<br />
</span><span style="font-size: 10.5pt; font-family: '宋体';"><font face="宋体"><span style="font-size: 10pt;"><span style="font-size: 10.5pt; font-family: '宋体';"><font face="宋体"><span style="font-size: 10pt;"><span style="font-size: 10.5pt; font-family: '宋体';"><font face="宋体"><span style="font-size: 10pt;">&nbsp;&nbsp; 关<span style="font-size: 10pt;">于该主题的内容还可以参见JavaOne&nbsp;2007中的相关主题：</span></span><a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-2383&amp;yr=2007&amp;track=5">Java&nbsp;SE&nbsp;Present&nbsp;and&nbsp;Future</a>，<a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-2800&amp;yr=2007&amp;track=5">The&nbsp;OpenJDK&nbsp;Project&nbsp;Report</a></font></span></span></font></span><span style="font-size: 10pt;">。<br />
<br />
</span></span></font></span><span style="font-size: 10pt;"><strong>
</strong>&nbsp;&nbsp;&nbsp; <strong><span style="font-size: 12pt;">消费版JRE：更小巧，更强劲。</span></strong><br />
&nbsp;&nbsp;&nbsp; <span style="font-size: 10pt;">Consumer JRE与Java Kernel的出现主要是基于解决发布或运行Java程序时遇到的几个问题：<br />
&nbsp;&nbsp;&nbsp; [1]不知道目标用户机器上的JRE是什么版本；<br />
&nbsp;&nbsp;&nbsp; [2]Java程序的启动速度慢，特别是当冷启动时；<br />
&nbsp;&nbsp;&nbsp; [3]JRE较大，不方便下载；<br />
&nbsp;&nbsp;&nbsp; [4]安装Java程序的时间可能较长。<br />
&nbsp;&nbsp;&nbsp; Consumer JRE(大约在一个月之前，Consumer JRE已经更名为"<a href="http://weblogs.java.net/blog/chet/archive/2007/10/early_access_gr.html">Java SE 6 Update N</a>"，非常有趣的名字)将会在2008年的早些时候正式发布，它会拥有：<br />
&nbsp;&nbsp;&nbsp; [1]更快的启动服务。一般会认为解释运行字节码会比较慢，但实际上并非如此，因为JVM很早就引入了JIT(Just-In Time)编译器，许多常用字节码已经被编译成了二进制代码。但冷启动时，确实比较慢，主要是因为JRE还未存入内存中；而对于热启动，它的速度还不错，所以目前需要特别地解决冷启动的问题。要解决冷启动的问题可以采用如下方法：启动一个后台进程，周期性的读取文件，并把它们存储到磁盘缓存中，从磁盘缓存中读取文件就相当于是热启动了。尽可能载入较少的jar文件也有利于提高启动速度(见下一条)。<br />
&nbsp;&nbsp;&nbsp; [2]Java Kernel。目前的JRE都比较大，而且核心的rt.jar也很大(JRE 6中的rt.jar就有40M左右)。Java Kernel则非常的小(2M左右)，而且高度模块化。rt.jar被分割成许多小的jar文件。默认情况下，Java Kernel只能运行"Hello World"这样的程序，如果运行的程序需要更多的JRE中的jar文件，则会根据需要适时地下载。使用Java Kernel运行SwingSet2这样的程序，在下载了所需的jar文件后其大小也仅有4M左右。<br />
&nbsp;&nbsp;&nbsp; [3]Java Technology Deployment Kit。这个工具集就是用于回答"用户机器是否安装了JRE？安装了何种版本的JRE？"这样的问题。<br />
&nbsp;&nbsp;&nbsp; [4]改进的安装器(指图形用户界面的安装向导)。这个安装程序更方便，界面也更友好。<br />
&nbsp;&nbsp;&nbsp; 我个人对Consumer JRE是比较关注的，主要就是由于我目前正从事着Java桌面应用开发。桌面程序要直接运行在用户的操作系统中，这就要求尽最大努力减少对用户的影响(易用，界面友好，节约用户机器的性能，...)。目前才刚接触Applet，就已经感到安装插件是一个十分棘手的问题。...是的，安装Applet浏览器插件应该是很容易的，但不是每个人都这么认为。<br />
&nbsp;&nbsp;&nbsp; 关于该主题的内容还可以参见JavaOne 2007中的相关主题：<a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-3160&amp;yr=2007&amp;track=2">Desktop Java Technology Today</a>，<a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-2383&amp;yr=2007&amp;track=5">Java SE Present and Future</a>。还可以看看<a href="http://weblogs.java.net/blog/chet/">Chet Haase的Blog</a>中的<a href="http://weblogs.java.net/blog/chet/archive/2007/05/consumer_jre_le.html">相关内容</a>。<br />
<br />
</span></span><span style="font-size: 10pt;">
&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt;"><strong>Java脚本编程：JavaFX脚本以及JRuby。</strong></span><br />
&nbsp;&nbsp;&nbsp; </span><span style="font-size: 10pt;">虽然我对JavaScript深恶痛绝(跨平台的梦魇 Orz)，对JRuby/Ruby不屑一顾(因为我不会 ^_^)，但我对<a href="https://openjfx.dev.java.net/">JavaFX</a>还是有几分兴趣的。JavaFX作为Java家族中的新技术，在今年JavaOne上受到了大家的热捧。<br />
&nbsp;&nbsp;&nbsp; 本来我对RIA(Rick Internate Application)应用也没什么兴趣的，但近期加入了一个金融门户网站的项目。目前我接手开发一个基于Applet的客户端工具，该项目中的其它部分则可能会使用RIA方面的技术(<a href="http://www.adobe.com/products/flex/">Flex</a>？JavaFX ？？)。不过，做RIA应用，程序员只是其中的一部分罢了，UI设计才是首当其冲。<br />
&nbsp;&nbsp;&nbsp; 这个主题的讲师就是前面提到过的演示了Java ME机器人应用的Angela Caicedo。由于我的英文听力不太好，而且本来对JavaFX知之甚少，所以近1个小时下来似乎没收获到什么 :-(<br />
&nbsp;&nbsp;&nbsp; 关于该主题的内容还可以参见JavaOne 2007中的相关主题：<a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-3160&amp;yr=2007&amp;track=2">Desktop Java Technology</a>。<br />
<br />
<span style="font-size: 10pt;">
</span></span><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; <strong><span style="font-size: 12pt;">如何有效地在Java平台上进行并发编程。</span></strong><br />
&nbsp;&nbsp;&nbsp;
</span><span style="font-size: 10pt;">我对并发/多线程应用十分感兴趣，目前正在翻译<a href="http://java.sun.com/docs/books/tutorial/">Java Toturials</a>中<a href="http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html">Concurrency一章</a>。但不得不说，目前讨论并发编程还是超出了我的能力。而且讲师Doris Chen使用的幻灯片与今年JavaOne的一个主题"<a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-2388&amp;yr=2007&amp;track=5">Effective Concurrency for The Java Platform</a>"所使用幻灯片十分相似，所以大家可以参考JavaOne中的那个主题的幻灯片，就不用我废话了。另外，JavaOne中还有一个关于测试并发应用程序的主题"<a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-2220&amp;yr=2007&amp;track=5">Testing Concurrent Software</a>"，也可一并参考。<br />
&nbsp;&nbsp;&nbsp; 再推荐一本书，<a href="http://www.china-pub.com/computers/common/info.asp?id=34825">Java Concurrency in Practice</a>，肯定有很多朋友已经知道这本书了。该书在去年刚出版后，就在当年的JavaOne大会中就受到追捧，成为当届JavaOne的书籍销售冠军。我早前就买过一本，但很快就转卖给了另一位同事(因为她很想要)，故在STD的现场又买了一本 :D<br />
<br />
</span>
<span style="font-size: 10pt;">
&nbsp;&nbsp;&nbsp; <strong><span style="font-size: 12pt;">充满活力的Swing回来了。</span></strong><br />
&nbsp;&nbsp;&nbsp;
</span><span style="font-size: 10pt;">正如我早前所说的，Swing是我最喜欢的Java"表现层"。与许多基于无状态的HTTP协议的Web应用相比，毫无疑问，作为纯Java程序的Swing可以更方便，更高效地实现各种炫目的GUI(当然，它们关注于不同的应用场景，实际上没有可比性)。<br />
&nbsp;&nbsp;&nbsp; 今年，Joey Shen(去年，前年也是他)为大家带来了一个展示了多种炫目GUI技术的Swing Demo。这个Demo是Sun Swing Team开发的，Oh-oh-oh，Swing核心开发者做的Java GUI果然不同凡响--华丽的界面，动画，透明，重影，半透明拖放，....，一个都不能少。<br />
&nbsp;&nbsp;&nbsp; 但实事求是地说，Joey演示的这些先进的GUI特效在我的工作中一时还用不上。不过，我还是对他介绍的在Swing中制作动画效果的框架--<a href="https://timingframework.dev.java.net/">Timing Framework</a>产生了兴趣，...另外，我在第二天(注意，是第二天)的下午会议快要结束时，趁着参加动手实验室"Java SE故障诊断大全"的机会向Joey(他主讲那个动手实验室)问了一个我在工作中遇到的使用AWT画线时出现的问题。<br />
&nbsp;&nbsp;&nbsp; 在今年JavaOne中关于Swing/Desktop开发的主题有很多，大家可以选择<a href="http://developers.sun.com/learning/javaoneonline/j1online.jsp?track=2&amp;yr=2007">Java Desktop</a>中的你所感兴趣的主题。<br />
<br />
&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt;"><strong>GC友好的Java编程</strong></span><strong></strong><br />
&nbsp;&nbsp;&nbsp; 我并没有听这个主题，因为它与并发编程的主题在时间上冲突了(可惜！)。但我可以看今年JavaOne中的一个同名主题<a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-2906&amp;yr=2007&amp;track=5"><span style="font-size: 10pt;">Garbage-Collection-Friendly Programming</span></a></span><span style="font-size: 10pt;">中的幻灯片。该幻灯片介绍了并发编程的一些基本原则。<br />
<br />
<span style="font-size: 10pt;"><span style="font-size: 10pt;"> &nbsp; &nbsp; </span><strong><span style="font-size: 12pt;">照片</span></strong><br />
&nbsp;&nbsp;&nbsp; 去一趟肯定要有些留念，但借的相机质量不太好，我用的也不太习惯，所以很多照片质量欠佳(Www，去年也是这样)，比较遗憾。我就只帖了几张照片到<a href="http://www.flickr.com/photos/jiangshachina/sets/72157602844861081/">我的Flickr</a>上，有兴趣的朋友可以去看看。另外，STD中国官方网站已经帖出了不少关于<a href="http://www.suntechdays.cn/Snapshots_BJ.htm">STD北京站</a>的图片(我也把这些图片copy到了<a href="http://www.flickr.com/photos/jiangshachina/sets/72157602844861081/">我的Flickr</a>中*_*)。<br />
&nbsp;&nbsp;&nbsp; 注：根据以前的经验，从大陆地区应该无法直接访问Flickr中的图片(图片都是红<span style="color: red;">x</span>，只能看到文字)，所以需要通过代理服务器。使用FireFox的朋友(包括我自己)就很方便了，只要安装FireFox的插件--<a href="https://addons.mozilla.org/en-US/firefox/addon/4286">Acess Flickr!</a>，就可以自由浏览Flickr了^_^ 不过，我刚才用IE测试了一下，似乎现在又可以直接访问Flickr了，但只能访问到较近一段时间内的图片。难道GFW又放过了Flickr？还好，我的图片都是老少咸宜的，身正不怕影子歪嘛。<br />
</span></span>
<span style="font-size: 10pt;"><br />
<span style="font-size: 8pt;"><span style="font-size: 10pt;"><span style="font-size: 12pt;">&nbsp;&nbsp; <strong><span style="font-size: 12pt;"><span style="font-size: 14pt;"><span style="font-size: 12pt;"><a href="http://www.blogjava.net/jiangshachina/archive/2007/11/08/158629.html">敬请关注我的下一篇随笔：Sun Tech Days 2007 -- Day2</a></span></span></span></strong></span></span></span><br />
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/158334.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2007-11-06 09:15 <a href="http://www.blogjava.net/jiangshachina/archive/2007/11/06/158334.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Sun Tech Days 2007 -- Preview(原)</title><link>http://www.blogjava.net/jiangshachina/archive/2007/10/30/144709.html</link><dc:creator>Sha Jiang</dc:creator><author>Sha Jiang</author><pubDate>Tue, 30 Oct 2007 08:28:00 GMT</pubDate><guid>http://www.blogjava.net/jiangshachina/archive/2007/10/30/144709.html</guid><wfw:comment>http://www.blogjava.net/jiangshachina/comments/144709.html</wfw:comment><comments>http://www.blogjava.net/jiangshachina/archive/2007/10/30/144709.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.blogjava.net/jiangshachina/comments/commentRss/144709.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiangshachina/services/trackbacks/144709.html</trackback:ping><description><![CDATA[<div align="center"><strong><span style="font-size: 12pt;"><span style="font-size: 14pt;">
Sun Tech Days 2007 -- Preview</span></span></strong><br />
</div>
<span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 一年一度的<a href="http://www.suntechdays.cn/">Sun Tech Days</a>又将开幕了，</span><span style="font-size: 10pt;">本文回顾了我前两年参会的体验，并分析了本次会议中我个人所感兴趣的几个主题。<span style="font-size: 10pt;">(2007.10.12最后更新)</span></span><br />
<br />
<span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 从上周三开始，本年度的Sun科技日(Sun Tech Days，STD)就开始接受报名了。官方网址：<a href="http://www.suntechdays.cn">http://www.suntechdays.cn</a>，优惠期截止到9月29日之前(我想应该就是到9月28日为止吧)。在优惠期内，单个人的会费是195元，和去年的会费一样(Well，没有随社会物价的上涨而上涨 ^_^)。<br />
&nbsp;&nbsp;&nbsp; 今年，将是我连续第三年参加STD了。<br />
&nbsp;&nbsp;&nbsp; <strong>2005年</strong>，当时还在武汉上大学(我本身也是湖北人)。那时学习Java不到1年，断断续续的，满打满算就11个月，学习也不努力，连门都没入(在学校里自学，效率太低了) :-( 但不知道为什么，对Java/软件开发非常感兴趣，而对自己的本专业--通信，就是一点兴趣都没有(呜呜呜，浪费了7年时间啊！)。2005年恰逢Java 10周年，从CSDN上看到要在北京举办JavaChina 2005(其实也就是STD)的消息，就报名参加了。对2005年的感觉就是，规模很大，北京主会场有4000多人，另外8个城市的分会场也有4000人左右。毕竟是Java 10周年嘛，其它年份的STD都达不到这个规模(当然，JavaOne的规模每年都会超过STD)。2005年时的我，对Java只是一知半解，在会议的众多session中，我也不知道应该听哪些主题，只是选择了一些Java语言级方面的session去听了。现在回想起来，也不知道当时听到了些什么。<strong>当年的最大收获就是和Java之父James Gosling有一张集体合影</strong>。哈哈，这难倒就是获得Sun认证的最大好处吗 *_* 因为我是在顺便参加"Sun认证群英会"时有幸得到了这个机会。</span><span style="font-size: 10pt;">这次活动大大激励了我学习和应用Java的热情。</span><br />
<span style="font-size: 10pt;">
&nbsp;&nbsp;&nbsp; <strong>2006年</strong>，我刚刚毕业，目前一直在北京的一家电子商务类的公司工作。虽然在当时还没有直接地参与Java项目的开发，不过项目都是和Java相关的(我当时做系统方面的工作)，并且一直坚持对Java技术的学习。其实，我自感自己的Java基础还是不错的，2004年，通过"Sun认证Java程序员 SCJP"(88%得分率)，2005年通过"Sun认证Java开发员 SCJD"(97%得分率)，而且平常学习时很注重基础知识。出于不断学习Java技术的想法，我又参加了当年的STD。此时，毕竟有些经验了，知道的东西也多了些，再听STD，就会有自己的选择了。我仍然对Java语言的基础部分比较关注(Java 5的新特性，Java 6的新特性)，另一个很关注的就是数据库方面(Java DB)。Java DB的session，我认为是当年最好的。2006年的收获确实不少，很多场景我现在还有很深的回忆。另外，发现在自己的英语水平又有提高了，这个收获可能更大啊 @_@<br />
&nbsp;&nbsp;&nbsp; <strong>今年</strong>，我已工作一年有余，有了一些实际的Java项目开发经验，并且学到了更多的Java方面的知识，有了新的提高。关于今年的STD，其中有几个session确实是我本人十分期待的，如关于：<br />
&nbsp;&nbsp;&nbsp; <strong>Open JDK</strong>。Java是真的开源了，而不是"半"开源(javac、core API、...，all of them have "Full" Sources)。目前我们使用的Sun JDK，不能debug Java API(因为src.zip中的源文件与实际使用的rt.jar中的class文件无法完全对应上，它们不是"一脉同生"的。"Who"动的手脚，FT!)，这让我很多次的很、很、很不爽。Well，现在我们可以用OpenJDK了。OpenJDK就是Java，而不是Java的一个分支(<a href="http://harmony.apache.org">Apache Harmony</a>？)，JDK 7的新特性将首先在Open JDK中实现。OpenJDK与Sun JDK的关系，就如OpenSolaris与Sun Solaris之间的关系。一个是开源社区主导的开源项目，另一个是Sun公司的产品。但Sun的产品(JDK，Solaris)是从开源项目(OpenJDK，OpenSolaris)中来的，只不过Sun在内部另外再做了一些测试。可能Sun产品的稳定性更强些，但差别应该很小，因为Sun这些产品的源代码最终还是要放到相关的开源项目中。<br />
&nbsp;&nbsp;&nbsp; <strong>Consumer JRE</strong>。当前的JDK/JRE太大了？Java程序的启动(特别是冷启动)太慢了？Consumer JRE很快就要来了。还有Java Kernel，它能像Linux Kernel那样出众嘛？<br />
&nbsp;&nbsp;&nbsp; <strong>Java DB</strong>。我一向关注数据库应用，去年听了，今天还要听。超级小(但比<a href="http://www.db4o.com/">db4o</a>大N倍)、可嵌入(不一定就是"嵌入式")，做大型数据库的前端Cache，方便使用、无需DBA，...。看起来都很吸引人，不是吗，哈哈哈...。在去年的STD中就听了Sun的数据库产品经理(华人，能够讲中文，就是讲中文，太棒了！)讲的这个session，今年又将有<br />
新玩意儿(也许这次要换讲师了？！)。<br />
&nbsp;&nbsp;&nbsp; <strong>Swing</strong>。我个人(or，一个人？)最喜欢的Java"表现层"。"UI"可能是Java最弱的方面了。Web方面的表现层框架，用起来都不方便(和M$ .Net的WebForm差太远了)；由于Java的桌面应用不受多数人的关注，而且还受SWT的冲击，Swing/AWT的应用面只能很小了。但我就是喜欢这种纯Java的"表现层"，它那如此优秀的组件化恐怕是其它Web表现层框架无法达到的(JSF的组件化是在模仿Swing)。在Java使用GPL v2协议开源之后，可以与Linux系统兼容(目前Ubuntu 7.0.4已默认安装JRE 6)，这为Java桌面应用提供了更多机会。<br />
&nbsp;&nbsp;&nbsp; <strong>Concurrency</strong>。</span><span style="font-size: 10pt;">该主题是今年Java One的session之一。</span><span style="font-size: 10pt;">java.util.concurrent包是JDK 5的重要新特性。在JDK 5之前，大家在编写Java多线程应用时，只能使用Thread，Runnable和wait，notify，notifyAll，...等少数几个类/接口和方法。大量的工作都需要应用程序员自己去完成。现在有了concurrent包，相信会给大家提供更多的便利。该包目前受到大师们的广泛重视。关于它，已经有了专题书籍<span style="font-size: 10pt;">"JAVA CONCURRENCY IN PRACTICE"(主要作者Brain Goetz是JSR 166--"</span></span><font size="-1">Concurrency Utilities</font><span style="font-size: 10pt;"><span style="font-size: 10pt;">"的核心成员，合作者还包括Joshua Bloch这样的Java Guru)和"<span style="font-size: 10pt;">Concurrent Programming in Java: Design Principles and Patterns</span></span></span><span style="font-size: 10pt;"><span style="font-size: 10pt;">"(作者Doug Lea是JSR 166和OpenJDK项目的领导，concurrent包的创始人)；Bruce Eckel的"Think in Java 4th"有一章专门讲它；Joshua Bloch在他的"Effective Java"第二版(尚未完成)中也将会为concurrent单辟一章。虽然在实际的工作中还没有机会编写多线程应用，但一直对它十分感兴趣。早前在参加SCJD考试时，做的一个C/S应用就使用了多线程。但那时是使用JDK 1.4，没能用到concurrent包。而且整个多线程机制也十分简单：由RMI分派线程，自己写一个Lock管理器，再加上同步。已经买了一本"JAVE CONCURRENCY IN PRACTICE"中文版，将会继续研究多线程应用。</span></span><br />
<span style="font-size: 10pt;">
&nbsp;&nbsp;&nbsp; <strong>Garbage Collector</strong>。我不得不关注的Java Coding基本功，该主题也是今年JavaOne的session之一(看来世界上的Guru、牛X、高手们都是很重视基础的，I love :-)。(如果有Exception Handle方面的session就好了，这也是Java的关键基础之一)。<br />
&nbsp;&nbsp;&nbsp; <strong>JSF</strong>。不得不说，我在Java Web表现层开发方面的"造诣"颇小。因为我认为Web表现层应用并不是纯Java的(如前所述，我喜欢Swing的原因之一就是它的纯Java性)，做Web表现层开发，不是完全在做Java开发(JSP，JavaScript，HTML，CSS，...)。在主流的几种Java Web表现层框架中，JSF也不是最常用的。不过，由于JCP把JSF作为Java EE 5规范的一部分，那么所有要兼容Java EE 5规范的应用服务器就必须提供自己的JSF实现。既然主流的应用服务器都已经(如WebLogic 10，Kingdee Apusic 4--关注一下国货撒)或将要(如JBoss 5)默认提供JSF框架，那么我们也许可以想当然的认为，使用JSF的比率将来肯定会有所提升。大厂商们的这种做法，还真有点"霸权主义"、"强权政治"的意味。不过，公道自在人心，还是要相信群众哦。<br />
&nbsp;&nbsp;&nbsp; <strong>Java FX</strong>。M$ Silverlight的"杀手"？但我似乎没必要去做那些炫目的RIA。<br />
&nbsp;&nbsp;&nbsp; ...<br />
<br />
&nbsp;&nbsp;&nbsp; 为STD打了一次广告，但是免费的。个人认为多参加一些此类技术活动，对自己的技术发展是十分有利的。<br />
&nbsp;&nbsp;&nbsp; 在参加完</span><span style="font-size: 10pt;">今年的</span><span style="font-size: 10pt;">STD和Netbeans Day之后，我会为每一天的活动写一篇随笔，以飧众友。<br />
<br />
&nbsp;&nbsp;&nbsp; See you at <a href="http://www.suntechdays.cn/">Sun Tech Days</a></span><span style="font-size: 10pt;"> 2007！</span><span style="font-size: 10pt;">
</span><img src ="http://www.blogjava.net/jiangshachina/aggbug/144709.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiangshachina/" target="_blank">Sha Jiang</a> 2007-10-30 16:28 <a href="http://www.blogjava.net/jiangshachina/archive/2007/10/30/144709.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>