认识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究竟有那些特色呢?
 
                       MAC OS, 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网站,网站节点地址是
        httpjava.sun.com,或是httpwww.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等
   TCPIP通讯协定相配合。Java应用程序(Applications)能在网路上开启及连结
   使用物件,就如同透过URLs连结使用一个本地文件系统(Local File System)。
 
4.健壮的(Robust):由Java所编写出的程序能在多种情况下执行而具有其稳定性。
  Java与CC++最大不同点是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等完全解译语言较不相近。
        较为相近,但与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一般。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值