Java技术的新方向

2016-01-29 12:50 8 1 收藏

Java技术的新方向,Java技术的新方向

【 tulaoshi.com - Java 】

  Java技术自问世时光已经过去了9个年头。作为一名一直关注其成长的记者,曾经一段时间有过这样的想法:“Java技术已经成熟,是不是发展速度该放慢一些了呢”。然而,这种想法错了。近来Java技术的进化相当显著。Java技术正在迎来“又一次革命”的风暴。这就是本文的结论。
  
  “又一次”指的是什么?“革命”指的又是什么?光看结论的话肯定是一头雾水。其实,笔者要讲的并不是变化这样一个事实,而是“促进变化的原动力”。是什么让Java技术发生变化?让我们从这一角度出发,先看一下Java的变化历程。

  Java正处于转变期

  回顾Java技术的发展历程,人们一定会感慨:2004年到2005年发生的变化如此之大,可以说“现在”正是Java技术的转换期。 Java技术由编程语言(Java语言)、运行环境(JVM:Java虚拟机)、框架(Java API群)组成,目前在每一个层面上都发生着巨大的变化。

  (1)编程语言的变化

  Java语言标准出现明显变化。在2004年9月发布的正式版本J2SE5.0(J2SE:Java2 Platform, Standard Edition,Java技术的核心运行环境)中,对Java语言标准中的Generics与元数据进行了大幅扩展。出现了被认为是“自Java问世以来的最大一次语言标准变化”(美国Sun Microsystems)。这次语言标准的变化给许多Java API带来了影响。许多企业API的新版本都引入了基于元数据的注解(程序中记录的附加信息),以较短的编码记述更多的信息。

  (2)Java运行环境的变化

  在J2SE5.0中,大幅度强化了JVM的管理功能与实用性,换句话说就是具备了Java执行OS(操作系统)的特征。例如,原来在J2EE (Java2 Platform, Enterprise Edition,构筑企业系统的Java技术)领域,标准配备有作为管理功能的应用软件管理框架JMX。不仅如此,还配备有JVM自身监控功能((JSR 174: Monitoring and Management Specification for the Java Virtual Machine)。在标准功能架构中可以实时监视JVM运行时的状态,也就是内存使用量、线程状态等。

  J2SE5.0中新追加的功能中包括并行处理实用程序(JSR 166),其基础是纽约州立大学Doug Lea提供的程序库。也就是说,标准规格中采用了来自民间的程序库。

  (3)框架的变化

  服务器端的Java框架也发生了巨大变化。企业级Java技术--J2EE的“使用方法”说明文件“J2EE Blueprint”中,提出了将应用软件分为Web层、EJB层(Enterprise JavaBeans,将包括事务处理在内的业务进程模块化的框架)来构筑的思路。这两种层次都迎来了架构更替时期。Web层的新框架为JSF (JavaServer Faces,将模块组合起来构筑Web应用程序的框架),EJB层为标准方案中刚刚公布的下一代EJB规格“EJB3.0”。
  
  值得注意的是,促成框架发生变化的正是来自民间的源码开放软件。

  对JSF产生影响的是作为源码开放的Web层框架得到普及的Apache Struts。JSF是对Struts的思路进行改进的产物,JSF的Spec Lead(规格制定领袖)之一Craig R. McClanahan就是Struts的作者。

  对EJB3.0造成影响的也是民间源码开放软件。EJB3.0引入了DI(Dependency Injection,依赖注入)容器类(Container)与POJO(Plain Old Java Object)持久类这些新功能,大大减轻了编程的复杂性。这些概念因PicoContainer、Spring等源码开放软件的导入而引人注目。

  其背景在于用户对“目前的EJB过于复杂”的批评。原本由EJB反对派提出的设计思想与源码开放软件,却变成了EJB3.0的中心概念,显出了巨大的影响力。

  (4)脚本语言

  在Java技术标准中新增加了编程语言Groovy(JSR 241)。这是一种可与Java语言无缝连接的脚本语言,有望以极短的程序完成相关处理。“在Java技术中添加Java以外的语言”,这听起来也许有些别扭,其实以前就有这样的呼声,希望将可以充分利用Java技术资源的脚本作为语言使用。Groovy本来是源码开放软件,最终得到认可,被采纳为标准规格。

  由上述可以看出,Java技术的构成要素正在发生巨大变化。就在不久以前,一提起服务器Java,“Servlet、JSP、EJB是重要的 API”这样的说明还占主流,但现在基于JSF和EJB3.0的应用程序已经变成了“面目全非”的程序。而在运行短程序或测试时,甚至还出现了不仅是 Java语言,连脚本语言都开始调用Java框架的情况。


(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/java/)
  这些变化从大的方面来看的话,可以说是进一步发挥了Java面向对象的优势。当然,也包括提高开发效率

来源:https://www.tulaoshi.com/n/20160129/1487726.html

延伸阅读
标签: Java JAVA基础
IT技术日新月异,新技术的出现令人目不暇接,似乎每一天都在产生着新名词。不过归根结底IT所要实现的价值不外乎数据收集,然后再以客户希望的形式展示给客户而已。因此数据存取技术也就成了一个永恒的话题。而在Java这个开放的世界里,数据库存取技术是五花八门,种类繁多。我们也来侃侃Java世界里主流的数据库存取技术。 ...
热键篇: Template:Alt + 修改处:Window-Preference-Workbench-Keys-Command-Edit-Content Assist。 个人习惯:Shift+SPACE(空白)。 简易说明:编辑程序代码时,打sysout +Template启动键,就会自动出现:System.out.println(); 设定Template的格式:窗口-喜好设定-Java-编辑器-模板。 程序代码自...
Clone基本知识储备 在Java里提到clone技术,就不能不提java.lang.Cloneable接口和含有clone方法的Object类。所有具有clone功能的类都有一个特性,那就是它直接或间接地实现了Cloneable接口。否则,我们在尝试调用clone()方法时,将会触发CloneNotSupportedException异常。下面我们通过对Object类的部分源码的分析,来发现和理解这一...
标签: 健康常识
牛人驾驶技术支招 先正确使用方向盘 下面,我们就来说明一下方向盘的操纵常识。 首先,我们来看看方向盘的正确握法。人们发现如果将方向盘看作钟表的盘面,左手握在九、十时之间,右手握在三、四时之间,双手呈左高右低状操纵方向盘最为合理。这样把握方向盘,当右手在操纵挡把等其他机件时,对左手单独操纵方向盘的影响很小。...
标签: Web开发
Java Servlet及其特点 Servlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资(更重要的是, Servlet程序员收入要比Perl程序员高:-): 高效: 在传统的CGI中,每个请求都要启...

经验教程

521

收藏

64
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部