仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 620|回复: 8
打印 上一主题 下一主题

[学习教程] JAVA网站制作之JavaOne 2013综述:Java 8是反动性的,Java返来了仓酷云

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:21:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)JavaOne2013已于克日在旧金山举办。9月22日,来自Oracle员工PeterUtzschneider、NandiniRamani和CameronPurdy的计谋主题演讲拉开了此次庆典的尾声,举动延续到9月26日。
这是第十八次JavaOne年夜会,Java社区并没有显出放缓的迹象。Utzschneider告知不雅众,Java仍旧是天下第一的开辟平台,而且Java用户组的数目以每一年10%的速率增加。
Java的将来

Ramani切磋了Java的近况和Java怎样有多少分歧的SDK,这里仅举几例,如JavaSE7、CDC1.1(基于SE1.4.2)、CLDC(基于SE1.3)和JavaME。已往,这些完成能很好地服务于特定的垂直市场,但多年来,每种完成都各自演化而变得愈来愈伶仃。在Java8中,CompactProfile将代替CDC。
JavaME和JavaSE之间的API会很相似,Java言语会撑持二者的一切特征。Java8会带来一致的平台:代码可移植、通用的API和工具——从SE嵌进式开辟到服务器端JavaEE开辟。Java开辟职员的范例未来会只要一种。

<br>
Java平台计谋的别的要素还包含:同步公布(Java8预览版如今已能够下载)和与互助同伴(ARM、Freescale和Qualcomm)一同使Java成为芯片上的一等国民。为了可以复杂地移植和扩大JavaEmbedded,Oracle在8月份启动了Java平台集成器项目。
JavaEE7在方才已往的炎天公布,上两届JavaOne年夜会都针对它举行了会商,可见这是一个主要的里程碑。Purdy提到,JavaEE7重点存眷三个方面:开辟职员的临盆力、满意企业需乞降HTML5。

<br>
两年前,在JavaEE7公布的时分,主题是云。如今,JavaEE7有很多用于云部署的复杂易用的特征,包含平安加强、默许资本、数据库布局天生、RESTful服务客户端API和用于多租户使用程序的JSF皮肤。最初,Cameron公布Avatar项目从如今起开源。Avatar跟Node.js相似,但运转在JVM上。
Java8是反动性的,Java返来了

Java8是此次年夜会一个很主要的演讲主题,这点从MarkReinhold的手艺主题演讲中可见一斑。Java8包括了很多新特征,包含新的Date和TimeAPI(JSR310)、NashornJavaScript引擎、范例注解(JSR308)、CompactProfile和Lambda项目(JSR335)。
Lambda是编程模子最年夜的单一晋级,比以往任何晋级都要年夜,乃至比泛型还年夜。我们经心和谐,同时对假造机、言语和库举行了改进,自从有Java以来,这是第一次。但了局感到仍旧像Java。——MarkReinhold
OracleJava言语架构师BrianGoetz持续展现Lambda表达式怎样往失落大批只用于表达复杂头脑的榜样文件。在Lambda表达式呈现之前,开辟职员常常利用糟糕的“牛肉面包比(beeftobunratio)”来表达头脑,一般是用外部类。Goetz展现了上面的例子:
  1. Collection<Person>people=…;Iterator<Person>ip=people.iterator();while(ip.hasNext()){Personp=ip.next();if(p.getAge()>18){ip.remove();}}
复制代码
为了笼统上述头脑,开辟职员能够用Predicate重写上述测试代码,写法以下:
  1. Collections.removeAll(people,newPredicate<Person>(){publicbooleantest(Personp){returnp.getAge()>18;}});
复制代码
利用Lambda表达式,写法要复杂很多:
  1. Collections.removeAll(people,p->p.getAge()>18);
复制代码
Lambda表达式不单单是一种更好的语法,它还利用invokedynamic天生一种更简便高效的字节码。作为Java言语及其API已变得更好的证实,Goetz议论了新的流API和怎样用它在汇合长进行批量操纵。比方:
  1. inthighestWeight=people.stream().filter(p->p.getGender()==MALE).mapToInt(p->p.getWeight()).max();
复制代码
这供应了语法、功能和笼统,而开辟职员还取得了并行。Java7新增了用于义务分化的Fork/Join框架,但其API使它很难利用。在Java8中,开辟职员只需修正一行代码,将stream()改成parallelStream()便可:
  1. inthighestWeight=people.parallelStream().filter(p->p.getGender()==MALE).mapToInt(p->p.getWeight()).max();
复制代码
要懂得更多关于Lambda项目标信息,检察这里大概下载Java8。
NetBeans7.4

NetBeans工程总监JohnCeccarelli用象棋游戏演示了HTML5使用程序(用Knockout.js编写)的编纂。他树模了怎样在NetBeans中调剂属性(与在Firebug大概Chrome开辟职员工具中的操纵相似)并使调剂了局立即反应在扫瞄器中,并且无需从头加载。这看起来十分像IntelliJIDEA的LiveEdit插件。
客岁,NetBeans引进了Easel项目,其目标是在NetBeans中增添初级HTML5撑持。Ceccarelli提到,社区对此的反响是“嘿,那太棒了,不外我们但愿在EE项目里完成这一事情。”好动静是,就在JavaOne年夜会前夜,NetBeans7.4RC1公布了,撑持HTML5、JavaEE、JavaWeb和MavenWeb项目。
除HTML和CSS的及时编纂功效外,NetBeans7.4还撑持Angular、jQuery和Knockout.js等JavaScript框架。这意味着代码编纂器能够辨认JavaScript中一切的DOMid和Model称号。NetBeans7.4满是关于挪动Web使用程序和挪动夹杂使用程序的开辟(经由过程撑持Cordova3.0)。风趣的是,怎样在桌面扫瞄器以外的挪动设备上利用及时编纂功效。最新的候选版本能够从netbeans.org高低载。
上文提到的演示程序,其象棋服务器用JavaEE7编写,并部署在GlassFish4服务器上。该使用程序有五个分歧的模块:象棋端点、玩家注册、象棋引擎、象棋游戏办理器和耐久性办理器。

<br>
象棋服务器利用了很多JavaEE新手艺,包含:WebSockets、Batch、EJB、JPA和JAX-RS2.0。客户端与服务器的一切通讯都是经由过程JSON完成。GlassFish团队的一位成员SantiagoPericas-Geertsen展现了一些代码,用于申明在JavaEE7中创建WebSocket端点十分简单:
  1. @ServerEndpoint(value="/chessserver",encoders=MessageEncoder.class,decoders=MessageDecoder.class);publicclassChessServerEndpoint{@InjectprivateGameCatalogcatalog;@OnMessagepublicMessageonMessage(Stringmessage,Sessionsession){returnmessage.processMe(this);}...}
复制代码
跟该端点交互的客户端API与此十分相似,并且看上往很简单完成。
Oracle手艺主题演讲中展现的最初一项手艺立异是DukePad。这是一款能够在家DIY的平板电脑,基于RaspberryPi和JavaSE8Embedded。他们发明CPU功能欠佳:RaspberryPiCPU的速率几近和PentiumⅡ一样,比SamsungGalaxyS4慢14倍,比IntelCorei7处置器慢94到100倍。不外,它的GPU十分好,比PentiumⅡ在1996年的速率快400倍。
OpenJFX开源了年夜部分组件,包含iOS和Android原型。演讲者提到,OpenJFX论坛很安康,他们已从用户那边收到了大批的Bug呈报。他们也收到了相称数目的社区奉献。JavaFX包括在JavaSE8中。
关于Java9及其将来,Oracle有多少计划,次要包含JavaOnGPUs、Reification(处置泛型的范例擦除成绩)、JNI2.0、Memory-Efficient数据布局和用Jigsaw构建模块化平台。
Java社区

Oracle产物办理初级主管DonaldSmith拉开了Java社区主题演讲的尾声。他带来了很多分歧的人,在台上议论Java手艺令终端用户兴高采烈的案例。
ToriWieldt谈了“RaspberryPi应战”举动,25名开辟职员介入个中,完成了六个项目。“心脏眼镜(HeartofGlass)”(用谷歌眼镜及时监控心率)和MTAAS(怪兽卡车服务)是此次举动中呈现的两个乐成的项目。DonaldSmith还公布,Oracle已与RaspberryPi基金会签定了一项OEM协定。后者将入手下手在他们的一部分镜像中包括JavaSE,因而Java会以开箱即用的体例包括个中。
在社区主题演讲中,另有别的值得注重的通告,包含Square成为OpenJDK的一员和Devoxx4Kids正在寻觅JUG卖力人和家长,以便在他们地点的乡村主理讲习班。固然,AdityaGupta怎样成为Minecraft编程妙手的演示,也是亮点之一。同时,这也是主题演讲中的第一个Eclipse演示程序。他让猪飞起来,并使爆炸制造更多的爆炸。他是从他的爸爸ArunGupta那边和MinecraftForge上学到了个中年夜部分常识。
AlisonDerbenwickMiller提到了Oracle学院。后者为从幼儿园到12年级的先生和年夜先生供应课程。该学院客岁培训了250万论理学生,并供应了先生讲习班、教员开展和认证扣头。
在社区主题演讲的教导部分以后,举行了很多呆板人演示。JamesGosling乃至还作为佳宾谈了他今朝的事情。
Java返来了的证据

为何说Java返来了?计谋和手艺主题演讲都匡助注释了这个成绩。Java8但愿再次使Java编程变得风趣(经由过程削减榜样代码),而JavaEE7中大批的API将会使构建古代使用程序变得复杂。在比来的一些文章中,另有进一步的证据:


  • Wired的“Java迎来第二个春季:遗物返来,统治Web”
  • Dr.Dobb的“Java频临出生?它看起来的确十分安康”
假如读者没无机会列入往年的JavaOne年夜会,能够在日历上记下来岁的集会日期。假如不是为了手艺内容,那末能够来介入交换。Oracle报答晚会上有收费的食品、啤酒和Mroon5和BlackKeys的音乐扮演。以后另有派对,展厅里各处都是人。

最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,net网页编程Beans等等,但是我认为如果java想超越.net网页编程,那么他首先要解决的就是IDE工具的整合。
山那边是海 该用户已被删除
沙发
发表于 2015-1-20 21:15:48 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
若相依 该用户已被删除
板凳
发表于 2015-1-30 05:22:17 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
简单生活 该用户已被删除
地板
发表于 2015-2-6 07:35:31 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
小魔女 该用户已被删除
5#
发表于 2015-2-7 16:59:42 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
愤怒的大鸟 该用户已被删除
6#
发表于 2015-2-22 16:28:12 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
变相怪杰 该用户已被删除
7#
发表于 2015-3-4 03:33:41 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
透明 该用户已被删除
8#
发表于 2015-3-11 15:48:07 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
深爱那片海 该用户已被删除
9#
发表于 2015-3-26 18:51:02 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表