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

所属分类: 软件编程 / java 阅读数: 29
收藏 0 赞 0 分享

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已经是长久雄踞编程语言排名第一的宝座了。

更多精彩内容其他人还在看

Java的面向对象编程基本概念学习笔记整理

这篇文章主要介绍了Java的面向对象编程基本概念学习笔记整理,包括类与方法以及多态等支持面向对象语言中的重要特点,需要的朋友可以参考下
收藏 0 赞 0 分享

Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法

这篇文章主要介绍了Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法 的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Java实现杨辉三角 LeetCode Pascal's Triangle

这篇文章主要介绍了基于Java实现杨辉三角 LeetCode Pascal's Triangle的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中Spring获取bean方法小结

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢?下面通过本文给大家介绍Java中Spring获取bean方法小结,对spring获取bean方法相关知识感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

如何计算Java对象占用了多少空间?

在Java中没有sizeof运算符,所以没办法知道一个对象到底占用了多大的空间,但是在分配对象的时候会有一些基本的规则,我们根据这些规则大致能判断出来对象大小,需要的朋友可以参考下
收藏 0 赞 0 分享

剖析Java中的事件处理与异常处理机制

这篇文章主要介绍了Java中的事件处理与异常处理机制,讲解Java是如何对事件或者异常作出响应以及定义异常的一些方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Java的Struts2框架的结构及其数据转移方式

这篇文章主要介绍了详解Java的Struts2框架的结构及其数据转移方式,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

Java封装好的mail包发送电子邮件的类

本文给大家分享了2个java封装好的mail包发送电子邮件的类,并附上使用方法,小伙伴们可以根据自己的需求自由选择。
收藏 0 赞 0 分享

在Java的Struts中判断是否调用AJAX及用拦截器对其优化

这篇文章主要介绍了在Java的Struts中判断是否调用AJAX及用拦截器对其优化的方法,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

java多线程Future和Callable类示例分享

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们就来研究下Future和Callab
收藏 0 赞 0 分享
查看更多