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. 十种MYSQL显错注入原理讲解(一)

    开篇我要说下,在<代码审计:企业级Web代码安全架构>这本书中讲十种MYSQL显错注入,讲的很清楚. 感兴趣请去读完,若处于某种原因没读还想了解,那请继续往下. 1.count,rand, ...

  2. github源码学习之UIImage+YYWebImage

    UIImage+YYWebImage是YYWebImage(https://github.com/ibireme/YYWebImage)中的一个分类,这个分类封装了一些image常用的变化方法,非常值 ...

  3. Fragment的生命周期

    Fragment的生命周期: 1. onAttach():Fragment对象跟Activity关联时 2. onCreate():Fragment对象的初始创建时 3. onCreateView() ...

  4. android Canvas 和 Paint用法

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

  5. ffmpeg 安装,转视频格式为m3u8,压缩视频

    # ffmpegffmpeg 安装,转视频格式为m3u8,压缩视频 ## ffmpeg 安装直接安装: apt-get install ffmpeg 运行 `ffmpeg` 看是否出现版本号以判断是否 ...

  6. JavaScript (If...Else和Switch和循环遍历) 语句以及常用消息框

    If...Else 语句 JavaScript中if...else语句和Java中的语法和使用方法是一样的. 只是在JavaScript中要使用小写字母.使用大写的 IF 会出错! 至于if...el ...

  7. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  8. Python学习笔记8-单元测试(1)

    源代码: roman_mumeral_map = (('M',1000), ('CM',900), ('D',500), ('CD',400), ('C',100), ('XC',90), ('L', ...

  9. Python的模块引用和查找路径

    模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...

  10. 今天搞了一天的CentOS,唉,实在感觉自己渺小啊

    从别人处转载一篇文章:http://my.oschina.net/idiotsky/blog/303545 这个文章讲的很好,因为告诉了我怎么去查看ftp有关的SElinux的bool变量值以及设定. ...