JavaOne 2012:JavaOne技术主题演讲

Mark Reinhold从JavaOne 2012技术主题演讲开始。 他说,今年的版本将有所不同,因为它将使用大致相同的示例来说明Java的各个方面,而不是对Java的每个组件进行单独的单独介绍。 JavaFX团队的Richard Bair和Jasper Potts (并与FXExperience相关联)介绍了这个示例应用程序,它是一个日程表构建器,带有来自今年JavaOne的演示文稿和演讲者数据。

作为示例应用程序介绍的一部分,演示者付出了额外的努力,指出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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言结构体及函数传递数组參数演示样例

C语言结构体及函数传递数组參数演示样例 注:makeSphere()函数返回Sphere结构体,main函数中。调用makeSphere()函数,传递的第一个參数为数组,传递的数组作为指针。posted on 2017-07-30 18:42 mthoutai 阅读(...) 评论(...) 编辑 收…

Maven内部版本号插件–用法示例

假设我们需要向一些工件(jar,war等)添加内部版本号。 在这里,我想演示buildnumber-maven-plugin的用法。 这篇文章基于: http://mojo.codehaus.org/buildnumber-maven-plugin/usage.html http://www.site.lalitbhatt…

Python魔法方法(magic method)细解几个常用魔法方法(下)

接上文,再介绍最后几个常用的魔法方法。 关于__dict__: 先上个例子: class Test(object):fly Truedef __init__(self, age):self.age age __dict__魔法方法可以被称为系统,他是存储各分层属性的魔法方法。__dict__中,键为属性名…

AIX下RAC搭建 Oracle10G(六)dbca建库

AIX下RAC搭建系列 AIX下RAC搭建 Oracle10G(六)dbca建库 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AIX203 AIX204 交换机 SAN光纤交换机 存储 SAN T3存储 大纲流程例如以下: 第一部分&#xff1…

php string slice,substring()与str.slice()区别

当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。测试代码如下:var test h…

JavaOne 2012:掌握Java部署

在吃完一次JavaClass 2012午餐会的意大利经典组合后,我前往希尔顿帝国宴会厅B观看了演示“掌握Java部署”。 来自Oracle的发言人是Mark Howe和Igor Nekrestyano Howe表示,部署团队的目标是帮助Java开发人员将其应用程序部署到所选平台。 他首先讨论了“功…

数组删除奇数编号的数据求最后的元素

//abcd...s 这19个字符循环106次成一个长度2014的字符串&#xff0c;然后删除第奇数个&#xff0c;得到小串&#xff0c;再删&#xff0c;最后的字符是&#xff1f; #define _CRT_SECURE_NO_DEPRECATE #include<stdio.h> #include<windows.h> #include<string.…

php 提高吞吐量,如何提高网站的吞吐量

吞吐量定义百科吞吐量是指对网络、设备、端口、虚电路或其他设施&#xff0c;单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。以上的定义比较宽泛&#xff0c;定义到网站或者接口的吞吐量是这样的&#xff1a;吞吐量是指系统在单位时间内处理请求的数量。这里有一…

ubuntu下如何查找某个文件的路径

1.whereis 文件名 特点:快速,但是是模糊查找,例如 找 #whereis mysql 它会把mysql,mysql.ini,mysql.*所在的目录都找出来. 2.find / -name 文件名 特点:准确,但速度慢,消耗资源大,例如我想找到PHP.ini的准确位置,就需要用 #find / -name php.ini 3.locate 文件名 强力推荐的方…

事件的学习

1.鼠标单击事件( onclick &#xff09;: onclick是鼠标单击事件&#xff0c;当在网页上单击鼠标时&#xff0c;就会发生该事件。同时onclick事件调用的程序块就会被执行&#xff0c;通常与按钮一起使用。 <!DOCTYPE HTML> <html> <head> <meta http-equiv…

使用您自己的规则在Eclipse中自定义PMD

PMD是非常好的Java代码扫描程序&#xff0c;可帮助您避免潜在的编程问题。 它可以轻松扩展以满足您的需求&#xff0c;并且本文将为您带来与JPA的Enumerated注释用法相关的自定义PMD规则的简单示例。 在继续阅读之前&#xff0c;您应该检查我以前的文章之一-JPA-Enumerated def…

切换oracle用户impdp,Oracle 12c pdb使用expdp/impdp导入导出

12c推出了可插拔数据库&#xff0c;在一个容器cdb中以多租户的形式同时存在多个数据库pdb。在为pdb做数据泵导入导出时和传统的数据库有少许不同。1&#xff0c;需要为pdb添加tansnames2&#xff0c;导入导出时需要在userid参数内指定其tansnames的值&#xff0c;比如 useridus…

搭建mysql集群,使用Percona XtraDB Cluster搭建

Percona XtraDB Cluster提供的特性有&#xff1a;1.同步复制&#xff0c;事务要么在所有节点提交或不提交。2.多主复制&#xff0c;可以在任意节点进行写操作。3.在从服务器上并行应用事件&#xff0c;真正意义上的并行复制。4.节点自动配置。5.数据一致性&#xff0c;不再是异…

使用NoSQL实现实体服务–第4部分:Java EE

现在&#xff0c;我已经准备好了框架式的合同优先型Web服务&#xff0c;并使用Ektorp和CouchDB创建了数据访问层 &#xff0c;是时候将它们连接到一个可以正常工作的实体服务中了 。 为此&#xff0c;我将使用Java EE和Glassfish 3.1。 值得注意的是&#xff0c;对于他的那种R&…

yii2之DetailView小部件

DetailView小部件用于展示单条数据记录&#xff0c;可配置属性很少&#xff0c;使用也很简单&#xff0c;直接贴代码&#xff0c;一看就懂&#xff01; yii小部件数据小部件DetailView的使用示例&#xff1a; <? DetailView::widget([model > $user,//模型对象&#xff…

克隆安装oracle,Oracle 之 Cloning $oracle_home (克隆安装oracle软件)

用途&#xff1a;Cloning an Oracle Home &#xff0c; 可以免去多台机器重复安装oracle软件1、停止相关进程[rootnode1 bin]# ./crsctl stop cluster -all2、打包 dbhome_1 目录[rootnode1 11.2.0]# cd /u01/app/oracle/product/11.2.0/[rootnode1 11.2.0]# tar -zcvpf db_1.b…

gitlab的安装和基本维护

基本介绍 GitLab是一个自托管的Git项目仓库&#xff0c;可以自己搭建个人代码管理的仓库&#xff0c;功能与github类似。 安装 操作系统&#xff1a;CentOS6.5 gitlab官网下载安装地址&#xff1a;https://about.gitlab.com/downloads/#centos6 1.安装依赖的包 yum install cur…

Spring配置文件和Java配置

我的上一个博客介绍了Spring 3.1的配置文件&#xff0c;并解释了使用它们的业务案例&#xff0c;并演示了它们在Spring XML配置文件中的用法。 但是&#xff0c;似乎很多开发人员更喜欢使用Spring的基于Java的应用程序配置&#xff0c;因此Spring设计了一种使用带有现有Configu…

php 删除单个文件大小,php删除指定大小的jpg文件

function actionZmdel(){//set_time_limit(0);$dir dirname(dirname(dirname(dirname(__FILE__))))./2012jxgwyimg;$dirarr scandir($dir);echo 正在删除...;foreach($dirarr as $subdir){if($subdir ! . && $subdir ! ..){$path $dir./.$subdir;$files glob($path…

2017寒假零基础学习Python系列之函数之 函数之定义可变参数

若想让函数接受任意个参数&#xff0c;就可以定义一个可变的参数&#xff1a; def fn(*args): print args fn() >>>() fn(1,2,5,6) >>>(1,2,5,6) 原理是Python解释器把传入的一组参数封装在一个tuple传递给可变参数&#xff0c;因此在函数内部&#xff0c;直…