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. Atitit ftp原理与解决方案

    Atitit ftp原理与解决方案 Deodeo sh shmayama ..search ftp.. 1. http和ftp都只是通信协议,就是只管传输那一块的,那为什么不能使用ftp来显示网页?? ...

  2. Oracle研究专题:Oracle系统安装与配置

    最近开始研究Oracle数据库,盖因公司的系统要么Oracle要么是mysql吧. 作为一个IT工作者,没有碰过Oracle是一件很匪夷所思得事情. 想到过去几年,乃至接触IT行业开始就只有玩过sql ...

  3. android Canvas 和 Paint用法

    自定义view里面的onDraw方法,在这里我们可以绘制各种图形,onDraw里面有两个API我们需要了解清楚他们的用法:Canvas 和 Paint. Canvas翻译成中文就是画布的意思,Canv ...

  4. Atitit linux获取项目运行环境版本

    Atitit linux获取项目运行环境版本 1.1. Nginx版本1 1.2. Php版本1 1.3. Mysql版本2 1.4. Redis版本2 1.1. Nginx版本 [root@iZ25 ...

  5. nodejs---修改文件名字

    D:\node\update_name目录有如下文件: 1:文件夹:icons 2:js文件:update-name.js js文件代码: // 引入fs文件处理模块var fs = require( ...

  6. although 和 although 的区别

    作为连词的时候,although 和 though 是可以互换的.Although 一般被认为更加正式一些.比如,以下的这些句子: Growth in Europe is maintaining mo ...

  7. 树莓派3B远程VNC的设置(包括开机启动)

    可以说,现在很少有自带VNCserver的教程 因为之前 官方系统没有自带VNC  但是 现在  最新版的官方系统已经自带VNCserver 只需要在设置里启用一下,然后设置就可以用啦. 别的教程都是 ...

  8. laravel框架中容器类简化代码-摘自某书

    <?php //容器类装实例或提供实例的回调函数 class Container { protected $bindings = []; //绑定接口和生成相应实例的回调函数 public fu ...

  9. 文件上传命令rz和下载命令sz的安装

    上一节中,我们已经搭建好了linux环境,现在我们开始使用xshell工具,连接虚拟机. 一.xshell工具简介 Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Mic ...

  10. Hibernate入门学习-安装hibernate插件

    最近一直在学习ssh框架,为了更方便hibernate的使用,所以在eclipse下载hibernate插件,安装插件有两种方法 第一种:本地安装 1).插件的官网下载地址:http://tools. ...