荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: huanghm (东方不败), 信区: Java
标  题: 认识JAVA (转寄)
发信站: 深大荔园晨风站 (Wed Jan 21 09:32:33 1998), 转信

发信人: lqwx (忧郁的眼睛), 信区: Java
标  题: 认识JAVA
发信站: 饮水思源 (Thu Nov 14 15:35:02 1996)

                 认识Java(About Java: A Short Introduction)

----------------------------------------------------------------------------

(本篇摘录自『Java入门』一书之第一章, 峰资讯公司出版)

认识Java

        Java(tm)是由美国升阳电脑公司(Sun Microsystems, Inc.)所发展出的
        第一种能在国际互联网络(Internet)上面具有「硬件/软件中立性」交互
        能力的程序语言。Java一推出即引起世界各种媒体的注意与热烈参与讨论,
        如Time、 Business Weekly、CNN等,可见其功能及魅力,事实上,
        以Java的功能,势必在信息界掀起另一番高潮,对于网络的发展,
        又将迈入另一个新的纪元。

一、前言

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

        那Java究竟有那些特色呢?

Java    是一种软件技术
                是一种由美国升阳电脑公司(Sun Microsystems, Inc.)
                        所研究而成的语言
                是一种为Internet发展的电脑语言
                是一种使网页(Web Page)产生生动活泼画面的语言
                是一种使网页(Web Page)由静态(Static)转变为动态
                        (Dynamic)的语言
                是一种语言,用以产生「小应用程序(Applet(s))」
                是一种简化的C++语言
                是一种安全的语言,具有阻绝电脑病毒传输的功能
                是一种将安全性(Security)列为第一优先考虑的语言
                是一种使用者不需花费很多时间学习的语言
                是一种突破用户端机器环境和CPU结构的语言
                是一种「写一次,即可在任何机器上执行(Write Once
                         Run Anywhere)」的语言
                是有史以来,第一套允许使用者将应用程序
                        (Applications)透过Internet从远端的服务器
                        (Remote Server)传输到本地端的机器上(Local
                        Machine)并执行之
                是一种应用程序提供者不需要知道使用者的电脑硬件
                        (如:Sun, Intel, 或MAC等)与软件(如:SW-UNIX,
                        MAC O/S, Windows, 或NT等)环境的语言
                        (Kestenbaum, 1995)。

        以下,将依序地介绍Java,首先是Java的发展历史与Java语言介绍,
        其次依序是Java Applet和HotJava的简单介绍。

二、Java介绍

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

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

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

※      谁开发了Java?(Who)
        答案是美国升阳电脑公司Java发展小组,早期的成员(绿色工程)是
        Patrick Naughton, James Gosling, & Mike Sheridan,而现在大家
        较为熟悉的成员是James Gosling,现在的Java发展小组成员也增加了许多,
        当然您也有机会成为该小组的成员,机率永远是大于零。

※      在那里开发了Java?(Where)
        也就是问Java的出生地?答案是美国。

※      Java有何特色或是特点?(What)
        详见本单元开头部份及下一段的说明。

※      如何可以找到我所需要的Java信息?(How to)
        在网路上,您可以连线到Sun公司的Java WWW网站,网站节点地址是
        http://java.sun.com/,或是http://www.javasoft.com/。
        在那里几乎可以找到您所需要的Java信息,但是语言多少是一个障碍,
        至少对某些人而言;没关系,目前国内已有很多个网站提供中文Java信息,
        以后应会有更多的网站提供相关信息。

※      我如何可以看到Java的效果?(How Do I)
        首先您需要有与Java相容的浏览器(Browser),例如:网景公司的
        Netscape Navigator 2.0以上或是Sun公司的HotJava浏览器,
        对个人电脑使用者而言,作业系统需是Windows 95或是Windows NT。

        由上一节的"Java小史"我们知道了Java的发展历史,现进一步地介绍Java语言。
        Java乃是因应撰写C++语言程序时的困难而研制开的,起先,只是一个消费性
        电子产品大计划中的一部份,C++语言是当初被考虑采用的,但从一开始的
        编译问题一直到最后的一连串问题迫使得放弃C++语言,而有Java语言的产生。
        Sun是要Java成为一个简单(Simple)、面向对象的(Object Oriented)、
        分布式的(Distributed)、解释的(Interpreted)、健壮的(Robust)、
        安全的(Secure)、结构中立的(Architecture Neutral)、
        可移植的(Portable)、高效能的(High Performance)、
        多线程的(Multithreaded)、动态的(Dynamic)的程序语言(摘译自The
        Java Language: A White Paper, 1995)。

        在Sun的Java语言白皮书中明白地说明上述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不会因程序库的更新,而必须重新编译程序。

    有关Java中文白皮书的详细内容请参阅美商升阳电脑台湾分公司所发行的
    「升阳月刊」1996年2月号的「Java语言白皮书」一文。

     此外,Hank Shiffman (Making Sense of Java)亦针一般对Java的错误看法及
     观念提出他的说明,特在此摘译如下:

1. "Java是一种编写Web Pages的一种语言,就如同HTML和VRML一样"

        事实上,Java并不像是HTML此一类的描述语言(Description Language),
        而是一种编程语言(Programming Language)。描述语言标明内容和位置,
        而编程语言描述一种产生结果的过程。

2. "Java语言容易学习和使用,不像C、C++和其它程序语言"

        Java是一种编程语言。Java容易学吗?Java或许是比C或C++容易学,
        但仍是一种编程语言,而不是一种描述语言。

3. "Java码是可移植的,但C及C++不是"

        Java原代码(Source Code)是比C语言来得可移植一点,差别在于Java的
        目标码。Java码在一种机器上进行编译,而能在所有的机器上执行,
        只要那部机器上有Java解释器。

4. "Java能被拓展而在机器上执行任何事情"

        理论上,Java Applet (Java小应用程序)能做任何事情,如模拟
        3D VRML模型、播放电影、产生声音....等。但事实上,一个小应用
        程序(Applet)仅能在那一页上被执行,而无法在那一页之外执行。
        同时,Java亦受限于程序库的功能。

5. "Java是适合于建立大型的应用程序"

        如果Java适合于大型程序,则Java就不适合应用于Web浏览器了。
        第一个商业性的Java Applets (Applix's Java-Based Spreadsheet)
        并不是全然使用Java,它只使用Java作为用户接口,而所有的处理工作,
        是用CGI码。

6. "Java是解释执行的,Basic是解释执行的,因此Java=Basic"

        虽然Java的确是使用解释器,但事实上,Java则与C或C++等完全编译语言
        较为相近,但与Basic或APL等完全解译语言较不相近。

7. "Java删除了CGI命令稿(Scripts)和程序的需求"

        Java Applets将会取代部份CGI的用途。在有些情况,Java Applets能够
        取代一些服务器端代码(Server-Side Code),但大多数的情况,基于安全性
        理由或是效能的考虑,Java仍无法全然取代CGI Scripts。

8. "Netscape's JavaScript是与Java有相关"

        除了名称之外,Java和JavaScript是有一点点相关。JavaScript是一种
        命令稿语言,是可以在HTML页中使用。Java码并未出现在HTML中,而在
        HTML中通过一个链结来链结编译码组。Java和JavaScript之间的关系
        就如同C语言和C Shell一般。

本单元参考资料:

1. The Java Language: A White Paper.

2. The HotJava Language: A White Paper.

3. Hank Shiffman, Making Sense of Java.

4. HotJava、Java与Internet,升阳月刊,1996年1月号,美商升阳电脑台湾分公司。

5. Java语言白皮书,升阳月刊,1996年2月号,美商升阳电脑台湾分公司。

6. Kestenbaum, Peter, (1995), Conceptually Understanding JAVA in ten Minutes
without Getting Lost in Cyberspace, JAVA BOOK, SUN Microsystems, Inc.,
October, 19

        --取自 oceaninfo.ife.ntou.edu.tw

--
m;37m※ 来源:.饮水思源 bbs.sjtu.edu.cn.[FROM: 202.120.16.41]m
--
         清  秀  绝  俗 ,容  色  照  人 ,身  形  婀  娜 ,
         被裹在一袭宽大缁衣之中  ,  仍掩不住窈窕娉婷姿态 。
                             (  @ @  )
          +----------------oOOo-(_)-oOOo------------------+
          |         天涯何处没芳草......呜呼哀哉  ?       |
          +-----------------------------------------------+

※ 来源:.深大荔园晨风站 bbs.szu.edu.cn.[FROM: 202.192.140.254]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店