首页 arrow 开发技术 arrow 新手上路 arrow Java语言介绍
Java语言介绍
Author Author: 一滴蔚蓝色 | Date Date: 2007-02-22 | View Count View: 2357 | Section & Category 开发技术 - 新手上路 | Digg Digg: 1
概要
Java
包含了一种计算机编程语言和一个平台。
Java
编程语言是一种高级语言。由Sun微系统公司发布,并作为一种开放的标准进行提供。
Java
平台包括了Java虚拟机和Java应用程序接口(API)

Java
将原程序编译成字节码(bytecode),并通过Java虚拟机(JVM)解释字节码的方式来执行。因为这种运行方式,只要针对不同的计算机平台准备相应的Java虚拟机,就可以很方便的实现Java语言的跨平台性。
因此,Java非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。 Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性、可移植性、高性能、多线程、动态性等。

Java的主要应用有如下几点:
*
利用浏览器中的Java虚拟机运行于客户端的Applet
*
利用本地虚拟机运行的Java应用程序,通常利用SwingSWT等来编写跨平台的GUI界面系统。
*
通过编写Servlet/JSP来提供网络服务,运行于网络应用程序服务器中。
*
利用嵌入式Java虚拟机运行于手机等移动设备的Java应用程序,使用J2ME API

Java的产生
Java
来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把E-mail发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用C++,C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身)Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但结果是被SGI打败。可怜的Oak几乎无家可归,恰巧这时MarkArdreesen开发的MosaicNetscape启发了Oak项目组成员,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,触发了Java进军Internet
Java
的取名也有一个趣闻,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。

Java平台根据API和使用领域,主要分为三种技术
*Java SE (
旧称J2SE) - Java Platform, Standard Edition
*Java EE (
旧称J2EE) - Java Platform, Enterprise Edition
*Java ME (
旧称J2ME) - Java Platform, Micro Edition

---
以下信息望适当更新修改---
JAVA
介绍
一、前言
Java』从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多 媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻: Java在全球资讯网(World Wide Web, WWW )地位就如同电子表格(Spreadsheet)与个人计 算机(PC)的关系。那Java究竟有那些特色呢?
Java
是一种软件技术
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
是一种为 Internet发展的计算机语言
是一种使网页(Web Page)产生生动活泼画面的语言
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
是一种语言,用以产生「小应用程序(Applet(s))
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
是一种将安全性(Security)列为第一优先考虑的语言
是一种使用者不需花费很多时间学习的语言
是一种突破用户端机器环境和CPU结构的语言
是一种「写一次,即可在任何机器上执行(Write OnceRun Anywhere)」的语言是有史以来,第一套允  使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的机器  (LocalMachine)并执行
是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, MAC)与软件(如:SW-   UNIX, MAC O/S, Windows, NT)环境的语言(Kestenbaum, 1995)
Java的版本
J2SE Java
的标准版本 (Java2 Standard Edition) 定位在客户端,主要用于桌面应用软件的编程
J2ME (Java2 Micro Edition)       
主要应用于嵌入式系统开发,如手机和PDA的编程;
J2EE
企业版本(Java2 Enterprise Edition)定义在服务器端Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
下面将依序地介绍Java,首先是Java的发展历史与Java语言介绍,其次依序是Java AppletHotJava的简单介绍。
二、Java FAQ
下面以问答的方式来说明Java的发展历史与其背景(下列内容整理自 Java FAQ list and TutorialThe Java Language: A White Paper,读者若欲深 入了解,请自行参阅原文)
Java
何时开始发展?(When)
最早大概可追溯至1991年四月份,Sun的绿色计划(Green Project)开始着手于发展消费性电子产品(Consumer Electronics),所使用的语言是CC++、及Oak (Java 言的前身),后因语言本身和市场的问题, 使得消费性电子产品的发展无法达到当初 预期的目标,再加上网络的兴起, 绿色计划也因此而改变发展的方向,这已是1994 年了。
为何称之为Java(Why) "Java"是美国SUN计算机公司Java发展小组历经无数次的激烈讨论之后才被选择出。 生动(Liveliness)、动画(Animation)、速度(Speed)、交互性(Interactivity)为当 初选择名字时所欲表达出的特色。"Java"是在无数的建议中脱颖而出的,而"Java" 不是由几个单字的首字所组成, 而是从许多程序设计师钟爱的热腾腾、香浓咖啡中 产生灵感的。
谁开发了Java(Who) Java是美国SUN计算机公司Java发展小组开发的,早期的成员(绿色工程)Patrick Naughton, James Gosling, & Mike Sheridan,而现在大家较为熟悉的成员是James Gosling
在那里开发了Java(Where)
也就是问Java的出生地?答案是美国
如何可以找到所需的Java信息?(How to)
在网路上,您可以连到Sun公司的Java WWW 网站,URLhttp://java.sun.com/,或是 http://www.javasoft.com/。在那里几乎可以找到您所需要的所有Java信息,但是语 言多少是一个障碍, 至少对某些人而言;没关系,目前国内已有很多个网站提供中文 Java信息。在清华和中科院的FTP站点上有不少有关资料。想象以后应会有更多的站点提供相关信息。
如何才能看到Java的效果?(How Do I)
首先您需要有含有Java解释器的浏览器(Browser),例如:Netscpae公司的Netscape Navigator 2.0以上或是Sun公司的HotJava浏览器,对个人计算机使用者而言,操作 系统需是Windows 95或是Windows NT
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语言的技巧。若以木工为比喻,一个面 向对象的木工,他()最主要的重点是即将要做的木椅子,其次才是所需要的工具; 反之;一个以非面向对象的木工,他()所关心的只是工具。最近的即插即用(Plug and Play)亦是面向对象设计的重点。 分布式的(Distributed)Java有一个很周全的程薪录JAVA介绍
一、
Java』从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet 多媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻: Java在全球资讯网(World Wide Web, WWW )地位就如同电子表格(Spreadsheet)与个人计 算机TTPFTPTCP/IP通讯协定相配合。Java应用程序(Applications) 能在网路上开启及连结使用物件,就如同透过URLs连结使用一个本地文件系统(Local File System) 健壮的(Robust):由Java所编写出的程序能在多种情况下执行而具有其稳定性。Java C/C++最大不同点是Java有一个指针模型(Pointer Model)来排除内存被覆盖(Overwriting Memory)和毁损数据(Corrupting Data)的可能性。
安全的(Secure)Java是被设计用于网络及分布式的环境中,安全性自必是一个很 重要的考虑。Java拥有数个阶层的互锁(Interlocking)保护措施,能有效地防止病 毒的侵入和破坏行为的发生。
结构中立的(Architecture Neutral):一般而言,网络是由很多不同机型的机器所 组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序可以 在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标 文件格式(Object File Format);这使得编译码得以在很多种处理器中执行。
可移植的(Portable):原始资料型式的大小是被指定的,例如"float"一直是表示一 32位元IEEE 754浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于 系统的一部份,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。
解释的(Interpreted)Java解释器能直接地在任何机器上执行Java位元码(Bytecodes) 因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。
高效能的(High Performance)Java位元码迅速地能被转换成机器码(Machine Code) 从位元码转换到机器码的效能几乎与CC++没有分别。
多线程的(Multi threaded)Java语言具有多线程的功能,这对于交互回应能力及 即时执行行为是有帮助的。
动态的(Dynamic)JavaCC++语言更具有动态性,更能适应时刻在变的环境, Java不会因程序库的更新,而必须重新编译程序。
此外,Hank Shiffman (Making Sense of Java)亦针一般对Java的错误看法及观 念提出他的说明,特在此摘译如下:
"Java
是一种编写Web Pages的一种语言,就如同HTMLVRML一样" 事实上,Java并不像是HTML此一类的描述语言(Description Language),而是一种 编程语言(Programming Language)。描述语言标明内容和位置,而编程语言描述一 种产生结果的过程。
2. "Java
语言容易学习和使用,不像CC++和其它程序语言"
Java
是一种编程语言。Java容易学吗?Java或许是比CC++容易学,但仍是一种编程语言,而不是一种描述语言。
3. "Java
码是可移植的,但CC++不是"
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则与CC++等完全编译语言较为相近,但与BasicAPL等完全解译语言较不相近。
7. "Java
删除了CGI命令稿(Scripts)和程序的需求"
Java Applets
将会取代部份CGI的用途。在有些情况,Java Applets能够取代一些服务器端代码(Server-Side Code),但大多数的情况,基于安全性理由或是效 能的考虑,Java仍无法全然取代CGI Scripts
8. "Netscape's JavaScript
是与Java有相关"
除了名称之外,JavaJavaScript是有一点点相关。JavaScript是一种命令稿语 言,是可以在HTML页中使用。Java码并未出现在HTML中,而在HTML中通过一个链 结来链结编译码组。JavaJavaScript之间的关系就如同C语言和C Shell一般。
. Java 的未来发展
相信这个问题大家一定很关注! 我是Java工程师,从事Java研发技术已多年,而且很关注SUN公司对Java的发展和创新,自己也是全球Java研发中心的一员,在此像大家介绍一下Java的未来发展动向!
Java
的跨平台性使其具有非常广阔的发展空间,Java如今不断在科研、教育、航空航天上取得进展,相信2010年后将是Java的世界! 当然需要大家,全球Java爱好者共同努力!
Java
J2SE1.4 J2SE1.5,到J2SE1.6   J2SE1.7都在不断完善Java的各种功能,也在学习 .Net 的各种优势,呵呵
软件之间就是这样,要想生存就的不断吸收别人的长处! 代号野马的 J2SE1.6在性能上将有飞跃,希望各位能钟情于它。
相信.Net Java竞争还会不断进行下去,只要Microsoft不倒闭我们的Java就会有发展,即便SUN倒闭了我们的Java也不
会倒,因为Java是我们大家的! 开源的!
你还在犹豫学什么语言吗? 学习Java吧,它比C简单! 呵呵……  
结尾:Java 的发展将向 小型机(手持设备)  广域的多机合作(分布式) 人工智能系统(AI   Java
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应运而生。
人们很快发现,