JAVA.docx

上传人:b****8 文档编号:9493709 上传时间:2023-05-19 格式:DOCX 页数:30 大小:44.83KB
下载 相关 举报
JAVA.docx_第1页
第1页 / 共30页
JAVA.docx_第2页
第2页 / 共30页
JAVA.docx_第3页
第3页 / 共30页
JAVA.docx_第4页
第4页 / 共30页
JAVA.docx_第5页
第5页 / 共30页
JAVA.docx_第6页
第6页 / 共30页
JAVA.docx_第7页
第7页 / 共30页
JAVA.docx_第8页
第8页 / 共30页
JAVA.docx_第9页
第9页 / 共30页
JAVA.docx_第10页
第10页 / 共30页
JAVA.docx_第11页
第11页 / 共30页
JAVA.docx_第12页
第12页 / 共30页
JAVA.docx_第13页
第13页 / 共30页
JAVA.docx_第14页
第14页 / 共30页
JAVA.docx_第15页
第15页 / 共30页
JAVA.docx_第16页
第16页 / 共30页
JAVA.docx_第17页
第17页 / 共30页
JAVA.docx_第18页
第18页 / 共30页
JAVA.docx_第19页
第19页 / 共30页
JAVA.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA.docx

《JAVA.docx》由会员分享,可在线阅读,更多相关《JAVA.docx(30页珍藏版)》请在冰点文库上搜索。

JAVA.docx

JAVA

Java

Java,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。

用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:

跨平台、动态的Web、Internet计算。

从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。

目录

平台构架

名字起源

历史

语言特点

主要特性

相关技术

开源项目

JavaIDE

展开

平台构架

  Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。

Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。

在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。

现在Java平台已经嵌入了几乎所有的操作系统。

这样Java程序可以只编译一次,就可以在各种系统中运行。

Java应用编程接口已经从1.1x版发展到1.2版。

目前常用的Java平台基于Java1.5,最近版本为Java1.7。

  Java分为三个体系JavaSE(Java2PlatformStandardEdition,java平台标准版),JavaEE(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(Java2PlatformMicroEdition,java平台微型版)。

*JavaSE(JavaPlatform,StandardEdition)。

JavaSE以前称为J2SE。

它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。

JavaSE包含了支持JavaWeb服务开发的类,并为JavaPlatform,EnterpriseEdition(JavaEE)提供基础。

  *JavaEE(JavaPlatform,EnterpriseEdition)。

这个版本以前称为J2EE。

企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。

JavaEE是在JavaSE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-orientedarchitecture,SOA)和Web2.0应用程序。

  *JavaME(JavaPlatform,MicroEdition)。

这个版本以前称为J2ME。

JavaME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。

JavaME包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。

基于JavaME规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。

  2009年04月20日,oracle(甲骨文)宣布收购sun。

  1991年,Sun公司的JamesGosling。

BillJoe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个Oak(一种橡树的名字)软件,他是Java的前身。

当时,Oak并没有引起人们的注意,直到1994年,随着互联网和3W的飞速发展,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,得以研发和发展。

为了促销和法律的原因,1995年Oak更名为Java。

Java的得名还有段小插曲呢,一天,Java小组成员正在喝咖啡时,议论给新语言起个什么名字的问题,有人提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用Java来命名此新语言。

很快Java被工业界认可,许多大公司如IBMMicrosoft.DEC等购买了Java的使用权,并被美国杂志PCMagazine评为1995年十大优秀科技产品。

从此,开始了Java应用的新篇章。

  Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:

  

(1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。

这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。

  

(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。

在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。

  (3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。

中间提供商,构件提供商,服务器软件以及咨询服务商出现。

企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。

  (4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。

  总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。

名字起源

  Java自1995诞生,至今已经15年历史。

Java的名字的来源:

Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。

Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。

SUN和JAVA的标识也正是一杯正冒着热气的咖啡。

  据JamesGosling回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。

我们的新语言需要一个名字。

Gosling注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。

所以他将这个新语言命名为Oak。

但Oak是另外一个注册公司的名字。

这个名字不可能再用了。

  在命名征集会上,大家提出了很多名字。

最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。

排在第一位的是Silk(丝绸)。

尽管大家都喜欢这个名字,但遭到JamesGosling的坚决反对。

排在第二和第三的都没有通过律师这一关。

只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名字就是Java。

  10多年来,Java就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平台的霸主。

而Java语言也如同咖啡一般醇香动人。

历史

早期的Java

  Java平台和语言最开始只是升阳公司在1990年12开始研究的一个内部项目。

升阳公司的一个叫做帕特里克•诺顿的工程师被升阳自己开发的C和C语言编译器搞得焦头烂额,因为其中的API极其难用。

帕特里克决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth计划”的项目的机会。

  “Stealth计划”后来改名为“Green计划”,詹姆斯•高斯林和麦克•舍林丹也加入了帕特里克的工作小组。

他们和其他几个工程师一起在加利福尼亚州门罗帕克市沙丘路的一个小工作室里面研究开发新技术,瞄准下一代智能家电(如微波炉)的程序设计,升阳公司预料未来科技将在家用电器领域大显身手。

团队最初考虑使用C语言,但是很多成员包括升阳的首席科学家比尔•乔伊,发现C和可用的API在某些方面存在很大问题。

  工作小组使用的是内嵌类型平台,可以用的资源极其有限。

很多成员发现C太复杂以至很多开发者经常错误使用。

他们发现C缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。

最后,他们想要一种易于移植到各种设备上的平台。

  根据可用的资金,比尔•乔伊决定开发一种集C语言和Mesa语言大成的新语言,在一份报告上,乔伊把它叫做“未来”,他提议升阳公司的工程师应该在C的基础上,开发一种面向对象的环境。

最初,高斯林试图修改和扩展C的功能,他自己称这种新语言为C--,但是后来他放弃了。

他将要创造出一种全新的语言,被他命名为“Oak”(橡树),以他的办公室外的树而命名。

  就像很多开发新技术的秘密的工程一样,工作小组没日没夜地工作到了1992年的夏天,他们能够演示新平台的一部分了,包括Green操作系统,Oak的程序设计语言,类库,和其硬件。

最初的尝试是面向一种类PDA设备,被命名为Star7,这种设备有鲜艳的图形界面和被称为“Duke”的智能代理来帮助用户。

1992年12月3日,这台设备进行了展示。

  同年11月,Green计划被转化成了“FirstPerson有限公司”,一个升阳公司的全资子公司,团队也被重新安排到了帕洛阿尔托。

FirstPerson团队对建造一种高度互动的设备感兴趣,当时代华纳发布了一个关于电视机顶盒的征求提议书时(Requestforproposal),FirstPerson改变了他们的目标,作为对征求意见书的响应,提出了一个机顶盒平台的提议。

但是有线电视业界觉得FirstPerson的平台给予用户过多地控制权,因此FirstPerson的投标败给了SGI。

与3DO公司的另外一笔关于机顶盒的交易也没有成功,由于他们的平台不能在电视工业产生任何效益,公司再并回升阳公司。

JAVA遭遇互联网

1994年6、7月间,在经历了一场历时三天的头脑风暴的讨论后,约翰•盖吉、詹姆斯•高斯林、比尔•乔伊、帕特里克•诺顿、韦恩•罗斯因和埃里克•斯库米,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。

他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。

作为原型,帕特里克•诺顿写了一个小型万维网浏览器,WebRunner,后来改名为HotJava。

同年,Oak改名为Java。

商标搜索显示,Oak已被一家显卡制造商注册,因此团队找到了一个新名字。

这个名字是在很多成员常去的本地咖啡馆中杜撰出来的。

名字是不是首字母缩写还不清楚,很大程度上来说不是。

虽然有人声称是开发人员名字的组合:

JamesGosling(詹姆斯•高斯林)ArthurVanHoff(阿瑟•凡•霍夫)AndyBechtolsheim(安迪•贝克托克姆),或“JustAnotherVagueAcronym”(只是另外一个含糊的缩写)。

还有一种比较可信的说法是这个名字是出于对咖啡的喜爱,所以以Java咖啡来命名。

类文件的前四个字节如果用十六进制阅读的话,分别为CAFEBABE,就会拼出两个单词“CAFEBABE”(咖啡宝贝)。

  1994年10月,HotJava和Java平台为公司高层进行演示。

1994年,Java1.0a版本已经可以提供下载,但是Java和HotJava浏览器的第一次公开发布却是在1995年3月23日SunWorld大会上进行的。

升阳公司的科学指导约翰•盖吉宣告Java技术。

这个发布是与网景公司的执行副总裁马克•安德森的惊人发布一起进行的,宣布网景将在其浏览器中包含对Java的支持。

1996年1月,升阳公司成立了Java业务集团,专门开发Java技术。

语言特点

  Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的静态语言。

  当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。

那么Java到底有何神奇之处呢?

  Java语言其实最早诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。

他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。

但是,网络的出现改变了OAK的命运。

  在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。

这对于那些迷恋于WEB浏览的人们来说简直不可容忍。

他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。

对于用户的这种要求,传统的编程语言显得无能为力。

SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。

当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都心生感叹:

噢,这正是我想要的!

于是Java成了一颗耀眼的明星,丑小鸭一下子变成了白天鹅。

主要特性

  1、Java语言是简单的。

Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。

另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。

特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

  2、Java语言是一个面向对象的。

Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。

Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。

总之,Java语言是一个纯的面向对象程序设计语言。

  3、Java语言是分布式的。

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。

Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

  4、Java语言是健壮的。

Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。

对指针的丢弃是Java的明智选择。

Java的安全检查机制使得Java更具健壮性。

  5、Java语言是安全的。

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。

除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

  6、Java语言是体系结构中立的。

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。

这种途径适合于异构的网络环境和软件的分发。

  7、Java语言是可移植的。

这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。

Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。

  8、Java语言是解释型的。

如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。

在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

  9、Java是高性能的。

与那些解释型的高级脚本语言相比,Java的确是高性能的。

事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

  10、Java语言是多线程的。

在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。

通常有两种方法来创建线程:

其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。

值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。

线程的活动由一组方法来控制。

Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

  11、Java语言是动态的。

Java语言的设计目标之一是适应于动态变化的环境。

Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。

这也有利于软件的升级。

另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

  Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。

Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。

Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。

特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

相关技术

  1、JDBC(JavaDatabaseConnectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。

  2、EJB(EnterpriseJavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。

  3、JavaRMI(JavaRemoteMethodInvocation)用来开发分布式Java应用程序。

一个Java对象的方法能被远程Java虚拟机调用。

这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。

  4、JavaIDL(JavaInterfaceDefinitionLanguage)提供与CORBA(CommonObjectRequestBrokerArchitecture)的无缝的互操作性。

这使得Java能集成异构的商务信息资源。

  5、JNDI(JavaNamingandDirectoryInterface)提供从Java平台到的统一的无缝的连接。

这个接口屏蔽了企业网络所使用的各种命名和目录服务。

  6、JMAPI(JavaManagementAPI)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。

  7、JMS(JavaMessageService)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。

  8、JTS(JavatransactionService)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。

  9、JMF(JavaMediaFrameworkAPI),她可以帮助开发者把音频、视频和其他一些基于时间的媒体放到Java应用程序或applet小程序中去,为多媒体开发者提供了捕捉、回放、编解码等工具,是一个弹性的、跨平台的多媒体解决方案。

  10、Annotation(JavaAnnotation),在已经发布的JDK1.5(tiger)中增加新的特色叫Annotation。

Annotation提供一种机制,将程序的元素如:

类,方法,属性,参数,本地变量,包和元数据联系起来。

这样编译器可以将元数据存储在Class文件中。

这样虚拟机和其它对象可以根据这些元数据来决定如何使用这些程序元素或改变它们的行为。

  在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。

一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。

一个JavaBean的主要特征包括属性、方法和事件。

通常,在一个支持JavaBeans规范的开发环境(如SunJavaStudio和IBMVisualAgeforJava)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。

JavaBean的优势还在于Java带来的可移植性。

现在,EJB(EnterpriseJavaBeans)将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。

除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。

  11、javaFX Sun刚刚发布了JavaFX技术的正式版,它使您能利用JavaFX编程语言开发富互联网应用程序(RIA)。

JavaFXScript编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative,staticallytyped(声明性的、静态类型)脚本语言。

JavaFX技术有着良好的前景,包括可以直接调用JavaAPI的能力。

因为JavaFXScript是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序变为可能。

  12、JMX(JavaManagementExtensions,即Java管理扩展)是一个为应用程序、设备、系统等植入

  管理功能的框架。

JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝[1][2][3][4][5][6]

  集成的系统、网络和服务管理应用。

  13、JPA(JavaPersistenceAPI),JPA通过JDK5.0注解[7]或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

  java-参见

  计算机科学课程列表

  JNI(JavaNativeInterface)Java本地接口。

开源项目

   SpringFramework【Java开源J2EE框架】

  Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。

Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。

Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。

然而,这仅仅是完整图景中的一部分:

Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。

Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。

Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。

Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。

Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。

这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。

Spring还提供了可以和IoC容器集成的强大而灵活的MVCWeb框架。

【SpringIDE:

Eclipse平台下一个辅助开发插件】.

  WebWork

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2