java有什么用?是软件吗?
1的历史。Java 语言(一种计算机语言,尤用于创建网站)
1995年5月23日
Sun在sun world’95上正式发布了Java和HotJava浏览器。
1995年8月
网景公司获得了Java许可证。
65438+9月0995
Sun宣布将提供Java开发工具。
1995 10月
Oracle和Borland已经获得了Java许可证。
1995 65438+二月
SGI,Adobe,IBM,AT & amp;t公司和Intel公司获得了Java许可证。
Sun和Netscape发布了JavaScript,这是一种基于Java语言的脚本语言,非程序员也可以使用。
Sun、Netscape和SGI宣布缔结软件联盟,为Java和因特网开发3D和多媒体交互工具。
1996 1月
Sun宣布成立一个新的业务部门JavaSoft Department,负责开发、销售和支持基于Java技术的产品,AlanBaratz先生担任总裁。
Sun发布了Java开发工具包JDK(Java Development Kit)1.0,它为开发人员提供了编译Java应用软件所需的工具。
1996年2月
Sun发布了一系列Java芯片,包括picoJava、microJava和UltraJava。
Sun推出了Java数据库连接JDBC(JavaDatabaseConnectivity)数据库API。
1996年3月
微软和NetManage获得了Java许可证。
Sun推出了JavaWorkShop。
1996年4月
SCO和苹果都获得了Java许可。
NEC公司获得了Java处理器技术的许可。
孙宣布,苹果电脑、惠普、日立、IBM、微软、Novell、SiliconGraphics、SCO、Tamdem等公司将把Java平台嵌入他们的操作系统。
1996年5月
HP公司和Sybase公司获得了Java许可证。
Addison-Wesley和Sun联合推出Java应用程序编程接口(Vol 1 & amp;2)和Java编程语言。
北方电信宣布计划将Java技术和Java微处理器应用于其下一代电话。
5月29日,Sun在旧金山举办了首届JavaOne世界Java开发者大会,业界人士积极参与。Sun在大会上介绍了一系列新的Java平台技术,如JavaMediaAPIs、CommerceAPIs、SecurityAPIs、ServletAPIs、ManagementAPIs、JavaRMI和JavaIDL、JavaOS、JavaBeans以及新的HotJava开发环境。
Sun发布了HotJava,这是一组Java类库,供开发人员编译可按需定制的动态网络应用程序和用户环境。
Sun公司发布了JavaOS,这是一种非常紧凑的操作系统,用于在从网络计算机到寻呼机的微处理器上直接运行Java应用软件。
65438+7月0996
GemstoneSystems和OctelCommunications获得了Java许可证。
1996年8月
JavaWorkShop成为Sun通过互联网提供的第一个产品。
65438+9月0996
三菱日本等公司获得了Java许可。
Addison-Wesley和Sun介绍了Java虚拟机规范和Java类库。
1996 10月
德州仪器等公司获得了Java许可证。
由于业界齐心协力为开发者提供强大的平台无关组件架构,Sun完成了JavaBeans规范并提前发布。
Sun发布了第一个JavaJIT(Just-In-Time)编译器,并计划在JavaWorkShop和Solaris操作系统中加入JIT。
10年10月29日,Sun发布了Java企业计算技术,包括:JavaStation网络计算机、65家公司发布的85款Java产品和应用、7款新的Java培训课程和Java咨询服务、基于Java的互联网邮件软件、新的Java开发者支持服务、HotJavaViews、JavaTutor的演示、JavaCardAPI的完成。
Sun展示了hot Java Views——第一个专用于Java网络计算机的用户环境。HotJavaViews经过优化,为那些将大部分计算时间花在少数关键应用程序上的人提供了一个高效的Webtop环境。
Sun宣布完成JavaCard应用程序编程接口(API)规范,这是智能卡使用的第一个开放API。JavaCard规范将为全世界数以亿计的智能卡提供Java功能。
1996 11月
IBM获得了JavaOS和HotJava许可。
Novell公司获得了JavaWorkShop的许可。
Sun和IBM宣布他们已经就提供基于Java的商业解决方案达成了广泛的协议,IBM同意建立第一个Java检测中心。
Sun交付了第一批JavaStation网络计算机。JavaStation网络电脑被《信息周刊》评为“1996最重要的产品”。
1996 65438+二月
施乐等公司获得了Java或JavaOS许可。
Sun发布了JDK1.1、Java business toolkit、JavaBeans开发工具包等一系列JavaAPIs。
Sun推出了JavaServer的新产品线,包括JavaWebServer、JavaNCServer和JavaServerToolkit。
Sun发布100%纯Java计划,得到100家公司支持。
1997 1月
SAS等公司获得了Java许可证。
Sun交付了一个完整的JavaBeans开发包,在其规范确定后不到8个月就完成了。
1997年2月
Gemplus和ElectronicToolsCompany获得Java许可,北方电信获得JavaOS许可。
Sun和ARM宣布他们同意让JavaOS在ARM的RISC处理器架构上运行。
Informix宣布在其UniversalServer和其他数据库产品上支持JDK1.1。
Netscape宣布其NetscapeCommunicator支持所有基于Java的应用程序和核心API。
1997年3月
惠普公司获得了惠普UX操作系统JavaWorkShop的许可。
西门子公司等公司已经获得了Java许可证。
日立半导体和Informix等公司已经获得了JavaOS许可。
Novell公司获得了JavaStudio的许可。
Sun出售JavaOS1.0操作系统,这是在微处理器上运行Java环境的最小和最快的方法,并将其提供给Sun的JavaOS许可证持有者。
孙卖的是HotJavaBrowser1.0,这是一个Java浏览环境,可以根据剪裁方便地编写专门的信息应用软件,如信息亭、客户自助台、公司品牌的网络应用软件等。
孙介绍JDK1.1.1。
07年3月1日,Sun向国际标准化组织第一届联合技术委员会(JTC-1)申请成为Java开放有效规范(PAS)的发起者。
1997年4月
OSFResearch(OpenGroup)和朗讯获得Java许可。
Corel公司获得了JavaStudio的许可。
4月2日,Sun在美国旧金山举办了第二届JavaOne开发与应用大会,与会者超过65,438+00,000人。
Sun正式推出100%纯Java程序。
Sun发布了PersonalJavaTM和EmbeddedJavaTM,表明Java在PDA(个人数字助理)、复印机和智能卡方面也能发挥很好的作用。
Sun推出了一个全面的企业计算Java平台,包括一项新技术EnterpriseJavaBeans。它使用Java来突破构建端到端业务解决方案的复杂性。
Sun宣布JavaPCTM计划。JavaPC是一种低成本的软件技术,可以把旧的DOSPC改造成网络计算机,简单方便。
Sun公司和LG半导体公司同意联合开发用于网络计算机和其他消费设备的Java处理器。
Sun和Netscape宣布联合合作提供Java基本类库。
Sun和RockwellCollins宣布将共同开发面向消费产品的Java处理器核心技术。
Sun公司和东芝公司同意联合开发一种低功耗的Java处理器。
Sun发布了JavaStudio和JavaWorkShop2.0。
Sun发布了JavaSound、JavaAdvancedImaging和JavaInputMethodAPIs。这三个新的应用程序编程接口使特性丰富的Java平台获得了额外的功能。
摩托罗拉宣布其PowerPC微处理器可以运行JavaOS操作系统。
公牛获得了端到端解决方案的Java技术许可,适用于智能卡、终端和POS设备。
1997年5月
TriTeal公司获得了HotJavaBrowser许可证。
Philip Smart Card & Systems获得了包括JavaCard在内的Java许可证。
苹果电脑公司宣布将把Java平台作为PhapsodyOS操作系统开发战略的核心组成部分。
孙介绍JDK1.1.2。
1997年6月
三星、3Com等公司都获得了JavaOS许可。
Sun发布JavaWebServer1.0。
Sun在瑞士日内瓦的新技术应用展示中心开业,展示Java计算解决方案。
Sun推出了Java技术API(JTAP)规范1.0,得到了Lucent、IBM、Intel、Nortel、Novell等公司的支持。
Sun推出JavaServer工具包。
65438+7月0997
孙介绍JDK1.1.3。
Addison-Wesley和Sun发布了JavaFAQ。
Sun与西门子签署协议,将Java嵌入智能卡芯片。
Sun发布了JavaCard2.0规范。
Sun推出了JavaWebServer1.0.1。
Sun与LG半导体签署协议,共同开发Java处理器。
Sun公司兼并了公司,加速了基于Java的家庭信息产品的开发。
1997年8月
IBM公司获得了SunTestJava测试工具的许可。
截至8月21,61应用已获得100%纯Java认证;有超过100个应用程序等待测试。
Sun发布了JavaBlend,这是一种使软件开发人员能够自动将Java应用程序与数据库结合起来的新技术。
孙签署协议,合并诚信公司。合并后的Integrity公司加入SunSoft后,将在面向对象编程、智能卡和虚拟机方面发挥重要作用。
Alcatel、Nortel和Samsung选择PersonalJava作为其VoIP的标准平台。除了电话功能,网络电话还可以发送电子邮件,连接互联网和浏览万维网。
IBM、Netscape和Sun联合成立了一个新的Java移植和调试中心,以提高Java的性能,并确保向Java开发者和用户及时和持续地提供Java技术解决方案。这三家公司的专家将在该中心携手合作。
65438+9月0997
Acorn、Chorus、GeoWorks、LucentTechnology、Microtec、Micreware、Qnx和WindRiverSystem是实时操作系统的领先制造商,它们已经获得了在其消费电子产品中使用PersonalJava的RTOS使用权。以及嵌入式Java技术生产消费电子产品(如电视机顶盒、网络电话、寻呼机等。)配合Java解决方案软件。
1997 10月
孙在加州地方法院起诉微软违反了两家公司就微软使用Java技术签订的合同,指控微软违反了承诺向用户提供Java兼容产品的合同条款。Sun要求微软停止侵犯Java兼容性标志,并放弃误导Java开发者,阻止他们开发与Java技术完全兼容的产品。
Sun向公众披露了Sun与微软之间关于开发和销售包含SunJava技术和使用兼容Java标志的产品的合同文本。
Sun宣布它已经完全完成了JavaCardAPI规范,并提供给用户在线下载。
Sun发布了全球首款Java微处理器microJava701的技术细节,并将于1998下半年量产该芯片。
Sun正式推出JavaStudio。这是一个动态Java创作工具,它使非程序员能够直观地编译Java小程序和应用程序。
1997 11月
Sun宣布支持Lotus新的纯Java办公软件eSuiteWorkplace。ESuiteWorkplace是第一个全面的“瘦客户机”高效软件包,包括文字处理、电子表格、电子邮件和日程安排等。它完全用Java语言编写,可以在JavaStation网络计算机上高效运行。
IBM、Lotus、Oracle和Sun宣布联合开发Java桌面规范,这将在业界首次统一桌面网络计算环境,使NC和PC可以基于单一规范运行任何应用程序,即“在线规范”。
Sun宣布将与荷兰Telecommunications BV(一家硬件、软件和通信设备认证中心)合作,建立欧洲100%纯Java测试和认证中心,为参与100%纯Java计划的欧洲公司提供服务。
国际标准化组织117年10月17日宣布,其首个联合技术委员会(JTC-1)以压倒性多数通过了Sun作为Java开放有效规范(PAS)发起方的申请。在投票的24个国家中,20个国家投了赞成票,2个国家投了反对票,2个国家弃权。这将使Java技术走向法律标准。
Java来自Sun公司的一个名为Green的项目。它最初的目的是为家用消费电子产品开发一个分布式代码系统,以便我们可以向冰箱、电视和其他家用电器发送电子邮件,控制它们并与它们交换信息。一开始准备采用C++,但是C++太复杂,安全性差。最后我们开发了一种新的语言Oak(前身Oak(Java)基于C++。OAK是一种微妙而安全的网络语言。Sun公司曾以此为基础竞标一个互动电视项目,结果被SGI击败。可怜的奥克几乎无家可归。就在这时,MarkArdreesen开发的Mosaic和Netscape启发了Oak项目组的成员。他们用Java编写了HotJava浏览器,得到了Sun公司CEO ScottMcNealy的支持,引发了Java进军互联网。Java的名字也有副本;有趣的是,有一天,Java成员组的几个成员在讨论给这种新语言取什么名字。当时,他们正在一家咖啡馆喝爪哇咖啡。有一个人想出了一个叫Java的主意,赢得了其他人的赞赏。因此,Java这个名字流传开来。
二、Java的现状
Java是Sun公司推出的新一代面向对象编程语言,特别适用于互联网应用开发。其平台独立性直接威胁到Wintel的垄断地位。一时间,“连接互联网,用Java编程”成为技术人员的一种时尚。尽管媒体有报道?复制;言过其实,但作为软件开发的革命性技术,Java的地位已经确立,具体表现在以下几个方面:1。计算机行业的很多大公司都购买了Java许可证,包括IBM、苹果、DEC、Adobe、Silicon Graphics、惠普、Oracel、东芝,还有最不情愿的微软。这说明Java已经得到了业界的认可。2.许多软件开发商开始支持Java软件产品。比如Borland公司正在开发的基于Java的快速应用开发环境Latte,发布于1996年中期。Borland的这一举措推动了Java进入PC软件市场。Sun自己的Java开发环境JavaWorkshop已经发布。Illustra、Sybase、Versant、Oracle等数据库厂商都在开发CGI接口,支持HTML和Java。今天是一个以网络为中心的计算时代,不支持HTML和Java,应用程序的应用范围只能局限在一个同构的环境中(同一个硬件平台3。Intranet正在成为企业信息系统的最佳解决方案,Java将发挥不可替代的作用。Intranet的目的是在企业的信息系统中使用Internet,它的优点是:价格低廉,易于使用和管理。无论用户使用什么类型的机器和操作系统,界面都是统一的Intrnet浏览器,而数据库、网页和应用程序(用Java编译的Applet)都存在于WWW服务器上,因此开发者、管理者和用户都可以从这种解决方案中受益。Java语言在不断发展和完善,孙公司是主要的推动者。更常见的编译环境是JDK(Java development kit)和JWS(JavaWorkshop)。许多其他公司正在为Java语言开发编译器和集成环境。预计在不久的将来,Java语言的正确性和效率将会得到提高,用户用Java和现在的C++编程会更加方便。
三。Java语言的特性
Java是一种什么样的语言?Java是一种简单的、分布式的、安全的、结构中立的、可移植的、多线程的、动态的语言,具有优异的性能。
1.简单的
Java最初是作为家用电器集成控制的语言而设计的,所以一定要简单明了。Java语言的简单性主要体现在以下三个方面:1。Java的风格和C++类似,所以C++程序员非常熟悉。从某种意义上说,Java语言是C和C++语言的变种,所以C++程序员可以快速掌握Java编程技术。2.Java抛弃了C++中容易导致程序错误的地方,比如指针和内存管理。3.Java提供了丰富的类库。
2.面向对象
面向对象可以说是Java最重要的特点。Java语言的设计是完全面向对象的,它不支持C语言那样的面向过程的编程技术。Java支持静态和动态代码继承和重用。在面向对象特性方面,Java与SmallTalk相似,但其他特性,尤其是适合分布式计算环境的特性,远远超过SmallTalk。
3.分布的
Java包括一个支持TCP/IP协议(如HTTP和FTP)的子库。因此,Java应用程序可以借助URL打开和访问网络上的对象,这与访问本地文件系统几乎完全相同。为分布式环境,尤其是互联网提供动态内容无疑是一项非常宏大的任务,但是Java的语法特性让我们很容易实现这个目标。
坚强起来
Java致力于检查编译和运行程序中的错误。类型检查有助于检测早期开发中出现的许多错误。Java自己操纵内存,降低了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能性。这些特性大大缩短了Java应用程序的开发周期。Java提供空指针检测数组边界检测异常退出字节代码检查。
5.结构中性
此外,为了建立Java作为一个整体网络,Java将其程序编译成一种结构中立的中间文件格式。任何运行Java系统的机器都可以执行这个中间代码。目前Java运行系统有Solaris2.4(SPARC)、Win32系统(Windows95和WindowsNT)等。Java源程序被编译成一种高级的与机器无关的字节码格式语言,该语言被设计成在虚拟机上运行,并由与机器相关的运行调试器来执行。
6.安全
Java的安全性可以从两个方面来保证。一方面,Java语言中删除了指针、内存释放等C++函数,避免了非法内存操作。另一方面,用Java创建浏览器时,语言功能和浏览器本身提供的功能结合在一起,更加安全。Java语言在你的机器上执行之前必须经过多次测试。它通过代码检查,检查代码段的格式,检测指针操作,对象操作是否过度,并试图改变对象的类型。
6.1字节码检查
如果字节码通过了代码验证,没有返回错误,就可以知道代码在栈上没有溢出和下溢,所有的操作码参数类型都是正确的,没有发生非法的数据转换,比如把整数转换成指针。访问对象的操作是合法的。
6.2分类装载
ClassLoader通过将本地类的名称与网络资源类分开来维护安全性。因为当你调用一个类时,你总是需要检查,这就避免了特洛伊马现象。从网络下载的类被转移到与源相关的私有名称字段中。当私有类访问另一个类时,首先检查内置(本机类),然后检查相关的类。这样就避免了破坏原生类的情况。
7.轻便的
与架构无关的特性使得Java应用程序可以运行在任何配备了Java解释器和运行环境的计算机系统上,这已经成为Java应用程序可移植性的良好基础。但这还不够。如果基础数据类型的设计依赖于具体的实现,也会给程序的移植带来很大的不便。例如,在Windows3.1中,整数是16位,在Windows95中是32位,在DECAlpha中是64位,在Intel486中是32位。通过定义平台无关的基本数据类型及其操作,Java数据可以在任何硬件平台上保持一致。Java语言的基本数据类型及其表达式如下:byte8位二进制补码short16位二进制补码int32位二进制补码long64位二进制补码float32位IEEE754浮点数double32位IEEE754浮点数char16位二进制码字符。
在任何Java解释器中,数据类型都是根据上述标准实现的。因为目前使用的几乎所有CPU都可以支持上述数据类型和8 ~ 64位整数格。