仓酷云

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

[学习教程] JAVA网页设计Java那些事儿 - JavaOne 2011、CDI和Google Dart言语仓酷云

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

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

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

x
他们对jsp,servlet,javabean进行封装就是为了展示他们的某个思想,与java的开发并没有必然的关系,也不见得在所以情况下,别人使用起来会简单。关于Java社区来讲,9月和10月间最主要的事务是一年一度的JavaOne年夜会的召开。JavaOne2011的主题是“推进Java向前开展(MovingJavaForward)”。从这个主题能够看出,Oracle正试图以向导者的身份率领Java社区来配合推进Java的开展。JavaSE7的公布,是这个过程当中的一个主要里程碑。相对上一次JavaOne集会来讲,JavaOne2011在社区中的评价对照不错,被以为是一次乐成的集会。Oracle也加倍器重社区在推进Java开展中的感化。遗憾的是,因为Google和Oracle之间的专利诉讼,来自Google的开辟者再一次出席了JavaOne年夜会。
在JavaOne2011上,Oracle公布了一些新的手艺和项目,也发布了一些主要项目标开展计划。
JavaSE8

依据社区的反应,JavaSE8的公布工夫从2012岁尾推延到了2013年夏,间隔JavaSE7的公布差未几恰好2年的工夫。在JavaSE8中会包括的内容包含:


  • Jigsaw项目:为Java平台和Java使用供应模块化体系的撑持。
  • Lambda项目:为Java言语增添闭包的撑持。为Java汇合API供应批量并行操纵API,如filter/map/reduce。
  • 把JRockit假造机中的部分特征整合到HotSpot假造机中,供应一个一致的假造机完成。
  • 集成JavaFX3.0。在JavaOne2011上JavaFX2.0正式公布,并会在JDK7u2中集成JavaFX2.0的安装。JavaSE8中则会间接集成JavaFX3.0。
  • 假造机上能够间接利用的新的JavaScript引擎,和更好的JavaScript和Java互操纵性。新的JavaScript引擎称为Nashorn,是一个基于JSR292的完成。
  • 在挪动设备上,增添对多点触摸、摄像头、地舆地位信息、罗盘和重力减速器的撑持
  • 对Java平安、日期/工夫、收集、国际化和可会见性API的更新。
JavaEE7

JavaEE7的方针是把JavaEE手艺与今朝炙手可热的云盘算相分离,把JavaEE平台自己酿成一个服务(PlatformasaService,PaaS),同时供应弹性盘算(Elasticcomputing)和多租户(Multi-tenancy)的撑持。相对今朝已有的云盘算手艺,JavaEE7的最年夜上风在于尺度化和开放性。JavaEE7的内容包含:


  • 供应平台即服务的撑持,包含服务界说和服务供应,和在API中撑持多租户。
  • 加强WebProfile的才能,增添对JAXRS2.0的撑持。
  • 进一步简化开辟,包含新的JMS2.0,更多的依附注进的利用,和更多的服务元数据和优化设置体例等。
JavaME7

在JavaME方面,开展的重点是与JavaSE坚持同步。当JavaSE中有新的更新时,尽快的同步到JavaME中。这个中包含公布版本的同步、JavaMEAPI能够运转在JavaSE情况中、和分歧的工具接口等。别的的一个方针是让Java平台撑持一切分歧的平台,不论是甚么样的CPU和内存限定情况。最初一个偏向是与内容和服务举行深度集成,包含会见运营商供应的服务。
CDI

关于依附注进的观点,信任良多开辟职员都不生疏。一个组件在运转过程当中会依附其他组件供应的功效。传统的做法是由组件自己卖力查找所需的依附对象。这类体例会形成组件之间的紧耦合,倒霉于组件的保护和更新。依附注进的做法例是由组件以声明式的体例标明其依附干系,由框架在运转时把所需的组件的Java对象注进到以后组件中。相对JavaSE来讲,依附注进的观点关于JavaEE加倍合用。JavaEE中的良多资本和服务都是由容器来卖力办理的。关于单个使用来讲,查找由容器卖力办理的组件并非一件简单的事变。更好的做法是由使用来声明所需的资本和服务,由容器卖力注进到使用中。经由过程这类体例,容器也能够更好的对资本和服务举行办理。以数据库毗连为例,传统的做法必要由使用自己加载相干驱动并创立数据库毗连,和在得当的时分举行开释。而利用容器办理并注进依附的做法,则加重了使用开辟职员的事情量。
JavaEE5中增加了对依附注进的无限撑持。经由过程注解能够往容器办理的对象中注进资本的对应对象。JavaEE6中把依附注进的观点更进一步,即引进了JSR299(ContextsandDependencyInjectionfortheJavaEEplatform)标准,简称CDI。CDI标准吸取了来自SpringIoC容器、JBossSeam和GoogleGuice的最好理论,并与JavaEE开辟的实践必要相分离。正如CDI的字面寄义一样,CDI中的两个中心功效是高低文信息(context)和依附注进。这两个功效的分离点是Java中基础的组件模子bean。在CDI中,bean界说了使用的形态和逻辑,并由容器来举行办理。每一个被办理的bean都有界说好的绑定到特定高低文的感化域和性命周期。当必要注进或会见bean时,容器会从感化域对应的高低文中猎取。看成用域生效时,对应高低文中一切的对象城市被删除。CDI中的每一个bean都能够作为依附注进时的方针。
CDI中预界说了一些经常使用的感化域。默许的感化域是Dependent,暗示只对被注进的对象失效。感化域ApplicationScoped暗示使用的全局感化域,用来创立全局独一的对象。RequestScoped和SessionScoped则与HTTP相干,分离暗示HTTP哀求和HTTP会话。ConversationScoped是由使用自界说性命周期是非的感化域,能够用来完成跨多页面的事情流。以下面代码中的OrderProcessor类只存活在HTTP哀求中,而且依附OrderDao接口的完成。容器会在运转时查找到OrderDao接口的完成对象,并注进到OrderProcessor类的对象中。
  1. @Named@RequestScopedpublicclassOrderProcessor{@InjectprivateOrderDaoorderDao;}
复制代码
一般的依附注进体例是在代码中只依附接口,由容器在运转时选择符合的完成类的对象来举行注进。假如接口只要一个完成类,则不必要分外的声明。假如接口有分歧的完成,则必要利用限制符(qualifier)来声明详细利用的完成,不然容器没法做出准确的选择。CDI的一个特性是限制符不是一般的字符串,而是范例平安的注解。
经由过程Qualifier元注解能够创立新的限制符注解。以下面的代码创立了一个新的限制符注解InMemory。
  1. @Qualifier@Retention(RUNTIME)@Target({TYPE})public@interfaceInMemory{}
复制代码
该注解能够增加在OrderDao接口的完成上。
  1. @InMemorypublicclassInMemoryOrderDaoimplementsOrderDao{}
复制代码
假如在测试时,但愿利用复杂的基于内存的存储完成,可使用InMemory注解来声明。如许容器在注进时会利用InMemoryOrderDao类的对象。
  1. @Named@RequestScopedpublicclassOrderProcessor{@Inject@InMemoryprivateOrderDaoorderDao;}
复制代码
利用范例平安的注解范例能够制止利用字符串时会呈现的成绩。在利用字符串来辨别时,大概因为字符串内容的渺小毛病而形成难以发明的成绩。
GoogleDart言语

Google的开辟职员仿佛热中于开辟新的编程言语,并且每次新的言语都很形成对照年夜的影响。前不久,Google的开辟职员公布了新的编程言语Dart。Dart言语的方针是创立布局化的Web使用。在利用体例上相似Node.js和GWT,即在服务器端和客户端接纳不异的编程言语。在Node.js中,都是利用的JavaScript;在GWT中则是以Java为主;而Dart则更像是晋级版的GWT,只是用了一种计划更好的言语来替换Java。在服务器端,Dart运转在假造机(DartVM)之上;而在扫瞄器端,则转换成JavaScript来实行。
在语法上,Dart像是Scala和JavaScript的一个分离体。Dart中有类和接口的观点,同时范例声明是可选的。在Dart中,变量的范例声明是可选的。这么计划的起点是闪开发职员能够依据开辟的分歧阶段和使用的范例来选择符合的范例声明战略。在早期的原型开辟阶段或是开辟小型使用时,利用静态范例是一个不错的选择;而关于庞大的模块化的年夜型使用来讲,接纳静态范例则是一个更好的做法。Dart其实不对范例声明的选择做出限定。
上面的Dart代码示例展现了可选范例和类承继的基础用法。
  1. classAnimal{varlegs;Animal(this.legs);//简化的机关办法tellMyLegs(){print(this.legs);}}classDogextendsAnimal{Dog():super(4);}main(){vardog=newDog();dog.tellMyLegs();//输入4}
复制代码
值得一提的是Dart的并发编程模子。Dart程序在运转时老是单线程的,这点相似JavaScript。并发性是经由过程相似Actor的断绝体(isolate)来完成的。每一个断绝体是一个并发运转的单位,有本人的内存和实行逻辑。断绝体之间经由过程动静传送来举行通信。Dart中的断绝体与HTML5中的WebWorker十分类似。
Dart的方针并非替换JavaScript或Java,而是面向挪动平台。在Dart中,除中心库以外,另有一个DOMAPI的库,能够对DOM举行操纵。
Dart言语因为刚公布不久,良多工具还处于对照低级的阶段。不外相干的资本都是开放源代码的。感乐趣的人能够存眷上面的链接:Dart言语官方网站、GoogleCode上的Dart源代码和DartForce网站。最复杂的做法是下载Linux和Windows平台(不撑持WindowsXP)上的Dart假造机,并写一些Dart代码来举行实验。

认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,
若相依 该用户已被删除
沙发
发表于 2015-1-21 07:55:13 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-24 16:50:49 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-1-29 11:05:08 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
变相怪杰 该用户已被删除
5#
发表于 2015-2-6 00:27:26 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
小女巫 该用户已被删除
6#
发表于 2015-2-14 15:53:14 | 只看该作者
是一种突破用户端机器环境和CPU
admin 该用户已被删除
7#
发表于 2015-2-16 02:02:34 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
活着的死人 该用户已被删除
8#
发表于 2015-3-4 22:33:11 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
小妖女 该用户已被删除
9#
发表于 2015-3-11 20:26:47 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
蒙在股里 该用户已被删除
10#
发表于 2015-3-17 12:50:50 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
柔情似水 该用户已被删除
11#
发表于 2015-3-24 10:12:35 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
因胸联盟 该用户已被删除
12#
发表于 2015-3-28 02:38:25 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
再见西城 该用户已被删除
13#
发表于 2015-4-10 17:37:50 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
第二个灵魂 该用户已被删除
14#
发表于 2015-4-23 17:30:06 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
15#
发表于 2015-5-1 09:11:12 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
再现理想 该用户已被删除
16#
发表于 2015-6-16 04:19:37 | 只看该作者
是一种为 Internet发展的计算机语言
小魔女 该用户已被删除
17#
发表于 2015-6-19 15:06:04 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
简单生活 该用户已被删除
18#
发表于 2015-7-4 00:31:38 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
分手快乐 该用户已被删除
19#
发表于 2015-7-10 15:22:56 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
飘灵儿 该用户已被删除
20#
发表于 2015-7-13 01:17:28 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 21:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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