Java的发展历程
|
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----------------------------- |
Java的发展历程的更多相关文章
- IT兄弟连 Java语法教程 Java的发展历程
只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅 ...
- Java 持久化发展历程
- Java起源、发展历程、环境变量、第一个Java程序等【1】
若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: 本文原创作者:pipi-changing 本文原创出处:http://www.cnblogs.com/pi ...
- java发展历程、常用dos命令与jDK工具使用
Java菜鸟学习之旅 1.勤敲代码 2.必须将课堂上讲的内容学到位 2.1 学到会用 2.2 在学会之前不要自作主张 2.3 当天课程当天完成 3.能说会道 3.1 善于表达 3.2 学会的都能讲 4 ...
- Java日志体系(一)发展历程
一.日志框架的分类 门面型日志框架: JCL: Apache基金会所属的项目,是一套Java日志接口,之前叫Jakarta Commons Logging,后更名为Commons Logging SL ...
- Java语言的发展历程
前言 自1946年2月14日世界上首款计算机ENAC问世,第一代计算机语言“机器语言”便诞生了,它使用的是最原始的穿孔卡片,这种卡片上使用的语言只有专家才能理解,与人类语言差别极大.这种语言本质上是计 ...
- Java发展历程
Java 的发展要追溯到 1991 年,Patrick Naughton(帕特里克·诺顿)和 James Gosling(詹姆斯·高斯林)带领 Sun 公司的工程师打算为有线电视转换盒之类的消费产品设 ...
- JAVA基础知识|HTTP协议-发展历程
HTTP 是基于 TCP/IP 协议的应用层协议.它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口. 此文章为转载内容:http://www.ruanyif ...
- C#与C++的发展历程第一 - 由C#3.0起
俗话说学以致用,本系列的出发点就在于总结C#和C++的一些新特性,并给出实例说明这些新特性的使用场景.前几篇文章将以C#的新特性为纲领,并同时介绍C++中相似的功能的新特性,最后一篇文章将总结之前几篇 ...
随机推荐
- Cloudera5.8.3 HBase1.2.0开发必须的jar包
Cloudera的HBase开发环境下载依赖包特别麻烦,通常是直接在CDH服务器上拷.
- C++ 重载、重写、重定义
出自:http://blog.163.com/clevertanglei900@126/blog/ 1 成员函数重载特征: a 相同的范围(在同一个类中) b 函数名字相同 c 参数不同 d virt ...
- Loadrunner代理录制设置
使用LR代理录制原理 启用LR代理服务器监听设置好的端口号是否有请求信息发送给服务器,有请求时,代理服务器接收带请求,并转发给对应的系统服务器,LR从而获取到请求的信息与数据,生成脚本. 使用代理的前 ...
- 最新的ADT Plugin24.0.2
下载地址:http://pan.baidu.com/s/1o7OIhWQ 密码:z2it
- Google的Java常用类库 Guava资料
java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...
- 2015.1.25 Delphi打开网址链接的几种方法
Delphi打开网址链接的几种方法1.使用shellapi打开系统中默认的浏览器 首先需在头部引用 shellapi单元即在uses中添加shellapi,这里我们需要知道有 ...
- svm训练显示信息说明
现简单对屏幕回显信息进行说明: #iter 为迭代次数, nu 与前面的操作参数 -n nu 相同, obj 为 SVM 文件转换为的二次规划求解得到的最小值, rho 为判决函数的常数项 b ...
- 我的CentOS 7 U盘安装之路 (Win 8.1 Profession + CentOS 7双系统)
这次为了学习Linux,尝试着安装了鸟哥书上推荐的CentOS这款Distribution,但是安装的是最新版CentOS 7,好像跟书上的差别有点大呢.安装的过程中走了一些弯路,做了一些尝试最后发现 ...
- NOI2001|POJ1182食物链[种类并查集 向量]
食物链 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65430 Accepted: 19283 Description ...
- 移位操作(>>、<<)
public static void main(String[] args) { /** 移位就是二进制的数往左或右移动,因为接近计算机底层,所以速度比较快 * 8 4 2 1 * * 7 化为二进制 ...