Java编程发展历史(动力节点Java学院整理)

 更新时间:2017年03月31日 09:20:23   投稿:mrr  
Java的历史可以追溯到1991年4月,Sun公司的James Gosling领导的绿色计划(Green Project)开始着力发展一种分布式系统结构,使其能够在各种消费性电子产品上运行,他们使用了C/C++/Oak语言。由于多种原因,绿色计划逐渐陷于停滞状态

Java的由来

Java语言的诞生具有一定的戏剧性,它并不是经过精心策划、制作、最后残生的划时代产品,从某个角度来说,Java语言的诞生完全是一种误会,美丽的误会。

           1990年年末,Sun公司预科嵌入式系统将在未来家用电器领域大显身手,于是Sun公司成立了一个由James Gosling(后来被称为Java之父)领导的“Creen计划”,准备为下一代智能家电(如电视机,微波炉,电话)编写一个通用控制系统。

           该团队最初考虑使用C++语言,但是很多成员包括Sun的首席科学家Bill Joy,发现C++和可用的API在某些方面存在很大问题,而且工作小组使用的是嵌入式平台,可用在系统资源极其有限,并且很多成员都发现C++太复杂,以至很多开发者经常错误使用,而且C++缺少垃圾回收系统,可移植性,分布式和多线程等功能。

           根据可用的资金,Bill Joy决定开发一种新语言,他提议在C++的基础上,开发一种面向对象的环境,于是,Gosling视图通过修改和扩展C++的功能来满足这个要求,但是后来他放弃了,他决定创造一种全新的语言:oak, 这个就是Java的前身。

           到了1992年的夏天,Green计划已经完成了新的平台的部分功能,包括Green操作系统,Oak的程序设计语言,类库等,同年11月,Green计划被转化成“FirstPerson有限公司”,一个Sun公司的全资子公司。
         FirstPerson团队致力于创建一种高度互动的设备,当时代华纳公司发布了一个关于电视机顶盒的征求提议书时, FirstPerson改变了他们的目标,作为对征求提议书的响应,提出了一个机顶盒平台的提议。但有限电视业界觉得 FirstPerson的平台给予用户过多的控制权,因此 FirstPerson的投标败给了SGI,同时,在3DO公司的另外一笔关于机顶盒的交易也没有成功,因此,可怜的Green项目几乎接近夭折,甚至Green项目组的一半成员也被调到其他项目组。

oak正式更名为Java

         1994年夏天,互联网和游览器的出现不仅给广大互联网的用户带来了福音,也给Oak语言带来了新的生机,James Gosling立即意识到,这是一个机会,于是对Oak进行小规模的改造,到了1994年秋,小组中的Naughton和Jonathan Payne 完成了第一个Java语言的网页游览器:WebRunner。Sun公司实验室主任Bert Sutherland和技术总监Eric Schmidt观看了该游览器的演示,对该游览器的效果给予了高度的评价,当时Oak这个商标已经被别人注册,于是只的将Oak更名为Java。

 Sun公司在1995年年初发布了Java语言,Sun公司直接把Java放到互联网上,免费给大家使用,甚至连源代码也不保密,也放在互联网上向所有人公开。

         几个月后,让所有人都大吃一惊的事情发生了,Java成了互联网上最热门的宝贝,竟然后10万多人次访问了Sun公司的网页,下载了Java语言,然后,互联网上立即就有了数不清的Java小程序(也就是Applet),演示着各种小动画,小游戏等。

        Java语言终于扬眉吐气成为了一种广为人知的编程语言。 

Java的正式推出

        1995年,Sun虽然推出了Java,但这只是一种语言,如果想开发复炸的应用程序,必须要有一个强大的开发类库,因此,Sun在1996年年初发布了JDK1.0,这个版本包括两部分:运行环境(即JRE)和开发环境(JDK),运行环境包括核心API,集成API,用户界面API,发布,Java虚拟机(JVM)5个部分,开发环境包括编译Java程序的编译器(即javac命令)

         接着,Sun公司1997年2月18日发布JDK1.1,JDK1.1增加了JIT(即时编译)编译器,JIT和传统的编译器不同,传统的编译器是编译一条,运行完后将其扔掉,而JIT会将经常的指令保存在内存中,下次调用时就不需要重新编译了,通过这种方式让JDK在效率上有了很大的提高。

  1. n1996年年底,Flash面世了,这个更加简单的动画设计软件,吞噬了Java在网页上的应用。
  2. n1998年12月,Sun公司发布Java历史上最重要的JDK版本,JDK1.2,伴随JDK1.2一同发布的还有JSP/Servlet,ELB等规范,并将Java分成了J2EE,J2SE,j2ME三个版本:
  • J2ME:主要用于控制移动设备和信息家电等有限存储的设备。
  • J2SE:整个Java技术核心和基础,它是J2ME和J2EE编程的基础。
  • J2EE:java技术中应用应用最广泛的部分,
  1. n2002年2月,Sun发布了Jdk1.4历史上最成熟的版本,也出现了大量Java开源框架:Struts,WebWork,Hibernate,Spring。
  2. n2004年10月,Sun发布了JDK1.5,同时将JDK1.5更名为JDK5.0,并增加了新功能。
  3. n2006年12月,Sun公司发布了JDK1.6,也称为JDK6.0。
  4. n2009年4月20日,Oracle宣布以每股9.5美元的价格收购Sun公司,该交易的总价值约为74亿美元。
  5. n2011年7月28日,Oracle公司发布了JDK7。
  6. n2014年3月18日,Oracle公司发布了JDK8。

现在Java已经是长久雄踞编程语言排名第一的宝座了。

相关文章

  • Guava Retryer实现接口重试的示例

    Guava Retryer实现接口重试的示例

    本文主要介绍了Guava Retryer实现接口重试的示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Java游戏开发拼图游戏经典版

    Java游戏开发拼图游戏经典版

    这篇文章主要介绍了Java游戏开发拼图游戏经典版,对这方面感兴趣的同学可以跟着教程试下
    2021-01-01
  • Java通过动态代理实现一个简单的拦截器操作

    Java通过动态代理实现一个简单的拦截器操作

    这篇文章主要介绍了Java通过动态代理实现一个简单的拦截器操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java ConcurrentHashMap用法案例详解

    Java ConcurrentHashMap用法案例详解

    这篇文章主要介绍了Java ConcurrentHashMap用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java通过MySQL的加解密函数实现敏感字段存储

    Java通过MySQL的加解密函数实现敏感字段存储

    这篇文章主要介绍了如何在Java中MySQL的加解密函数实现敏感字段存储,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-03-03
  • Java中的BaseTypeHandler自定义类型转换器的使用

    Java中的BaseTypeHandler自定义类型转换器的使用

    这篇文章主要介绍了Java中的BaseTypeHandler自定义类型转换器的使用,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • 如何使用 Spring Boot 和 Canal 实现 MySQL 数据库同步

    如何使用 Spring Boot 和 Canal 实现 My

    本文介绍了如何使用SpringBoot和Canal实现MySQL数据库之间的数据同步,通过配置主库、创建Canal用户、配置CanalServer以及开发SpringBoot客户端,实现了将主库的数据实时同步到多个从库,感兴趣的朋友跟随小编一起看看吧
    2025-02-02
  • SpringBoot如何统一处理返回结果和异常情况

    SpringBoot如何统一处理返回结果和异常情况

    这篇文章主要介绍了SpringBoot如何统一处理返回结果和异常情况问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • SpringBoot处理全局统一异常的实现

    SpringBoot处理全局统一异常的实现

    这篇文章主要介绍了SpringBoot处理全局统一异常的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 解决Intellij IDEA运行报Command line is too long的问题

    解决Intellij IDEA运行报Command line is too long的问题

    这篇文章主要介绍了解决Intellij IDEA运行报Command line is too long的问题,本文通过两种方案给大家详细介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05

最新评论