快速上手Java编程2011-06-10 IBM Sing LiJava语言是一种优秀的高级编程语言,在使用各种不同解决方案进行简单试 验的时候,允许我们够接近我们想要解决的问题。然而在平时的计算(和开发) 中,很多情况下“迅速准备一个Java 程序”来执行任务不是不切实际就是太花 时间。本文将您带入了 FESI(免费 EcmaScript解释程序)的秘密世界。在那里 ,用快速上手的方式展开 Java语言是一个标准,而非异议。从概念到产品, Java 平台和 Java 编程语言都能提供其它开发环境中所没 有的高级功能和全面的 API,从而推进软件产品的性能。这些功能和 API 显著 提高了生产力,并缩短了产品周期。它像 Java 编程语言一样功能繁多,且仍是一种正式的、编译语言程序。 Java 开发周期需要仔细的前期规划。在开发人员每天的生活中,很多情况下他 或她可能需要创建一个简单的一次性程序,而使用 Java 语言的开发未必符合需 要(且可能造成过度)。这种情况在创建代码测试利用、为多个程序/行为创建 可能只用一次的排序代码,以及创建应用程序概念的快速原型等方面经常会发生 。许多开发人员此时放弃使用 Java 语言,而转向诸如命令解释程序脚本或 Win32 批处理文件等的快速上手脚本解决方案。不幸的是,这些解决方案是不可 移植的,且没有像使用 Java 平台解决方案那样的功能和支持。FESI 登场了,它是写在 Java 语言内部的脚本解释程序,这也就使得它能移 植到所有支持 Java 平台的操作系统和硬件系统中去。FESI 支持叫做 EcmaScript 的 JavaScript 的支语言,并且能获得主 JDK 的所有性能。这就是 说,您能利用作为基础的 JDK 的全面 API 编写 EcmaScript 程序。您获得了 Java 平台的所有功能,并且能通过快速上手脚本编写对其进行控制。EcmaScript 和JavaScriptEcmaScript 是 JavaScript 编程语言的一个可移植的分支,也就是每个现代 Web 浏览器内嵌的编程语言。事实上,EcmaScript 是试图在 JavaScript 语言 的单个支语言上实现标准化的结果 -- 使 Web 页上的代码能跨越不同厂商生产 的浏览器而工作(但主要是在 Netscape 和 Microsoft 的浏览器之间,因为它 们占据了安装群体的绝大部分)。ECMA 是欧洲计算机厂商协会 (European Computer Manufacturers Association),一个管理众多标准的协会。 EcmaScript 是 ECMA 标准第 262 条。在许多方面,对于流行的 Web 浏览器中的脚本代码兼容性问题来说, EcmaScript 是共同特点最少的解决方案。尽管 Microsoft Explorer 5.5 和 Netscape Navigator 6.0 都支持 EcmaScript,但这并不是说在前者中创建的 JavaScript 代码毫不改变就可以在后者中运行。想要了解情况为何会这样,我们须仔细地研究一下 JavaScript 主环境的构 成。图 1 中对此作出了说明。图 1. JavaScript 主环境

EcmaScript 组件只提供核心语言功能 -- 原始数据类型、表达式赋值和流量 控制等等。要做任何有益的工作,您就必须使用语言来操作主环境提供给脚本语 言的对象。需通过调用对象方法或改变它们的属性值来完成这个操作。每个 JavaScript 主程序都须揭示其自身的主对象集以供使用(例如,一个浏览器能 揭示一个对象模型以和 Web 页进行交互)。EcmaScript 自身只要求为数不多的 一套本地对象支持(请参阅 参考资料)。事实上,在浏览器内部,可用的 JavaScript 主环境与由 FESI 提供的环境 的最主要区别就是所揭示的主对象集的不同。FESI,通过 JavaAccess 扩展名, 几乎揭示了所有的 JDK 对象供 EcmaScript 直接操作。换句话说,我们能随意 地使用 EcmaScript 程序来控制大多数 JDK API。除了 JavaAccess 扩展名以外 , FESI 还在以下领域提供了特殊的扩展名代码:通过 JDBC 对数据库的访问文件 I/O基本 I/O这些扩展名帮助您使对象支持与编程的 EcmaScript 方式(而不是通常更难 编写的 Java API 方式)相匹配,从而使特定范围内的编程更加简单易行。我们 将在本文讨论的样本程序中直接体验到这一点。(请参阅 参考资料,下载本文 所用到的源代码。)在我们深入讨论之前,请参阅 “下载并安装 FESI”,让 FESI 在您的机箱 中运行起来。