前言

  自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. Python练习题中做错题目

    1,一下代码执行的结果为 a = b = "julyedu.com" a = 'AI 教育' print(b) 答案: julyedu.com 要点: 在python中, 不可变对 ...

  2. POJ 1873 UVA 811 The Fortified Forest (凸包 + 状态压缩枚举)

    题目链接:UVA 811 Description Once upon a time, in a faraway land, there lived a king. This king owned a ...

  3. PAT_A1124#Raffle for Weibo Followers

    Source: PAT A1124 Raffle for Weibo Followers (20 分) Description: John got a full mark on PAT. He was ...

  4. C# WinfForm 控件之dev报表 XtraReport (一) 初了解

    这个控件其实用法和fast也差不了太多但如果没接触过 真有种老虎吃天的感觉 1.这里先不说那些高深的先说最基本的 在窗体中显示一个设计好的 模版 1.1一般设计和这个程序是分着的为了方便我就先把他们合 ...

  5. Boring counting HDU - 3518 后缀自动机

    题意: 对于给出的字符串S, 长度不超过1000, 求其中本质不同的子串的数量, 这些子串满足在字符串S中出现了至少不重合的2次 题解: 将串放入后缀自动机中然后求出每一个节点对应的子串为后缀的子串出 ...

  6. Tomcat爆破

    把输入的账户和密码包起来 选择第三个模式 第一个添加用户名 第二个添加: 第三个添加密码 选择编码格式 取消打钩

  7. nodejs mysql 连接数据库

    1.设计数据库 2.设计数据库表 3.下载MySQL模块 npm install --save mysql 4.编写代码 const mysql=require('mysql'); //1.连接 // ...

  8. laydate日期插件弹出闪退和多次闪退问题解决

    情况:点击第一个input 日期,可以正常选择日期,之后点击任何一个,都会闪一下然后消失,无法正常选择: 原因:lay-key的值的问题,需要循环重新为lay-key赋值 解决: <input ...

  9. 30 System类

    System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包.由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类.其内部的成员变量 ...

  10. cehsi

    weibo https://oapi.dingtalk.com/robot/send?access_token=8c9ef96c99925383347c5f9f733ad6b8579c3f8ad072 ...