1990年年末,Sun 公司预料嵌入式系统在未来家用电器领域大显身手,于是Sun公司成立了一个由James Gosling 领导的"Gren计划"(由于C++和可用的API在某些方面存在很大问题可用的系统资源极其有限,而且C++缺少垃圾回收系统,可移植性,

分布式和多线程等功能)

1992年夏天,Green计划已经完成新平台(Oak) 包括Green操作系统,Oak的程序设计语言,类库同年11月,Grenn计划转化成"FirstPerson有限公司",一个Sun公司的全资子公司(代华纳公司发布了一个关于电视机顶盒的征求书:FirstPerson投标失败)

1994夏天,互联网和浏览器的出现给广大互联网的用户带来了福音,也给Oak语言带来了新的生机,1994年秋,小组中的Naughton 和Jonathan Payne 完成了第一个Java语言的网页浏览器:WebRunner。当时Oak这个商标已被被人注册,于是Oak更名

为Java。Sun公司在1995年年初发布了Java语言

1996年初,Sun公司发布了JDK1.1。这个版本包括俩个部分:运行环境(即JRE)和开发环境(即JDK)。运行环境包括核心API,集成API,用户界面API,发布技术,java虚拟机(JVM),开发环境包括编译Java程序的编译器(即javac命令)

1997年2月18日发布了JDK1.1。JDK1.1增加了JIT(即时编译)编译器。(主要应用在网页上的Apple以及移动设备)

1998年12月,Sun发布了Java历史上最重要的JDK版本:JDK1.2,伴随JDK1.2一同发布的还有JSP/Servlet,EJB(Java服务器端组件模型,设计目标和核心应用时部署分布式应用程序),并将Java分成了J2EE,J2SE和J2ME三个版本

(重点)--J2ME:主要用于控制移动设备和信息家电等有限存储的设备。

(重点)--J2SE: 整个Java技术的核心和基础,它是J2ME和J2EE编程的基础,

(重点)--J2EE:Java技术中应用最广泛的部分

2002年2月,Sun公司发布了JDK历史上最为成熟的版本:JDK1.4。

2004年10月,Sun发布了万众瞩目JDK1.5,同时,Sun将JDK1.5改名为JavaSE5.0,J2EE,J2ME也相应改名为JavaEE 和JavaME。JDK1.5增加了泛型,增强的for语句,可变数量的形参,注解,自动拆箱和装箱的等功能;

2006年12月,Sun公司发布了JDK1.6(也被称为Java SE6)。一直以来,Sun公司维持着大约2年发布一次JDK新版本的习惯

但在2009年4月20日,Oracle 宣布将以每股9.5美元的价格收购Sun,该交易总价值约为74亿美元。而Oracle通过收购Sun公司获得了俩项软件资产:Java和Solaris

2007年11月Google宣布推出了一款基于Linux平台的开源手机操作系统:Android

2011年7月28日,Oracle 公司终于"如约"发布JavaSE 7 引入了二级制整数,支持字符串的switch语句,菱形语法,多异常捕捉,自动关闭资源的try语句等新特性

2014年3月18日,Oracle公司发布了Java SE8,

JAVA发展史的更多相关文章

  1. 「MoreThanJava」Java发展史及起航新世界

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  2. java发展史与java的语言特性

    概述: Java 体系比较庞杂,功能繁多,这也导致很多人在自学 Java 的时候总是感觉无法建立 全面的知识体系, 无法从整体上把握Java 的原因. 在这里我们先简单了解一下Java 的版本. 具体 ...

  3. Java发展史之Java由来

    Java:由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称.Java语言是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由当时任职太阳微系统的 ...

  4. Java学习1 - java 历史

    Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如:交互式电视,烤面包箱等.Sun内部人员把这个项目称为 Green,那时World Wide Web还在图纸上呢.该小 ...

  5. 学Android开发,入门语言java知识点

    学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...

  6. Java虚拟机详解01----初识JVM

    主要内容如下: JVM的概念 JVM发展历史 JVM种类 Java语言规范 JVM规范 一.JVM的概念: JVM: Java Virtual Machine,意为Java虚拟机. 虚拟机: 指通过软 ...

  7. Java—面向对象—构造方法及相关思维导图

    先构造一个Book类的代码 package org.hanqi.pn0120; public class Book { //构造方法 //1.方法名和类名一样 //2.没有返回值,不需要加void / ...

  8. Java的初步认识

    PS:弥补那些错过的时间,弥补那些本是决定做而没有做的事情,当初说好了学习编程要把自己学到的或是理解的写到博客中记录下来,可是由于各种缘由最终是没有实现...经过几番周折决定把那些丢掉的重新捡起来.对 ...

  9. java核心技术学习笔记之一程序设计概述

    Java 核心技术之一程序设计概述 一.   Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向 ...

随机推荐

  1. window7 桌面新建快捷方式方法

    点击开始按钮 所有程序 找到某个文件夹点开,找到文件夹里的快捷方式图标,右键--属性-- 复制 目标:上图蓝色内容. 回到桌面,右键--新建--快捷方式--把复制的内容粘贴到  请键入对象的位置-- ...

  2. Centos7更改默认启动模式(转载)

    今天心血来潮安装一个centos7的图形界面,但发现用之前的方式无法修改默认启动为命令行模式. 之前的方法:修改/etc/inittab文件中的           id:3:initdefault ...

  3. ArrayList、Vector、LinkedList的区别联系?

    1.ArrayList.Vector.LinkedList类都是java.util包中,均为可伸缩数组. 2.ArrayList和Vector底层都是数组实现的,所以,索引数据快,删除.插入数据慢. ...

  4. Play Framework 完整实现一个APP(十四)

    添加测试 ApplicationTest.java @Test public void testAdminSecurity() { Response response = GET("/adm ...

  5. SQL Server 如何通过SQL语句定位SSRS中的具体报表

    在一些IT技术人员的推广.简单培训后,公司很多部门都有一些非IT技术人员参与开发各自需求的Reporting Service报表.原因很简单,罗列出来的原因大概有这样一些: IT部门的考量: 1:IT ...

  6. Oracle分区索引

    索引与表类似,也可以分区: 分区索引分为两类: Locally partitioned index(局部分区索引) Globally partitioned index(全局分区索引) 下面就来详细解 ...

  7. tomcat 应用部署方式(转)

    tomcat部署web应用的三种方式 1.直接放到Webapps目录下    Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.也可以将JSP程 ...

  8. x01.MagicCube: 简单操作

    看最强大脑,发现魔方还是比较好玩的,便买了一个,对照七步还原法,居然也能成功还原. 为什么不写一个魔方程序呢?在网上找了找,略作修改,进行简单操作,还是不错的,其操作代码如下: protected o ...

  9. Linux httpd源码编译安装

    # wget http://apache.fayea.com/httpd/httpd-2.2.31.tar.bz2 去官网下载源码包 # mv httpd-.tar.bz2 /usr/local/sr ...

  10. Shell命令和流程控制

    Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...