前言

  自1946年2月14日世界上首款计算机问世,第一代计算机语言“机器语言”便诞生了,它使用的是最原始的穿孔卡片,这种卡片上使用的语言只有专家才能理解,与人类语言差别极大。这种语言本质上是计算机能识别的唯一语言,人类很难理解。为了能让人们更容易理解并编写,于是便有了第二代的“汇编语言”,相比机器语言,汇编语言大大前进了一步,尽管它还是太复杂,人们在使用时很容易出错误,但毕竟许多数码已经开始用字母来代替。简单的“0、1”数码谁也不会理解,但字母是人们能够阅读并拼写的。虽然第二代计算机语言仍然是“面向机器”的语言,但它已注定成为机器语言向更高级语言进化的桥梁。当计算机语言发展到第三代时,就进入了“面向人类”的语言阶段。你可以阅读、并直接用人类的语言来输入。对我们汉语来说,目前还不能用中文汉字来输入指令,这主要是因为中文的输入还没有一个非常好的手段。第三代语言被人们称之为“高级语言”。高级语言是一种接近于人们使用习惯的程序设计语言。它允许用英文写计算程序,程序中所使用的运算符号和运算式子,都和我们日常用的数学式子差不多。高级语言容易学习,通用性强,书写出的程序比较短,便于推广和交流,是很理想的一种程序设计语言。我们今天讲述的就是第三代语言“高级语言“中的Java语言。

1.JAVA语言的诞生!  

    在1991年时候,James Gosling在Sun公司的工程师小组想要设计这样一种主要用于像电视盒这样的消费类电子产品的小型计算机语言。这些电子产品有一个共同的特点:计算处理能力和内存都非常有限。所以要求:语言必须非常小且能够生成非常紧凑的代码,这样才能在这样的环境中执行。另外,由于不同的厂商选择不同的CPU,因此,要求该语言不能和特定的体系结构绑在一起,要求语言本身是中立的,也就是跨平台的。最初这个语言命名为“Green”,类似于绿色软件的意思。其原先的目的是为家用消费电子产品开发一个分布式代码系统, 这样我们可以把E-mail发给电冰箱、 电视机等家用电器, 对它们进行控制, 和它们进行信息交流。开始, 准备采用C++,但C++太复杂, 安全性差, 最后基于C++开发一种新的语言Oak,Oak是一种用于网络的精巧而安全的语言, Sun公司此投标一个交互式电视项目, 但结果被SGI打败。 可怜的Oak几乎无家可归, 恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项目组的成员。他们用一种全新的语言编写了一款浏览器,得到了Sun公司首席执行官Scott McNealy的支持。在一次几位该成员组的会员在一家名为“爪蛙”咖啡的店里正在讨论给这个新的语言取什么名字时,有一个人灵机一动说:“就叫Java怎样”, 得到了其他人的赞赏, 于是, Java语言就诞生了。

2.JAVA语言发展历程!

    1995年5月23日,Java语言正式诞生。

    1996年1月,第一个JDK-JDK1.0诞生。

       新特性及更新修改:

      Sun Classic VM(虚拟机)

      Applet(java小应用程序)

      AWT(java图形设计)

    1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术。

    1996年9月,约8.3万个网页应用了Java技术来制作。

    1997年2月18日,JDK1.1发布。

       新特性及更新修改:  

        •    JAR(jar包)
        •    JDBC(Java DataBase Connectivity)(连接数据库)
        •    JavaBeans(java规范)
        •    RMI(远程调用)
        •    Inner Class(内部类)
        •    Reflection(反射)

    1997年4月2日,JavaOne会议召开,参与者超过万人,创造当时全球同类会议规模之纪录。

    1997年9月,JavaDeveloperConnection社区成员超过十万。

    1998年2月,JDK1.1被下载超过2,000,000次。

    1998年12月8,Java的企业平台Java EE正式发布。

    1999年6月,Sun公司发布Java的三大版本:标准版(Java SE)、企业版(Java EE)、微型版(Java ME)。

    2000年5月8日,JDK1.3发布。

      新特性及更新修改:

        •    数学运算
        •    Timer API(时间)
        •    Java Sound API(声音)
        •    CORBA IIOP实现RMI的通信协议
        •    Java 2D新特性
        •    jar文件索引

    2000年5月29日,JDK1.4发布。

    2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机。

    2001年9月24日,Java EE 1.3发布。

    2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升。

    2004年9月30日,J2SE1.5发布,是Java语言发展史上的又一里程碑事件。为了表示这个版本的重要性,Java SE 1.5正式更名为Java SE 5.0。

      新特性及更新修改:

        •    自动装箱拆箱
        •    泛型
        •    元数据
        •    Introspector(内省)
        •    enum(枚举)
        •    静态引入
        •    可变长参数(Varargs)
        •    foreach(高级虚幻)
        •    JMM(内存模型)
        •    concurrent(并发包)

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

    2009年4月20日,Oracle宣布将以每股9.5美元的价格收购Sun,该交易的总价值约为74亿美元。但Oracle通过收购Sun公司获得了两项软件资产:Java和Solaris。2007年11月,Java语言作为服务器端编程语言,已经取得了极大地成功;而Android平台的流行,则让Java语言获得了在客户端程序上大展拳脚的机会。

    2011年7月28日,Oracle公司发布了Java SE 7,这次版本升级经过了将近5年时间。Java SE 7也是Oracle发布的第一个Java版本,引入了二进制整数、支持字符串的switch语句、多异常捕捉、自动关闭资源的try语句等新特性。

    2014年3月18日,Oracle公司发布了Java SE 8,这次版本升级为Java带来了全新的Lambda表达式。除此之外,Java 8还增加了大量新特性,这些新特性使得Java变得更加强大。

    目前Java的版本已经更新了好几个版本,但目前市场主流还是使用的JDK8。

        新特性及更新修改:     

        •    Lambda表达式
        •      函数式接口
        •    方法引用和构造器调用
        •    Stream API
        •    接口中的默认方法和静态方法
        •    新时间日期API

JAVA发展历史!的更多相关文章

  1. Java 发展历史

    Java自1995诞生,至今已经20多年的历史. Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名.Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆 ...

  2. Java发展历史

    1991年1月 Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统 1991年2月 放弃C++,开发新语言,命名为"Oak" 1991年6月 JamesGosling ...

  3. Java SE/EE/ME概念理解(Java版本发展历史)

    继上一篇文章http://www.cnblogs.com/EasonJim/p/6181981.html中说的区别,其实分析的不够彻底,因此再次在这里做详细的分析. 零.Java与Sun.Oracle ...

  4. 1.2 java web的发展历史

    前言 了解java web的发展历史和相关技术的演进历程,非常有助于加深对java web技术的理解和认识. 阅读目录 1.Servlet的出现 2.Jsp的出现 3.倡导了MVC思想的Servlet ...

  5. [转]1.2 java web的发展历史

    前言 了解java web的发展历史和相关技术的演进历程,非常有助于加深对java web技术的理解和认识. 阅读目录 1.Servlet的出现 2.Jsp的出现 3.倡导了MVC思想的Servlet ...

  6. Web开发技术发展历史

    Web开发技术发展历史   来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互 ...

  7. CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系

    CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...

  8. Hadoop发展历史简介

    简介 本篇文章主要介绍了Hadoop系统的发展历史以及商业化现状, 科普文. 如果你喜欢本博客,请点此查看本博客所有文章:http://www.cnblogs.com/xuanku/p/index.h ...

  9. JavaScript 、ECMAScript、commonJS 发展历史 与标准化发展

    本文介绍下JavaScript和 ECMAScript的诞生及发展历史,以及标准化过程. 一.JavaScript诞生 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版. ...

随机推荐

  1. (转)XMPP协议原理

    本文介绍XMPP协议原理及相关信息. XMPP协议简介   XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM ...

  2. MySql在建立索引优化时需要注意的问题

    MySql在建立索引优化时需要注意的问题 设计好MySql的索引可以让你的数据库飞起来,大大的提高数据库效率.设计MySql索引的时候有一下几点注意: 1,创建索引 对于查询占主要的应用来说,索引显得 ...

  3. git clone后切换分支,和远端的不一样。

    原因 git clone后再master分支,切换后到了别的分支,分支里面的文件目录是不一样的,导致出现错误. 解决 删除原来的全部文件 git pull 可是git pull报错, git匹配的文件 ...

  4. HDU 6590 Code (判断凸包相交)

    2019 杭电多校 1 1013 题目链接:HDU 6590 比赛链接:2019 Multi-University Training Contest 1 Problem Description Aft ...

  5. 剑指offer——60二叉树的深度

    题目描述 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度.   题解: 简单的深度遍历即可.   class Solution ...

  6. 【三】Jmeter接口自动化测试系列之Http接口自动化实战

    作者:大虫 本文介绍 Jmeter 工具的 http 接口 自动化测试 实战! 为了通用性,就拿知乎 网站作为实战例子吧! 必备技能:http接口基础知识.抓包,本文不做详细介绍,不会的可以先百度恶补 ...

  7. 序列化之 TLV

    目录 序列化之 TLV 1. 紧凑模式 2. 可扩展性 3. 更好的可扩展性 4. 自解释性 5. 跨语言特性 6. 代码自动化:IDL语言 7. 总结 序列化之 TLV 通信协议可以理解两个节点之间 ...

  8. git常用操作笔记

    这是我看了廖雪峰的git教程,写的笔记,仅作为一个学习的记录 一.大多数我们面临的是已经有一个进行中的项目了,我们只需克隆下来就可以了 1.安装git,安装完后,可输入git,回车,查看是否已安装 2 ...

  9. MYSql 存储过程自定义跳出

    MYSql存储过程自定义跳出 我们有时会在存储过程中进行一些判断,当判断条件达成时候我们有时会直接跳出存储过程. 但是存储过程不支持return直接返回的操作, 所以我们只能采用另一种方法,'leav ...

  10. vs2010用iis5作为调试服务器从而允许非本机电脑访问项目网站

    工作的时候经常遇见这2种情况 1,和设备端的同事调程序,但是他们却不能访问vs自带的web服务器 2,写好的程序在vs中运行一点问题都没有,一发布到iis就问题一大堆 后来在终于有了一个比较好的解决办 ...