第二磨牙长歪了 知乎:Java是什么?

来源:百度文库 编辑:高考问答 时间:2024/04/26 00:39:35

最短的答案是:它是个面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行。如果再加上万维网和公司内部网体系,你将会拥有一个标准的网络计算环境,Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序。

  如果在商业角度看待Java,Java是个时髦话。同不少已经有20年历史的其他程序设计语言相比,Java吸收了计算机科学领域的各种最新成果,另外一方面,由于Java还比较年轻,它缺少诸如Visual Basic 或C++那样的丰富的编程工具的支持。

  同C++一样, Java是个面向对象的语言,这就意味着软件可以以部件的形式编制,为了满足某种任务,软部件可以互相配合。运行Java,不必非得在网络环境中进行,Java同其他传统的诸如COBOL或 Basic这样的程序设计语言一样,可以创建独立运行的应用程序。只不过Java对互联网上的应用开发更拿手。

  Java适宜于互联网的开发应用,其中一个原因是它使用了虚拟机,虚拟机是个用来解释Java指令的软件包,可以让Java在任何机器上运行,比如有运行在Mac或 UNIX下的虚拟机软件包。虚拟机并不是Java语言本身,它是个为特定机器编写的解释器软件。Java的虚拟机策略就相当于世界语,这是个人造的国际语言,目的是使得不同语言之间的翻译和沟通更加容易。

  要称作一个通用的计算机语言,Java是最适合不过的,这意味着它可以在所有的计算机上运行,(尽管需要为各种机器编写Java虚拟机软件),可以根据需要提供软部件,并且具有内在的安全机制。

  用Java编写的操作系统,称为JavaOS,是个基于语言的操作系统,它看起来似乎没有机会来占据PC市场。但是它为Microsoft Windows和MacOS未来的发展提供了线索。它也许将来会应用到各种仪器设备中,包括电视遥控器和温控器。

  基于网络的内容供应商对Java技术很感兴趣,因为它增加了交互性和动画功能,这是吸引观众的关键因素。对于软件商来说, Java有希望可以让人们采用租用软件的方式,诸如字处理器或者电子表格软件,而无需购买软件,这就改变了目前的商业模式。

  Java也使得网络计算机成为现实,无须硬盘的,价值500美元的PC

  将可以取代Wintel 结构的计算机。所有这一切都显出Java的重要性,它的支持者把它视作对付微软和盖茨的最后的和最好的希望,这就是为什么一些人对Java表现出狂热的崇拜的原因。

简言之,Java环境可用来开发能在任何计算平台上运行的应用
软件。它实际上是一种非常基本且结构紧凑的技术,而它对World
Wide Web以及商业的总体影响已可同电子表格对PC机的影响相比
拟。

Java是巨大的推动力量
Java已用动态的交互应用软件使Web栩栩如生。它使开发人员
具有‘编写一次到处运行TM”的巨大能力。而且,借助其JavaAPI
及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。
这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取
得竞争优势。网管和控制已大大简化。软件分配基本上是免费的,
而且立即可实现。电子贸易已获得。占有成本大幅度降低。信息和
应用软件到处可存取。
Java建立在简单的前提基础上,即所有微处理器都应讲同一种
语言??所有内部采用芯片的产品都应能一起工作,无缝而方便地
共享信息。它已经改变企业和个人同Internet大交道的方式。现在,
它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影
响企业计算。
借助Java,您可自由自在地使用您已拥有的硬件和软件。这是因
为Java是独立于平台的。它还可使您超越企业计算,使应用软件在便
携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。
全世界的公司都已发现Java数不胜数的用途。所有用途可从其无
可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和
环境的能力中受益非浅,而且节省的时间和费用十分可观。
Java无处不在。它已拥有几百万个用户,其发展速度要快于在它
以前的其他任何一种计算机产品。它可位于任何地方,而且能到处运
行。Java正在迅速被用做传播信息的事实上标准,这是因为它既可给
企业,也可给最终用户带来似乎数不清的好处。
因此,请您仔细考察一下Java。它的优点是很容易发现的。

“Java正在进入企业、家庭和学校。
它正在象Internet本身一样成为普遍存在的技术。”

Oracle 公司董事长和首席执行官
Larru Ellison

“Java正在改变我们使用Internet的方法,改变我们
在公司内部存取信息的方法,甚至改变我们使用蜂窝
电话的方法。它正在从根本上改变制作信息、销售信息
和分配信息的方法。”

EarthWeb公司董事长和首席执行官
Jack Hidary

Java的来龙去脉

Sun公司一小组工程师聚集在一起,认真思考日常生活中的
数字系统??因为烤面包机、恒温器、游戏机和其他无数设备
都包含越来越复杂的CPU??以及他们如何能使这些数字系统
共享信息。

创造未来的计算
制造产品的人当然全都从不同的方面来考虑其设计,视他们
所使用的硬件平台、操作系统和应用软件而定。但是,如果您要
使这些产品中的一些产品一起工作,那怎么办?安全性、可靠性
和网络问题又这么样呢?
因此,Sun公司这些工程师把各种不同的产品折开来,然后又
把它们重新组装起来,其目标是要使这些不同的设备相互交谈。
他们把这些研究对象相互传来传去,并理解所有其他研究对象的
特性,以便使他们能更好地一起工作。这就把制造商的问题缩减
到最低程度,并使消费者能方便地进行集成。当传统的语言证明
是不适用时,工程师们就打算找到某种简单的现代新语言。于
是, Java应运而生。
人们很快发现,Java有可能超越工程师的想象。Java的魅力在
于它提供给开发人员和用户的简便性。开发人员拥有广大的用户基
础、平台独立性、降低的开发费用和始终如一的执行环境,而用户
则可 从生动的内容、即时软件和增大的安全性中受益。
但是,Java正是从置于World Wide Web那时起才真正起飞。Java
使全世界大为震动,因为它使Web页面栩栩如生,而且不久变得很明
显,Java拥有大得多的潜力。人们之所以采纳Java,是因为它有独特
的能力来编制和部署能在任何一个网络、任何一个操作系统上运行的
应用软件。分配软件的时间和费用实际上已不复存在,使得各公司可
把更多的资源用来开发其产品。而且,某些工业专家认为,Java可能
会改变软件销售模式,从固定价格改变为按使用量收费,这样做更有
利可图,而且可阻止非法盗版。
Java是一种网络计算的通用开放标准平台。这种平台可从电话一
直扩展到极端重要的应用,建立在您现有的硬件和软件体系结构基础
上,从而创造出一个全部联网的企业或者制造出超出的创新产品。

“由于Java具有可缩放性,因而我们可以把Java应用于小应
用软件或大应用软件,把它芯片组以及大型计算机和服务器,并
使它为各种不同的应用领域服务。”

三菱公司系统营销副总裁
Steve Hester

“借助Java,您可以用一种能最有效地使用的方式动态地分
发和分配交互式商务应用软件一一在需要运行应用软件的地方,
在需要运行应用软件的时候。”

Novell公司开发者服务部副总和总经理
Gary Mueller

Java扎下根来

在某种意义上,Java具体体现了Sun Microsystiems公司自其14年
前创建以来所追述的目标。当时,它创造了“网络就是计算机”这局名
言。它市基于Web的新网络计算模式的完美平台,因为它建立在各个
组织现有的硬件和软件体系结构基础上,能建立一个全部联网的企业。

Java是一个完整而全面的解决方案
Java远不止是一种编程语言,它是企业内外的完整计算环境,而
且万事齐备,从开发工具、操作系统、服务器软件和瘦/肥客户机一
直到网络管理工具、支持、培训、咨询和集成服务,一应俱全。Java
使用起来非常简单,部分原因是Sun提供一种全面统一的解决方案。
主要组成部分包括:
*Java开发工具和服务:有助于简化开发Java应用软件的产品和
服务
*JavaOS:一种结构紧凑的操作系统,可使Java应用软件在网络
计算机和蜂窝电话等设备上运行
*Java虚拟机:一层软件,嵌入Windows、Macintosh和UNIX等计
算机操作系统,或在这些操作系统上运行,从而使计算机能
运行Java应用软件
*Java API:标准软件界面,位于Java应用软件和数据库检索和
安全性等服务软件之间
*Java芯片:一系列为Java优化的为处理器
*Solstice WorkShop:Java启动的网络管理工具
*Java培训:一个由教师指导和基于多媒体的完整课程,教会编
程员如何开发Java应用软件,包括一个用来验证熟练程度的
认证计划
*JavaWorkShop支持:900号电话服务,可为Java WorkShop用户
(仅限美国用户)立即提供按需支持
这些产品依靠由Sun的核心技术和服务提供的基础,包括:
*Solaris操作系统
*Sikstuce企业管理系统
*WorkShop开发者工具
*SunSpectrum支持服务
*Internet咨询和集成服务
*Java和Internet教育服务
*ultra工作站和Ultra Enterprise服务器;Netra服务器

难怪大公司和日益增多的全球2000公司正在把Java计算用做系统以及
其终产品的主要方面。

“您不会把您自己锁住在任何一家公司的专有技术中。
开放意味着选择。而Java使您有选择余地。”
Java改变了什么

&nbs
p; 十年前,几乎没有人想到,几个技术人员研发的一个“小语言”,会发展成如今的一个“生态圈”,这就是Java。

Java让互联网动了起来

“计算机语言的发展历史也是人们不断追求更高的模块化、抽象化和封装化的历史。近十年期间,很多编程语言,从出现到没落经过了一波又一波。像1970年代出现的Pascal,如今用的人已经不多了。”一位资深程序员告诉记者,“‘算法+数据结构=程序’几乎成为软件开发的惟一准则,结构化程序设计方法从计算机发展角度来看是自然而然的,但今天从抽象的角度来看,这种方法几乎可以说是一个‘时代错误’。实际上,软件开发的主要目的就是描述和反映现实世界,结构化程序设计方法并不符合这个思维方式。”
因此,抽象的过程应该是以现实世界的对象为中心的,于是面向对象的抽象方法就走到了前台,出现了Visual Basic、Delphi、C++以及Java等面向对象的编程语言,而互联网的勃兴,则给Java的成长带来了肥沃的土壤。
“Java诞生时并没有引起太多人的注意,它第一次让人们觉得惊艳是在一次网站演示上,但当时人们对Java还抱有很大的争议。”被誉为“Java之父”的SUN公司副总裁、软件部首席技术官James Gosling回忆起十几年前的情景不无感慨地说,“但Java的出现为当时的互联网增添了生机,它让那些静态的页面动了起来。”
而且,因为Java具有“只写一次,随处运行”的特点,从而引起了更多开发者的兴趣。
“我们可以不必再做重复性质的劳动了。”中国科学院软件研究所宋靖宇博士说,“此前,为了能够使程序在不同型号的硬件平台上运行,开发人员必须耗费大量的时间来一遍又一遍的编写代码,然而Java改变了这样的局面,只写一次就可以。”
由于看到Java在互联网时代的巨大作用,清华大学计算机系教授王克宏从1995年就开始跟踪Java的发展。
Java语言的优势似乎是与生俱来的,然而,仅有语言是不够的。

免费的Java创造了应用奇迹

“为了提高软件开发效率,任何编程语言都离不开相应的开发工具和程序库。”王克宏说。于是,SUN公司在1996年的1月23 日发布了JDK1.0,其中包括两个部分:运行环境和开发工具,运行环境包括五大部分:核心API、集成API、用户界面API、发布技术和Java虚拟机。
随着各种功能的完善与提炼,各种Java开发工具以及开发环境的丰富,Java不再是一种语言的代名词,它变成了一种开发平台。人们常常听到的J2EE(企业版)、J2ME(微型版)、J2SE(标准版)就是Java的三大核心平台。利用这三种不同的平台,人们可以来做不同行业的应用。
SUN公司大中华区总裁余宏德说:“Java经过十年的发展,已经得到了全球的公认,可以说,当今的电子时代是‘Java无处不在’,正是基于它一开始的技术公开性,Java已经变成全球最富有活力的技术社区之一。”
尽管,Java目前已经风靡全世界,但Java 到底给整个产业带来什么,除了Java程序员外,似乎没有人能具体感觉到。
SUN中国区市场经理马君海比喻说:“电灯的发明,使得有了现在庞大的电力产业;电话的发明,使得有了当今兴旺的电信产业;而Java的发明,则给软件产业带来了前所未有的改变。”
像一切新兴事物一样,Java的发展并不那么顺利,其坎坷起步的经历,可以从SUN首席执行官Scott McNealy在SUN的Java One大会上的一句话得知一二:“七八年前的Java One演说现在听起来真是寒碜,我们那时实在是太小看它了,我们根本不知道这项技术将会改变什么。”而且,由于开始就是基于开源的态度,当时很多人怀疑它是否能赚钱。
然而,今天的Java已经得到广泛应用。
据全球市场调查分析显示:已经有25亿部电子设备采用了Java技术,Java智能卡发行量已经达到10亿张,采用Java技术的手机达7亿多部,7亿台PC中应用了Java技术,140家电信运营商支持Java 技术,全球有超过450 万个Java开发人员,JCP(Java社区项目)已经有912家会员企业。

如果没有Java,SUN将会怎样

从1997年4月6日美国旧金山的第二届Java One大会,到今年的Java十周年盛事,本报目睹了Java 十年的风风雨雨,眼瞅着这个以“咖啡”命名的小小编程语言变成了一个平台,一个社团,一个生态系统。Java不仅发展了自己,也同时改变了它的缔造者。Java对SUN的改变是间接的、渐进式的,有时候甚至不为外人所道也。
与平台无关的Java旨在与“锁定用户的”Windows相抗衡,给人们更多的选择,但推动Java研发的却是家硬件公司――硬件公司与微软抗个什么衡?也许有人会拿IBM做类比――IBM也大量涉足软件。问题在于,IBM涉足软件的结果是把自己变成了一个软件和服务公司,而SUN的主业依然是服务器。表面上看,“纯软”的Java并没有给“偏硬”的SUN带来直接效益,反而树了个强大的敌人,这就是并不“软”的微软。
同时,尽管SUN对Java的投资巨大,却从没说过它从Java中获得过多少回报。因为使用Java程序和开发工具包是免费的,这让那些利用Java做第三方开发的ISV们赚了个钵满盆满,可是SUN得到了什么?当然,Java作为高级编程语言,它的注册和维护也能给SUN带来一定收入,但这是一个小头,有人比喻说:“SUN成了Java的管家,而不是主人。”
SUN大中华区市场总监李永起近日为记者揭开了Java与SUN的秘密:“如果SUN只是一个做服务器的公司,人们就不会对我们太感兴趣,但有了Java,就大不一样了,人们会跑过来与我们讨论Java,人们会说:‘哦,能研发出Java这么棒的编程语言的公司一定不同凡响!’况且,服务器的销售从来就不是孤立的,它体现为一个系统,Java在硬件销售中发挥了关键作用。”SUN用 Java来定位Web服务,发挥其多平台对话的特长,营造Web服务环境。
Internet让Java复活,Java则拯救了曾经陷入“偏硬”困境中的SUN。
SUN董事长麦克尼里认为:Java带来的益处从根本上讲是间接的。“但是,”他说,“想像一下,如果10年前SUN没有做Java,今天SUN将会在哪里?如果人们不写Java Web服务,他们会写.Net的程序,如果他们写.Net的程序,他们就不会为SUN的设备写程序。”

.NET不折不扣的对手

近年来,国内一批软件公司都采用Java技术开发了一批软件平台和产品,这两年Java在国内得到了迅速发展。不过,尽管看起来Java的队伍似乎很强大,但国内Java人才相对而言还是少得可怜。
“SUN在新加坡建立了Java高级培训中心,目前新加坡有5万名Java 人才,而新加坡全国只有380万人,即全国1.3%的是Java人才,如果按此比例,中国应有1700万名Java人才,而现在估计仅10到15万人。”王克宏教授在相关的报告中写道,“造成国内Java应用不多的原因是多方面的。”
“这两年SUN才开始在中国举办各种活动,而许多媒体对Java的不关注也是其中一个原因。”王克宏说。
“其实,鉴于Java出来时总给人阳春白雪的面孔,使得国内的许多编程者在熟悉了微软的开发平台后,很难转换过来是其中的一大部分原因。”宋靖宇博士说,“你不得不承认微软在开发工具上的人性化以及可视化设计是高超的。”
“在讨论 Java 的时候我们很容易将 Java 语言和 Java 平台混为一谈,与.NET 平台比较的过程中,也更多的是将Java平台和C#比较,或者将Java语言和.NET 平台做比较,在我个人的意识中,这是不够公正的。”上海大学博士刘锬对记者说,“Java既是一种语言,也是一种平台。”
说到微软的.NET,它从提出的开始就是立足平台,相对于 Java 提倡的“一次编写,到处运行”,.NET则提倡“一个平台,多种语言”,因为平台的统一性,因此在各个程序语言的兼容性和混合开发方面做得比Java 好,也因此有些微软的“粉丝”嘲笑Java是“一次编写,到处调试”。
“微软的C#是集合了C以及C++甚至Java的许多优点的结晶,在Windows平台上,似乎C#在运行速度上更胜一筹。”刘锬介绍说,“在任何一个平台上,我们直接交流的是实现Java语言运行的虚拟机,我们希望Java在虚拟机以及它的开发平台的研发上变得更易用、更人性化。”
“有对手总是一件不算坏的事情,这个世界不需要‘独孤求败’,商业规则也不允许‘独孤求败’的出现,因为那样会打破竞争格局的平衡,而Java和.NET这两个平台的纷争才刚刚开始。较量,有利于整个软件世界。SUN公司在商业模式的运作上甚至可以跟微软学习。”一网友这样说。

java是一种编程语言,与C++一样的性质,但JAVA 用来开发手机上的程序,主要是手机游戏等。