javaone_JavaOne 2012:JavaOne技术主题演讲

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的介绍包括对Java较少冗长的讨论,这要归功于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

javaone

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

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

相关文章

java sqlserver 死锁_sqlserver数据库发生死锁处理

SQLSERVER数据库锁表1. 查看被锁的表select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableNamefrom sys.dm_tran_locks where resource_typeOBJECT2. 解除表的锁定declare spid intSet spid 57 --锁表进程declare sql varchar(1000)set sqlk…

setjump和longjump

int setjmp( jmp_buf env );void longjmp( jmp_buf env, int value );# setjmp(j)设置“jump”点,用正确的程序上下文填充jmp_buf 对象j。这个上下文包括程序存放位置、栈和框架指针,其它重要的寄存器和内存数据。当初始化完jump 的上下文,se…

jmeter操作数据库

1) jmeter不能直接连数据库,需要先添加jar包。 然后将jar包的路径添加到下图: 2) 操作数据库之前要知道数据库的信息(ip、端口号、账号、密码),操作哪个数据库就连哪个: 在配置元件-JDBC Connectio…

使用Hystrix DSL创建弹性骆驼应用程序

Apache Camel是一个成熟的集成库(到现在已有9年的历史了),它实现了Enterprise Integration Patterns一书中的所有模式。 但是Camel不仅是EIP实现库,它还是一个不断发展,添加新模式并适应行业变化的现代框架。 除了在每…

php7 对象转数组,php7中为对象/关联数组进行解构赋值

在CoffeeScript,Clojure,ES6和许多其他语言中,我们对对象/贴图/等进行了解构,如下所示:obj {keyA: Hello from A, keyB: Hello from B}{keyA, keyB} obj我在php中找到了这个list函数,可以让你像这样构造数…

虚函数表

虚函数   C中的虚函数的实现一般是通过虚函数表(C规范并没有规定具体用哪种方法,但大部分的编译器厂商都选择此方法)。 类的虚函数表是一块连续的内存,每个内存单元中记录一个JMP指令的地址。 注意的是,编译器会为每个有虚函数的类创建一个…

linux bash tutorial

bash read-special-keys-in-bash xdotool linux 登录启动顺序转载于:https://www.cnblogs.com/shaohef/p/9528927.html

centos7安装php8,centos8安装php7.4

一,下载php7.41,官方网站:https://www.php.net/2,下载[rootyjweb source]# wget https://www.php.net/distributions/php-7.4.2.tar.gz说明:在linux上以编译方式安装软件时,多数人都习惯把软件安装到 /usr/local目录下&#xff0c…

C++的四种强制类型转换

C的四种强制类型转换,所以C不是类型安全的。分别为:static_cast , dynamic_cast , const_cast , reinterpret_cast 为什么使用C风格的强制转换可以把想要的任何东西转换成合乎心意的类型。那为什么还需要一个新的C类型的强制转换呢? 新类型的…

MongoDB系列之——安装和启动

CentOS 7 安装MongoDB 4.0 社区版 1. Yum安装 创建Yum仓库先创建新的文件 vim /etc/yum.repos.d/mongodb-org-4.0.repo  在新文件中填入     [mongodb-org-4.0] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/…

javaone_JavaOne 2012:JavaFX图形技巧和窍门

javaone我回到希尔顿(皇家宴会厅B)看了Richard Bair的(Oracle Java Client Architect)的“ JavaFX图形技巧和窍门”。 Bair与FX Experience相关联,并且显然了解JavaFX。 拜尔说,他演讲的主题是表演。 他告诫…

php pdo 参数绑定,PDO预处理之参数绑定和列绑定

摘要:PDO查询中,2个绑定操作:参数绑定与列绑定;参数绑定:bindParm() 和 bindValue();bindParm(:占位符,变量,类型常量) 类型常量默认为字符串bindValue(:占位符,值或变量,类型常量) 如果直接传值,可省略类型…

自定义C++异常处理

例1&#xff1a;自定义一个继承自excepton的异常类myException C标准中&#xff0c;定义在<stdexcept>中的任何异常类都派生自exception Class&#xff0c;本例也只是简单地由exception继承&#xff0c;在try段抛出一个异常并捕捉。代码如下&#xff1a; /* test.cpp ve…

DCL并非单例模式专用

我相信大家都很熟悉DCL&#xff0c;对于缺少实践经验的程序开发人员来说&#xff0c;DCL的学习基本限制在单例模式&#xff0c;但我发现在高并发场景中会经常遇到需要用到DCL的场景&#xff0c;但并非用做单例模式&#xff0c;其实DCL的核心思想和CopyOnWrite很相似&#xff0c…

使用CLI扩展和重新平衡Couchbase集群

Couchbase通过多种方式提供高可用性和灾难恢复 &#xff1a; 同质簇 复写 集群内复制 备份还原 机架区意识 该博客将展示如何使用Couchbase命令行界面&#xff08;CLI&#xff09;创建Couchbase集群。 此外&#xff0c;还可以使用Couchbase REST API和Couchbase Web Consol…

将php源码修改成存在注入的源码,天融信关于ucms系统存在代码注入漏洞的分析...

一、背景介绍UCMS是一款简单的开源内容管理系统&#xff0c;可以非常方便的通过它来快速开发各种各种企业站、文章站、站群系统。系统兼容PHP5.2–PHP7.0&#xff0c;在APACHE、NGINX、IIS上都能使用&#xff0c;支持MySQL SQLite两种数据库。后台简洁高效&#xff0c;上手容易…

第1章 计算机系统漫游(深入理解计算机系统)

1 #include <stdio.h> 2 3 int main() 4 { 5 printf("hello, world\n"); 6 } 1.1 信息就是位上下文 hello程序的声明周期是从一个源程序开始的&#xff0c;即程序员利用编辑器创建并保存的文本文件&#xff0c;文件名是hello.c。源程序实际上就是一个由值…

java impliments,dubbo使用GenericService泛化调用

我们项目中常见场景&#xff0c;java应用内部接口都是使用dubbo&#xff0c;某个非java应用需要调用我们的接口的时候&#xff0c;无法使用dubbo&#xff0c;这是我们需要给它提供其他形式的接口&#xff0c;如restful api等等&#xff0c;这时我们需要为这个接口开发而增加额外…

使用Eclipse 创建 搭建SpringBoot项目

之前用IDEA 创建Springboot 项目感觉十分简单&#xff0c;但是常用的毕竟是Eclipse 所以开一个帖子记录一下Eclipse 如何创建 Springboot 项目 第一步&#xff1a;Help -> Eclipse Marketplace… 在search 中输入 STS install 即可&#xff01; 第二部&#xff1a;new -&g…

static函数与普通函数区别

全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式&#xff0c; 静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序&#xff0c; 当一个源程序由多个源文件…