JAVA发展史
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发展史的更多相关文章
- 「MoreThanJava」Java发展史及起航新世界
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- java发展史与java的语言特性
概述: Java 体系比较庞杂,功能繁多,这也导致很多人在自学 Java 的时候总是感觉无法建立 全面的知识体系, 无法从整体上把握Java 的原因. 在这里我们先简单了解一下Java 的版本. 具体 ...
- Java发展史之Java由来
Java:由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称.Java语言是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由当时任职太阳微系统的 ...
- Java学习1 - java 历史
Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如:交互式电视,烤面包箱等.Sun内部人员把这个项目称为 Green,那时World Wide Web还在图纸上呢.该小 ...
- 学Android开发,入门语言java知识点
学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...
- Java虚拟机详解01----初识JVM
主要内容如下: JVM的概念 JVM发展历史 JVM种类 Java语言规范 JVM规范 一.JVM的概念: JVM: Java Virtual Machine,意为Java虚拟机. 虚拟机: 指通过软 ...
- Java—面向对象—构造方法及相关思维导图
先构造一个Book类的代码 package org.hanqi.pn0120; public class Book { //构造方法 //1.方法名和类名一样 //2.没有返回值,不需要加void / ...
- Java的初步认识
PS:弥补那些错过的时间,弥补那些本是决定做而没有做的事情,当初说好了学习编程要把自己学到的或是理解的写到博客中记录下来,可是由于各种缘由最终是没有实现...经过几番周折决定把那些丢掉的重新捡起来.对 ...
- java核心技术学习笔记之一程序设计概述
Java 核心技术之一程序设计概述 一. Java语言的特点 简单行 :取经于C++,排除了C++不常用的指针.结构等,增加垃圾回收. 面向对象:与C++不同是单继承,但是可以继承多接口.完全面向 ...
随机推荐
- JavaScript 中的变量命名方法
三种命名方法 在程序语言中,通常使用的变量命名方法有三种:骆驼命名法(CamelCase),帕斯卡命名法(PascalCase)和匈牙利命名法. 依靠单词的大小写拼写复合词的做法,叫做"骆驼 ...
- 【前端优化之拆分CSS】前端三剑客的分分合合
几年前,我们这样写前端代码: <div id="el" style="......" onclick="......">测试&l ...
- [译]为什么我要离开gulp和grunt转投npm脚本的怀抱
原文链接:https://medium.freecodecamp.com/why-i-left-gulp-and-grunt-for-npm-scripts-3d6853dd22b8#.n7m1855 ...
- Linux系统sar命令解析
安装 如果系统没有该命令请安装: apt-get install sysstat yum install sysstat 安装完毕: vi /etc/default/sysstat ENABLED=& ...
- Java 消息摘要 散列 MD5 SHA
package xxx.common.util; import java.math.BigInteger; import java.security.MessageDigest; import jav ...
- 在DBeaver中phoenix查询报错:org.apache.phoenix.exception.PhoenixIOException: The system cannot find the path specified
环境:Phoenix:4.4,win7系统 问题:Phoenix在查询hbase时,报"系统找不到指定路径". 解决: 请参见 https://distcp.quora.com/C ...
- 数据库实战案例—————记一次TempDB暴增的问题排查
前言 很多时候数据库的TempDB.日志等文件的暴增可能导致磁盘空间被占满,如果日常配置不到位,往往会导致数据库故障,业务被迫中断. 这种文件暴增很难排查,经验不足的一些运维人员可能更是无法排查具体原 ...
- 生产环境常见的HTTP状态码列表
生产环境常见的HTTP状态码列表(List of HTTP status codes)为: 200 - OK,服务器成功返回网页 - Standard response for success ...
- Linux shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
- js中判断对象具体类型
大家可能知道js中判断对象类型可以用typeof来判断.看下面的情况 <script> alert(typeof 1);//number alert(typeof "2" ...