Java的发展历程充满了传奇色彩。
最初,Java是由Sun公司的一个研究小组开发出来的,
该小组起先的目标是想用软件实现对家用电器进行集成控制的小型控制装置。
开始,准备采用C++,但C++太复杂,而且安全性差,最后基于C++开发了一种新的语言Oak,
据说当时是小组成员之一Gosling在苦思冥想这种语言的名字时,正好看到了窗外的一颗橡树,
Oak在英文里是“橡树”的意思,所以给该语言命名为Oak。
它是一种用于网络的精巧而安全的语言,但是这个在技术上非常成功的产品在商业上却几近失败,
可怜的Oak几乎濒临夭折的危险。Internet的诞生给Oak的发展带来了新的契机。
在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。
这对于那些迷恋于WEB浏览的人们来说简直不可容忍。
他们迫切希望能在WEN中看到一些交互式的内容,
开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,
当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力。
SUN的工程师敏锐地察觉到了这一点,
从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。
当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都感觉到:
噢,这正是大家想要的。
那么Java的名字又是由何而来呢,据说有一天,
几位Java成员组的会员正在讨论给这个新的语言取什么名字,
当时他们正在咖啡馆喝着Java(爪哇)咖啡,
有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,
于是,Java这个名字就这样传开了。
随后Java成了一颗耀眼的明星,
丑小鸭一下了变成了白天鹅。
在1995年Sun虽然推出了Java,但这只是一种语言,而要想开发复杂的应用程序,
必须要有一个的强大的开发库支持才行。因此,Sun在1996 年1月23日发布了JDK1.0。
这个版本包括了两部分:运行环境(即JRE)和开发环境(即JDK)。
在运行环境中包括了核心API、集成API,用户界面API
,发布技术,Java虚拟机(JVM)五个部分。
二、Java的茁壮成长史:
1995年5月23日,Java语言正式宣布诞生
1996年1月,jdk1.0诞生,同年,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术。同年9月,8.3万个网页应用了Java技术来制作。
1997年2月18日,jdk1.1发布,接下去的3周内,jdk1.1软件包被下载了22万次。同年9月,Java开发者社区超过10万成员
1998年2月,jdk1.1被下载了超过200万次。同年12月8日,Java2平台发布。
1999年6月,sun发布三种Java版本,标准版、企业版和微型版。
2000年5月,Java开发者社区超过了150万成员。该月8日,jdk1.3发布。
2001年5月29日,Jdk1.4试用版发布,同年6月5日,全球最大的手机提供商NOKIA宣布,到2003年将出售1亿内含Java的手机
2002年2月,jdk1.4正式版发布,短短一个月的时间内(3月)该工具包被下载超过了100万次。(5月)jdk被下载了超过200万次 到2002年止全球财富500强企业中超过了95%的企业内部都使用了基于Java应用的企业平台
2003 5.5亿台桌面机上运行Java程序,75%的开发人员将Java作为首要开发工具
2004 J2SE1.5发布,这是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0。
2005 JavaOne大会召开,Sun公司公开Java SE6。此时,Java的各种版本被更名,取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME
2010年10月24日 。美国数据软件巨头甲骨文公司20日宣布以74亿美元收购太阳微电子公司
在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。
这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向
虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机
器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何
特定的处理器,只面向虚拟机。
每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译
后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,
解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。
随着JAVA开发库的不断的完善。JAVA开始进军软件开发的不同的方向:
目前 主流的 发展方向:
Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。
Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
说得更简单点
Java SE 是做电脑上运行的软件。
Java EE 是企业及开发,最多的应该是web开发-
Java ME 是做手机软件的。
7----------------------------- |
相关文章
- Elasticsearch Java API的基本使用
- 最强烈推荐-我的java收藏夹(内有国内最好的java论坛)
- java基础之自定义异常类及throw和throws的区别
- JAVA之旅(十)——异常的概述,Try-Catch,异常声明Throws,多异常处理,自定义异常,Throw和Throws的区别
- Java中异常分类和Throw和Throws的区别
- java异常和throw和throws的区别
- Java 面向对象 异常处理:RunTimeexception,try-catch,异常声明throws,自定义异常,throw和throws的区别,多异常处理(9)
- Java中的throw和throws的区别
- Java 编程的动态性 第1 部分: 类和类装入--转载
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容