Java 简介     javalogo.gif (2841 bytes)

Java 特色

Java FAQ

Java Applets(Java 小程序)

Java JavaScript的比较

几种Java开发工具

JDKJava Developers Kit

Symantec Café(Visual Café)

Visual J++

IBM Visualage for Java

colbar.gif (4491 bytes)

Java 特色

『Java』从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻:Java在全球资讯网(World Wide Web, WWW)地位就如同电子表格(Spreadsheet)与个人计算机(PC)的关系。那Java究竟有那些特色呢?

Java是一种软件技术

Java是因为撰写C++语言程序时的困难而研制开的,起先,只是一个消费性电子产品大计划中的一部份,C++语言是当初被考虑采用的,但从一开始的编译问题一直到最后的一连串问题迫使得放弃C++语言,而有Java语言的产生。Sun是要Java成为一个简单(Simple)、面向对象的(Object Oriented)

分布式的(Distributed)、解释的(Interpreted)、健壮的(Robust)、安全的(Secure)、结构中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High Performance)、多线程的(Multithreaded)、动态的(Dynamic)的程序语言(摘译自TheJava Language: A White Paper, 1995)

SunJava语言白皮书中明白地说明上述Java语言的特点。

  1. 简单(Simple):容易编写程序,不需要长时间的训练,而能满足现代的需求。程序小型亦是简单的一种特性,使得软体能够在小型机器上执行,基本的解释器约为40k,若加上基本的程序库,约为215k
  2. 面向对象的(Object-Oriented):面向对象的设计是一种重心在资料和接口的技巧。若以木工为比喻,一个面向对象的木工,他(她)最主要的重点是即将要做的木椅子,其次才是所需要的工具;反之;一个以非面向对象的木工,他(她)所关心的只是工具。最近的即插即用(Plug and Play)亦是面向对象设计的重点。
  3. 分布式的(Distributed):Java有一个很周全的程序库,且很容易地与HTTP和FTP等TCP/IP通讯协定相配合。Java应用程序(Applications)能在网路上开启及连结使用物件,就如同透过URLs连结使用一个本地文件系统(Local File System)。
  4. 健壮的(Robust):由Java所编写出的程序能在多种情况下执行而具有其稳定性。Java与C/C++最大不同点是Java有一个指针模型(Pointer Model)来排除内存被覆盖(Overwriting Memory)和毁损数据(Corrupting Data)的可能性。
  5. 安全的(Secure):Java是被设计用于网络及分布式的环境中,安全性自必是一个很重要的考虑。Java拥有数个阶层的互锁(Interlocking)保护措施,能有效地防止病毒的侵入和破坏行为的发生。
  6. 结构中立的(Architecture Neutral):一般而言,网络是由很多不同机型的机器所组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序可以在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标文件格式(Object File Format);这使得编译码得以在很多种处理器中执行。
  7. 可移植的(Portable):原始资料型式的大小是被指定的,例如"float"一直是表示一个32位元IEEE 754浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于系统的一部份,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。
  8. 解释的(Interpreted):Java解释器能直接地在任何机器上执行Java位元码(Bytecodes),因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。
  9. 高效能的(High Performance):Java位元码迅速地能被转换成机器码(Machine Code),从位元码转换到机器码的效能几乎与C与C++没有分别。
  10. 多线程的(Multi threaded):Java语言具有多线程的功能,这对于交互回应能力及即时执行行为是有帮助的。
  11. 动态的(Dynamic):Java比C或C++语言更具有动态性,更能适应时刻在变的环境,Java不会因程序库的更新,而必须重新编译程序。

返回顶部

colbar.gif (4491 bytes)

Java FAQ

      下面以问答的方式来说明Java的发展历史与其背景(下列内容整理自Java FAQ list and TutorialThe Java Language: A White Paper,读者若欲深入了解,请自行参阅原文)

      最早大概可追溯至1991年四月份,Sun的绿色计划(Green Project)开始着手于发展消费性电子产品(Consumer Electronics),所使用的语言是CC++、及Oak (Java语言的前身),后因语言本身和市场的问题, 使得消费性电子产品的发展无法达到当初预期的目标,再加上网络的兴起, 绿色计划也因此而改变发展的方向,这已是1994年了。

      "Java"是美国SUN计算机公司Java发展小组历经无数次的激烈讨论之后才被选择出。生动(Liveliness)、动画(Animation)、速度(Speed)、交互性(Interactivity)为当初选择名字时所欲表达出的特色。"Java"是在无数的建议中脱颖而出的,而"Java" 不是由几个单字的首字所组成, 而是从许多程序设计师钟爱的热腾腾、香浓咖啡中产生灵感的。

       Java是美国SUN计算机公司Java发展小组开发的,早期的成员(绿色工程)Patrick Naughton, James Gosling, & Mike Sheridan,而现在大家较为熟悉的成员是James Gosling

       也就是问Java的出生地?答案是美国。

       详见本单元开头部份及下一段的说明。

      在网络上,您可以连到Sun公司的Java WWW网站,URLhttp://java.sun.com/,或是http://www.javasoft.com/。在那里几乎可以找到您所需要的所有Java信息,但是语言多少是一个障碍, 至少对某些人而言;没关系,目前国内已有很多个网站提供中文Java信息。在清华和中科院的FTP站点上有不少有关资料。想象以后应会有更多的站点提供相关信息。

        首先您需要有含有Java解释器的浏览器(Browser),例如:Netscpae公司的Netscape Navigator 2.0以上或是Sun公司的HotJava浏览器以及Microsoft Explore 2.0以上版本的浏览器,对个人计算机使用者而言,操作系统需是Windows 95或是Windows NT

返回顶部

colbar.gif (4491 bytes)

Java Applets(Java 小程序)

Java Applets只能运行在支持Java的网络浏览器上,由于浏览器主要是为显示HTML文档而开发的,所以浏览器需要HTML的一个标志来调用一个applet,这个标志就是<Applet>标志,如下面这个例子:

        <applet code = examples.class width = 300 height = 200 >

       </applet>

以下为装载一个applet过程所发生的事件:

  1. 装载一个HTML文件;

  2. 检查<applet>标志;

  3. 从服务器方下载Applet类文件;

  4. 检查并下载被Applet类所参考的类文件;

  5. 在Applet类中,调用init()和start()方法;

  6. 如果运转正常,Applet就可以显示在浏览器中。

以下为一个装载了Applet的例子:

在后面的课程中将对Java Applets作一详细的介绍。

Java JavaScript的比较

JavaScript是由Netscape公司开发的,最初命名为LiveScript,Netscape与Sun签订协议要把JavaScript开发成“非程序员”语言,JavaScript首次随Netscape 2.0发行。

Java与JavaScript比较

JavaScript

Java

由Netscape开发

由Sun开发

代码由客户解释(Weg)浏览器

代码先编译,送到服务器上,再在客户方执行

基于对象,对象是同置的和可扩展的,但不是类,不能使用继承

面向对象,对象的所有内容可以继承

无需声明数据类型(弱类型)

必需声明数据类型(强类型)

在运行时检查对象引用(动态绑定)

在编译时检查对象引用(动态绑定)

硬盘访问受限(写文件时必须询问)

硬盘访问受限(访问等级由用户设定,不能自动写盘)

脚本限于Web浏览器功能

编译后的代码可以作为Web Applet或独立应用程序来运行

脚本和HTML的标签一起工作

能处理多种元素(如音频,视频)

语言的功能在迅速发展变化

绝大多数的变化已经完成

没有创建Web应用的标准代码库

有许多代码例子和库

JavaScript 的应用不在本课程的讨论范围。

colbar.gif (4491 bytes)

几种Java开发工具

JDKJava Developer’s Kit

JDK是一个非常好的开发工具。但遗憾的是,虽然JDK包含了开发Java时所需要的所有工具,它却不是IDE开发环境,JDK的工具是命令行(DOS命令窗口)驱动的,它不像Visual C++或PowerBuilder那样有一个很好的图形界面。你需要使用一个文本编辑器,如Notepad(Win 32),vi(UNIX)来创建Java ASCII文本文件。

有关JDK的使用将在下一课讲解。

http://java.sun.com/cgi-bin/download2.cgi站点可以Download到JDK的最新版本,在http://hotfiles.zdnet.com站点用“download jdk”关键词能查询到Jdk下载的另一个站点,国内的站点在http://202.96.140.52:800 站点下可以下载,速度比以上两个站点快几倍。

Symantec Cafe Visual Cafe

我现在正用Visual Café 2.0进行Java 应用程序的开发。这是一个很不错的为使用Java语言而特别设计的集成开发环境(IDE),能完成程序编写、编译、测试,以及管理程序和工程。

Symantec公司的主页是cafe.symantec.com

以下为Café的构件:

构件

描述/使用

Workspaces

窗口布局

Café Studio

一个易于使用的可视设计器,用于建立Java程序的图形用户界面

Project Manager

图形方式组织和管理工程的源文件

Source Edit

文本编辑器,用于编辑Java代码或HTML

Class Edit

以图形方式显示类,类成员,及类成员的源代码

Compiler

优化的Café编译器

Debugger

能够调试Java程序

Just-In-Time Compiler

通过把bytecode变成本地平台的编码,来加快Café和AppletViewer里运行Java的速度。

Help

标准windows风格的上下文敏感的帮助文件

JDK

由Café的版本而定,2.0版提供的是JDK1.1.3

        要获取Café,请与联系。

Visual J++

是Microsoft公司的第一个Java工具,是一个基于Developer Studio产品的完全集成化的开发环境,Visual J++包括了一个可视化设计工具,一个加速的字节码编译器,一个自己的Applet Viewer,并且具有很多扩展性(被Sun认为是Java兼容性)。

如果你用过Visual C++,那么你完全有理由使用Visual J++来开发Java应用。

笔者将在以后提供Visual C++的教程。

IBM Visualage for Java

功能很强大,但运行速度,笔者用PII233的机器运行,速度也很慢。笔才者对它了解不是很多,在这不敢过多的评论。

返回顶部