JAVA应用前景与展望
- 格式:doc
- 大小:70.00 KB
- 文档页数:7
展望 Java 未来的应用前景和近期技术发展方向本论文包括两个主要部分,第一部分主要分析 Java SE7.0、8.0 版本内容的变化;第二部分是展望 Java 未来的应用前景和 Java 的近期技术发展方向。
一论 Java SE7.0、8.0 版本内容的变化目前,Java2平台有3个版本,它们是适用于小型设备和智能卡的 Java2平台 Micro 版(Java2 Platform Micro Edition,JavaME)、适用于桌面系统的Java 2平台标准版(Java2 Platform Standard Edition,Java SE)、适用于创建服务器应用程序和服务的 Java 2 平台企业版(Java2 Platform Enterprise Edition,Java EE)。
Java SE 是Java 平台标准版的简称(Java Platform, Standard Edition)(also known as Java 2 Platform),用于开发和部署桌面、服务器以及嵌入设备和实时环境中的 Java 应用程序。
Java SE 包括用于开发 Java Web 服务的类库,同时,Java SE 为 Java EE 提供了基础。
Java SE(Java Platform, Standard Edition,Java 标准版)就是基于 JDK 和 JRE 的。
Java 是目前所有编程语言中最流行、发展最快的语言之一。
为了提供更加强大的功能和方便程序开发者的使用,Java SE 的版本一致在不断更新,所以后来就有了 7.0 和 8.0 版本。
相对于 7.0 版本,Java SE 8.0 的主要改进是标准库增强。
Lambda 表达式是 Java SE 8 的核心功能,大部分的改进都围绕 lambda 表达式展开,具体体现在以下几方面。
1 并行排序随着多核 CPU 的流行,Java 平台的标准库实现也尽可能利用底层硬件平台的能力来提高性能。
Java SE 7 中引入了 Fork/Join 框架作为一个轻量级的并行任务执行引擎。
Java SE 8 把 Fork/Join 框架用到了标准库的一些方法的实现中。
比较典型的是 java.utils.Arrays 类中新增的 parallelSort 方法。
与已有的 sort 方法不同的是,parallelSort 方法使用 Fork/Join 框架来实现。
在多核 CPU 平台上的性能更好。
下面的代码对包含 1 亿个整数的数组分别使用 parallelSort 和 sort 进行排序。
2 集合批量数据操作在Java 应用的开发中,对集合的操作是比较常见的。
不过在 Java SE 8 之前的Java 标准库中,对集合所能进行的操作比较有限,基本上都围绕集合遍历来展开。
相对于其他编程语言来说,Java 标准库在这一块是比较弱的。
Java SE 8 中 lambda 表达式的引入以及标准库的增强改进了这种状况。
具体来说体现在两个方面上的改进:第一个方面是对集合的操作方式上。
得益于默认方法的引入,Java 集合框架中的接口可以进行更新,添加了更多有用的操作方式,即通常所说的“filter/map/reduce”等操作。
第二个方面是对集合的操作逻辑的表示方式上。
新添加的操作方式使用了java.util.function 包中的新的函数式接口,可以很方便地使用 lambda 表达式来表示对集合的处理逻辑。
这两个方面结合起来,得到的是更加直观和简洁的代码。
新的集合批量处理操作的核心是新增的java.util.stream 包,其中最重要的是java.util.stream.Stream 接口。
Stream 接口的概念类似于 Java I/O 库中的流,表示的是一个支持顺序和并行操作的元素的序列。
在该序列上可以进行不同的转换操作。
序列中包含的元素也可以被消费以产生所需的结果。
Stream 接口所表示的只是操作层面上的抽象,与底层的数据存储并没有关系。
通常的使用方式是从集合中创建出 Stream 接口的对象,再进行各种不同的转换操作,最后消费操作执行的结果。
Stream 接口中包含的操作分成两类:第一类是对序列中元素进行转换的中间操作,如 filter 和 map 等。
这类中间操作是延迟进行的,可以级联起来。
第二类是消费序列中元素的终止操作,如 forEach 和 count 等。
当对一个 Stream 接口的对象执行了终止操作之后,该对象无法被再次处理。
这点符合一般意义上对于“流”的理解。
3 日期和时间Java 标准库中的日期和时间处理 API 一直为开发人员所诟病。
大多数开发人员会选择 Joda Time 这样的第三方库来进行替代。
JSR 310 作为 Java SE 8 的一部分,重新定义了新的日期和时间 API,借鉴了已有第三方库中的最佳实践。
I 定义在 java.time 包中的新的日期和时间 API 基于标准的 ISO 8601 日历系统。
在新的日期和时间 API 中,核心的类是 LocalDateTime、OffsetDateTime 和ZonedDateTime。
LocalDateTime 类表示的是 ISO 8601 日历系统中不带时区的日期和时间信息。
OffsetDateTime 类在基本的日期和时间基础上增加了与 UTC 的偏移量。
ZonedDateTime 类则加上了时区的相关信息。
除了上面提到的几个比较大的变化之外,还有一些小的改动。
Base64 编码在Java 应用开发中经常会用到,比如在HTTP 基本认证中。
在Java SE 7.0 中,需要使用第三方库来进行 Base64 编码与解码。
Java SE 8.0 增加了java.util.Base64 类进行编码和解码。
还有就是并发处理。
Java SE 8.0 进一步增强了并发处理的相关 API。
在 java.util.concurrent.atomic 中新增了 LongAccumulator、LongAdder、DoubleAccumulator 和 DoubleAdder 等几个类。
这几个类用来在多线程的情况下更新某个 Long 或 Double 类型的变量。
二展望 Java 未来的应用前景和近期技术发展方向工业界不少人预言:"Java 语言的出现,将会引起一场软件革命",这是因为传统的软件往往都是与具体的实现环境有关,换了一个环境就需要作一番改动,耗时费力,而Java 语言能在执行码(二进制码)上兼容,这样以前所开发的软件就能运行在不同的机器上,只要所用的机器能提供Java 语言解释器即可。
它彻底改变了应用软件的开发模式,带来了 PC 机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。
Java 不仅是一种程序开发设计语言,更成为了一种标准,并有着无限的生命力,主要体现在如下几个方面::1. Java 产生与流行是 InterNet 发展的客观要求.。
2.是一门各方面性能都很好的编程语言,它的基本特点是简单,面向对象,分布式,解释的,健壮的,完全的,结构中立的,可移植的,性能很优异的,多线程的,动态的,适合的 Internet 环境上开发应用系统.。
3.Java 可以制作大部分网络应用程序系统,而且与如今流行的 WWW 浏览器结合很好。
4.Java 不仅仅是一种各方,更重要的是一种区别于传统系统,遵守“网络就是计算机”信条的平台技术。
Java 平台将面向对象系统扩展成包括程序和数据的网络计算机(NC),而这个平台的核心就是 Java 虚拟机,许多使 Java 成为万能开发平台的属性都源于 Java 虚拟机的概念和实现。
Sun 公司以及 IBM、Oracle、Netscape 等公司都在大力推进 Java 的应用。
旨在提高 Java 运行速度的 Java 芯片也在紧锣密鼓地赶制当中,有人预计不久的将来,Java 的代码的运行速度和 C++一样快。
Java 在 WWW 应用中的地位得到肯定以后,Sun 又反过来扩展 Java 在家电领域的应用,Java 的应用有向更广阔的领域扩展的趋势。
Sun 公司的高层人士称“Java 的潜力远远超过作为编程语言带来的好处。
事实上,Java 是一种新计算模式的使能技术”。
看来,Java 的前程不可限量。
从全球来看,有关 Java 的故事可谓充满传奇,比如那些不可思议的成功,比如失之交臂的良机,还有更多纠缠不清的官司。
十年来,Java 编程语言及平台已经成功地应用在网络计算及移动等各应用领域,比如移动电话、个人电脑、跨国金融系统和卫星通信等。
历史上从没有过像 Java 这样能够如此广泛地被应用的平台,目前全球 Java 经济价值已经超过 1200 亿美元。
当初 Sun 公司推出 Java 时提出的口号是:“编写一次,到处运行”。
十年来,Java 的跨平台和开放特性已经得到公认,此外,Java 语言还具有面向对象、类似于 C 和 C++的表达语法、良好的安全性等优秀特性,在许多方面成为 Cobol 和C++等语言的继任者,受到全球开发人员的青睐,并已成为企业级应用的首选开发平台。
就在今年 7 月份, IBM 与 Sun 刚刚宣布将两家公司签署的 Java 技术协议延长 10 年,目标是为全球 Java 团体中的将近 400 万开发人员提供长期稳定性保证。
BEA 公司也宣布了一个一揽子计划,开发业界首个全面支持各种主要开源框架的 J2EE 应用环境。
这些举措都肯定了跨平台 Java 兼容性的价值和必要性。
而在中国市场,Java 无论在企业级应用,还是在面向大众的服务方面都取得了不少进展,尤其在中国的电信、金融等关键性业务中发挥着举足轻重的作用。
目前,在中国政府有关部门的支持下,中国移动和中国联通已经正式推出基于 Java 的无线增值服务,并在积极准备基于 Java 的 3G 增值服务。
在 Java Card 方面,Sun 公司与中国银联共同建立了 Java Card 联合实验室,从技术到方案进行全面合作。
此外,很多业内公司也以 Java 的标准体系为基础开发了相当多的应用软件,比如用友公司从 1998 年开始在 Java 上进行开发。
目前,用友的 ERP 5 正在研发中,明年即将推出。
“Java 的发展如同火箭升空,当初没有人会想到它能飞这么远”,Sun 总裁兼首席运营官 Jonathan Schwartz 曾在 Java 十周年庆典上这样说。
正是基于 Java 的诸多优点,java 的发展前景十分广泛。
比如,在我们中国的市场,Java 无论在企业级应用,还是在面向大众的服务方面都取得了不少进展,在中国的电信、金融等关键性业务中发挥着举足轻重的作用。