《Java学习指南》—— 1.7 Java路线图

1.7 Java路线图

由于一切都尚在进行之中,因此很难将目前有什么、将来可能有什么,以及哪些已经存在一段时间等诸多情况呈现于笔端。以下几节将勾勒一幅路线图,从而使你对Java的过去、现在和将来有所认识。

1.7.1 过去:Java 1.0到Java 1.6

Java 1.0为Java开发提供了基本框架,即语言本身以及允许编写applet和简单应用的包。尽管1.0已经正式废弃,但仍存在大量applet遵循其API。

Java 1.1取代了1.0,主要在以下方面有所改进:AWT包(Java最初的GUI功能)、一个新的事件模式、诸如反射和内部类等新的语言功能,以及许多其他关键特性。Java 1.1是Netscape Navigator和Microsoft Internet Explorer浏览器的大多数版本多年来都支持的版本。出于一些政治上的原因,浏览器领域可能还会在这种状态下停顿较长一段时间;Java 1.1这个版本仍然会被认为是applet的一种基础,尽管它会随着Microsoft在其平台中放弃对Java的支持而消失。

Java 1.2(即Sun所称的“Java 2”)是一个于1998年12月发布的主要版本。它提供了许多改进,并增加了大量内容,主要是将API集捆绑至标准发布版来实现的。所增加内容中,声名最为显赫的当属将Swing GUI包作为核心API,并且加入了全新的成熟2D绘制API。Swing是Java的高级用户界面工具包,其功能远远超出了原来的AWT(Swing、AWT和其他一些包有时被称为JFC,即Java基类(JavaFoundation Class))。Java 1.2还为Java增加了一个适当的集合(Collection)API。

Java 1.3于2000年初发布,其中仅增加了少许特性,但是将重点在性能上。利用1.3版本,在许多平台上,Java的速度都得到了显著提高,而且也修补了Swing的许多bug。在这一阶段,诸如Servlet和Enterprise JavaBeans(EJB)等Java企业API也日渐成熟。

Java 1.4于2002年发布,加入了一个重要的新的API集,以及很多人们期待已久的特性。这包括:语言断言、正则表达式、首选项和日志API、一个面向高容量应用的新的I/O系统、对XML的标准支持、AWT和Swing中的基本改进,以及针对Web应用的相当成熟的Java Servlets API。

Java 5发布于2004年。这是一次重要的发布,引入了很多期待已久的语言语法扩展,包括范型、类型安全、枚举、增强的for循环、可变的参数列表、静态导入、基本类型的自动装箱和拆箱,以及关于类的高级元数据。一个新的并发API提供了强大的线程功能,还有类似于C中所添加的那些用于格式化打印和解析的API。RMI也进行了彻底的修改,以不再需要编辑stub和skeleton。标准XML API中也有重要的增加。

Java 6于2006年发布,是一个相对较小的发布,没有给Java语言添加什么新的语法特性,但是,绑定了一些新的API,例如用于XML和Web Service的那些API。

1.7.2 如今:Java 7

本书包含了Java 7这一最新版本中的所有最新和最好的改进。这个发布版本添加了少许的语言功能的增强,例如,改进了异常处理和资源管理。它还包含了一些重要的API更新,例如,一个完整的新的文件系统API,还添加了很多其他的API。本书的这一版本是Java 5之后的第一次改版,因此,彻底地进行了修改,包含了Java 6和Java 7版本中进行的所有修改。

以下对当前核心Java API的最为重要的特性提供一个概述:

JDBC(Java Database Connectivity,Java数据库互连)

为了与数据库交互的一个通用功能(最早于Java 1.1中引入)。

RMI(Remote Method Invocation,远程方法调用)。

Java的分布式对象系统。RMI允许调用某个服务器中的对象上的方法,而该服务器可能运行于网络上的另一位置(最早于Java 1.1中引入)。

Java Security(Java安全性)

用于对访问系统资源加以控制的功能,并结合有一个统一的加密接口。Java安全性是签名类的基础,对此先前曾讨论过。

JFC(Java Foundation Classes,Java基类)

包含大量新特性的完备集(catch-all),其中包括Swing用户界面组件;“可插拔感观”(pluggable look-and-feel),这表示用户界面能够自行调整以适应所用平台的观感;拖曳功能;以及可访问性(这意味着集成特定软件和硬件的能力以为残障人士服务)。

Java 2D

JFC的一部分,支持高质量图形、字体管理和打印。

Internationalization(国际化)

编写程序从而使之能够与用户希望使用的语言相适应的能力,程序可以自动地以适当的语言显示文本(最早于Java 1.1中引入)

JNDI(Java Naming and Directory Interface,Java命名与目录接口)

查找资源的一个通用服务。JNDI统一了对诸如LDAP、Novell的NDS以及其他目录服务的访问。

以下“标准扩展”API并非核心Java发布版本中的一部分,可以单独下载。

JavaMail

编写E-mail软件的一个统一API。

Java 3D

此功能可以用于开发带有3D图形的应用。

Java Media

另一个完备集,其中包括Java 2D、Java 3D和Java媒体框架(Java MediaFramework,这是一种用于调整不同类型媒体显示的框架)、Java Speech(用于语音识别和合成)、Java Sound(高质量音频)、Java TV(用于交互式电视和同类应用)以及其他。

Java Servlets

允许用Java编写服务器端Web应用的功能。

Java Cryptography

密码算法的实际实现(出于法律的原因,这个包与Java Security是分离的)。

JavaHelp

编写帮助系统并将其结合到Java程序中的功能。

Enterprise JavaBeans

用于构建分布式服务器端应用的体系结构。

Jini

一个非常有趣的完备集,其设计目标是支持大范围分布式计算,包括查找各种设备并与之交互,这些设备从软件工具到硬件,甚至家用电器。

XML/XSL

一个工具,用来创建和操作XML文档、验证文档、将其与Java对象相互映射,并使用样式表传输XML。

Web services

创建并部署基于Java的SOAP Web Services的工具。

在本书中,我们将尽可能使你了解到更多的特性;对我们而言,遗憾的是(对于Java软件开发人员倒是一件幸事),Java环境变得涵盖面如此之广,以至于我们无法仅在一本书中做到面面俱到。

1.7.3 将来

Java的变化已经不那么频繁了,因为多年来Java已经日渐成熟,但是,Java仍然是应用开发的最流行的平台之一。在Web Service、Web应用程序框架和XML工具等领域,尤其是这样。尽管Java还没有像预想的那样统治移动平台,但是,Java语言及其核心API已经用来为Google的Android移动OS编程,该系统在全世界数以百万计的设备上使用。在Microsoft阵营中,由Java衍生而来的C#语言占据了大多数的.NET开发,并且将核心Java语法和模式带到了那些平台中。

可能Java如今的改变中,最激动人心的领域在于这样的一种趋势:朝着轻量级、简单的商用框架发展,并且Java平台集成了动态语言以支持Web页面脚本编程和扩展。这将是非常有趣的工作。

1.7.4 可用性

对于Java开发环境和运行时系统,你有诸多选择。Oracle的Java软件开发包可用于Mac OS X、Windows和Linux。

还有很多流行的Java集成开发环境(Integrated Development Environments,IDE)。本书中,我们将介绍两种,分别是IBM的Eclipse和Oracle的NetBeans IDE。这些一体化的开发环境允许我们轻松地使用高级工具来编写、测试和打包软件。尽管Eclipse毫无疑问是最流行的,并且是开源的,但本书作者喜欢的IDE是JetBrains的Intellij IDEA,它现在也有一个免费的社区版。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

时间: 2024-12-29 07:07:16

《Java学习指南》—— 1.7 Java路线图的相关文章

Java学习指南[转]

Java学习指南 一. JDK (Java Development Kit) JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar).不论什么Java应用服务器实质都是内置了某个版本的JDK.因此掌握 JDK是学好Java的第一步.最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发 的JDK,BEA公司的Jrocket,还有GNU组

《Java学习指南》—— 1.4 设计安全

1.4 设计安全 Java被设计为一种安全语言,对于这一事实你肯定早已耳熟能详了.但是在此"安全"指的是什么呢?对什么而言安全,或者对谁安全呢?对于Java,得到颇多关注的安全性是那些使新型动态可移植软件成为可能的有关特性.Java提供了多层保护以避免恶意代码,并防止诸如病毒和特洛伊木马等更具危险性的东西.在下一节中,我们将查看Java虚拟机体系结构如何在代码运行前评估其安全性,还将介绍Java类加载器(Java解释器的字节码加载机制)如何在不可信类周围加筑围墙.这些特性为高级安全性策

《Java学习指南》—— 1.3 Java与其他语言的比较

1.3 Java与其他语言的比较 Java虽是一种新语言,但是在其特性选择中,还汲取了其他语言多年以来的编程经验.花点时间来在较高的层面比较Java和其他语言是值得的,不管你是具有其他编程经验,还是需要搞清楚状况的新手,这都是有好处的.在本书中,我们不要求你具备任何特定编程语言的知识,并且当我们通过比较而提及其他语言的时候,我们希望这些说明是简单而直白的.如今一种通用语言至少要支持以下3点:可移植性.速度和安全性.图1-2显示了Java与其他几种流行语言的比较情况. "Java非常类似于C或C+

《Java学习指南》—— 导读

前言 本书讨论的是Java编程语言和编程环境.无论你是一位软件开发人员,抑或仅仅在过去数年经常上网,无庸置疑,Java对你而言都可谓耳熟能详.Java的引入在Web的发展历史中堪称最精彩的手笔之一,并且在过去的15年里,Java应用程序对Internet上的业务的增长贡献很大.Java有可能已成为世界上最流行的编程语言,使得数百万开发人员在几乎所有的计算机上使用它.在过去的十年里,在开发人员的需求方面,Java已经超越了C++和Visual Basic,而逐步成为某些应用种类开发(特别是基于We

《Java学习指南》—— 1.1进入Java世界

1.1进入Java世界 Java编程语言是在网络泰斗James Gosling和Bill Joy的指导下由Sun公司开发的,其目标是要将其设计为一种与机器无关的编程语言,不仅能够做到足够的安全从而在网络上"畅行无阻",而且功能要非常强大,从而足以替换本地可执行代码.Java可以解决这里提出的问题,而且有助于我们着手构建所需的新型应用. 最开始的时候,对于Java的热情几乎都倾注于它能够为Web构建一种称为applet的嵌入式应用.但是在早期,用Java编写的applet和其他客户端GU

《Java学习指南》—— 第1章 一种现代语言

第1章 一种现代语言 对于当前的软件开发人员而言,要驾驭网络的强大力量不仅是最为艰巨的挑战,同时也是最令人兴奋的机遇.如今创建的应用,无论预期的适用于什么范围或面向何种用户,运行软件的机器往往都会与全球的计算资源网络相连.网络的重要性日渐突出,这不仅对现有的工具提出了新的要求,而且还迫切需要全新的应用得到飞速的发展. 我们希望软件能够在任何位置.任何平台上以一致的方式工作,而且可以与其他应用很好地合作.对于充分利用互联世界的动态应用,我们希望它们能够访问异构和分布式的信息源.我们希望可以无缝地得

【Java学习路线图,看你掌握了多少】附全部知识点免费视频课程,名师主讲

这个路线图中包含了Java学习的三部曲: Java零基础入门(点击标题学习) Java面向对象开发(点击标题学习) Java高级开发(点击标题学习) 在阿里云大学,你可以跟随Java名师李兴华学到路线图中所有的知识点(完全免费哦),赶快开始你的Java学习之路吧! 课程详细目录: Java零基础入门 课时1:Java简介(Java发展概述) 课时2:Java简介(Java主要特点) 课时3:JDK的安装与配置 课时4:第一个Java程序 课时5:CLASSPATH环境属性 课时6:Java程序基

Java学习路线图,专为新手定制的学习计划建议

怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA). J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME. J2ME,The Micro Edition of the Java 2 Platform.主要用于嵌入式J

Java学习路线图

Java学习方法路线图,建议爱好Java 的朋友按照这个路线去学  这样比较系统,提示大家基础一定要学好啊.         Java帮帮,致力于帮助爱好IT的朋友们学习技术,通过互联网获取学习资源,以免费分享的方式提供给爱好学习的朋友,致力于Java为主要帮助业务,Android,前端,ios,C++,PHP,UI等IT技术为辅的微信,QQ,网站多形式的分享渠道. 很多人都在走捷径,很多人都在拼爹.拼颜值,我只想提供一个免费平台,希望可以让您少走弯路,选择对于你我太重要了,自己要为自己的选择而