作為示例應用程序介紹的一部分,演示者付出了額外的努力,指出Oracle正在為MacOS發行JVM,而示例中正在使用OpenJDK。 他們還表示該示例也可以在Linux上運行。 他們為此應用程序使用了Java SE 7和JavaFX 2,并討論了SceneBuilder用于構建JavaFX應用程序的可用性。 他們演示了在NetBeans中使用SceneBuilder生成基于JavaFX的登錄頁面。
提到的其他有趣的JavaFX改進包括添加了ComboBox (盡管還沒有Date Picker), 與SWT的互操作性以及JavaFX Packager的可用性。 還提到JavaFX從一開始就進行了架構和設計,以允許將主UI線程與后臺線程分開,從而使其能夠利用多個CPU。
Bair顯示了實現JavaFX應用程序以充分利用當今的多個線程所需的相對冗長的代碼。 Brian Goetz上臺介紹了Lambda項目和Java語言的更改如何實現“更好的并行庫”。 Goetz表示,幫助開發人員的最簡單方法是為他們提供更好的庫,但是當該語言的局限性導致無法編寫庫來完全滿足需要時,必須在某種程度上擴展該語言。
格茨表示,內部類的目標與Lambda項目相同,但內部類“還有很多其他負擔”。 Goetz補充說,可能“確實不需要對集合執行批量操作,但這種方式會更好。” Goetz隨后展示了一個簡單但極富說明性的示例,說明了Lambda項目如何更改我們如何處理集合中的批量數據更改。 他的幻燈片顯示,今天使用了J2SE 5增強的for循環 ,但可以通過forEach方法(通過新的默認實現接口方法添加到所有集合中)和類似Groovy的關閉語法( ->
)來完成。
格茨的下一張幻燈片更加令人印象深刻。 他展示了在迭代一個集合時似乎正在執行的三個操作。 但是,他指出,所有這些操作都將在集合上一次通過,而只需一次遍歷該集合即可。 我所能想到的就是,“哇!” 格茨(Goetz)也有一張幻燈片,展示了對集合的computeIfAbsent
操作。 最后,他說還有很多工作要做,并引用了兩個URL與Lambda項目一起使用: http : //openjdk.java.net/projects/lambda/和http://jdk8.java.net/lambda/ 。
關于傳統Java環境和嵌入式環境之間的區別,進行了一些有趣的討論。 Raspberry Pi受到了多次重要的提及。
Reinhold開始談論模塊化和Jigsaw項目,并展示了“意大利面條圖的一點點,它比我們開始的地方更干凈,這是整個意大利面條圖”。 他以此為起點來討論將Project Jigsaw從Java 8引導到Java 9的有爭議的決定 。
Reinhold的幻燈片重點介紹了Java 8中的內容,例如Project Lambda,Compact Profiles,Type Annotations,Project Nashorn和新的Date / Time API。 Reinhold補充說,“所有這些工作都在OpenJDK中完成”,并且“所有規范工作都在JCP中完成”。
在主題演講預定結束的時間(當地時間晚上7點)開始Arun Gupta的演講是一項令人羨慕的任務。 他談到了Java EE,并展示了一張名為“ Java EE的過去,現在和將來”的幻燈片。 這張幻燈片展示了自1999年12月J2EE 1.2的十個規范以來Java EE如何添加功能。Gupta的另一張幻燈片談到了“ Java EE 7 Revised Scope”及其如何提高生產率(通過更少的樣板代碼,更豐富的功能和更多默認值)。并添加了HTML5支持(WebSocket,JSON和HTML5表單)。
Gupta的另一張幻燈片名為“ Java EE 7 –候選JSR”,其中列出了Java EE 7的所有新JSS和已修改的JSR。 然后,他將個別幻燈片集中在其中一些幻燈片上。 他的“ RESTful Web服務2.0的Java API”幻燈片討論了使用客戶端API的標準化方法。 Gupta的幻燈片顯示了今天是如何完成的(沒有庫),并將其與下一個客戶端API進行了比較,展示了這將變得多么簡單。
Gupta對JMS 2.0的覆蓋包括對JMS中較少冗長性的討論,這要歸功于Java編程語言中的注釋和其他新功能。 他提到,所需的資源適配器將使將來更容易“混合和匹配” JMS提供程序。 Gupta展示了一張包含小字體代碼的幻燈片(“此代碼不可讀”),演示了如何使用JMS 1.1發送消息。 隨后是一張幻燈片,其中顯示了利用注釋和資源注入發送消息的JMS 2.0中明顯更少(更清晰)的代碼。
Gupta對要添加到Java EE的JSON支持的內容包括項目符號“用于解析,生成,轉換,查詢等JSON的API”。 然后,他展示了一些幻燈片,其中包含示例JSON格式的數據以及使用構建器樣式訪問JSON的示例代碼。 感覺很像Groovy的JSON處理 。
WebSocket 1.0的Java API將允許使用注釋輕松地與WebSocket一起使用。 在介紹Bean Validation 1.1時,Gupta指出并非所有新采用的JSR都由Oracle領導。 他展示了在方法參數上使用內置的@NotNull
批注,還展示了人們將能夠編寫可類似地應用于方法參數的自定義約束。
Gupta強調了Java EE的其他改進,例如JPA 2.1,EJB 3.2等。這些JSR中的大多數都有早期的公開草案。 GlassFish 4是Java EE 7的參考實現,并且已經包含WebSocket,JSON,JMS 2等。
古普塔的幻燈片之一是《 阿凡達》 。 演示了“憤怒的競標”示例應用程序。 它基于Avatar并在GlassFish上運行,并使用標準的Java EE 7組件。
Gupta推出了針對NetBeans的Project Easel。 有人提到NetBeans 7.3 Beta將在本周晚些時候發布,并將包括對HTML5的支持,這是一種新的項目類型。 顯示的示例使用JQuery和CSS。 基于NetBeans的示例通過Google Chrome瀏覽器與WebKit進行了通信(它也可與JavaFX嵌入式瀏覽器一起使用),但最終有望與任何基于WebKit的瀏覽器或設備一起使用。 演示者展示了如何在Google Chrome瀏覽器中更新他對NetBeans中HTML5代碼(HTML,JavaScript和CSS)所做的更改。 它給人留下了深刻的印象,讓我希望我有足夠的時間接受邀請以提供NetBeans 7.3的早期測試。 NetBeans將能夠生成RESTful客戶端,支持JQuery并提供Project Nashorn編輯器。 可在http://netbeans.org/kb/docs/web/html5-gettingstarted-screencast.html上找到與此演示類似的演示。
與戰略主題演講一樣 ,該技術主題演講在共濟會禮堂舉行 。 我在今晚的主題演講中注意到的有趣趨勢之一是,來自三個不同組織的至少三個不同的人提到尋找熟練的Java開發人員,如果他們對工作機會感興趣,應該與他們聯系。
參考: JavaOne 2012: JCG合作伙伴 Dustin Marx在Inspired by Actual Events博客上的JavaOne技術主題演講 。
翻譯自: https://www.javacodegeeks.com/2012/10/javaone-2012-javaone-technical-keynote.html