广告
返回顶部
首页 > 资讯 > 精选 >Java编程发展历史(动力节点Java学院整理)
  • 727
分享到

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

java编程发展历史 2023-05-31 17:05:25 727人浏览 泡泡鱼
摘要

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

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

--结束END--

本文标题: Java编程发展历史(动力节点Java学院整理)

本文链接: https://www.lsjlt.com/news/227179.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java编程发展历史(动力节点Java学院整理)
    Java的由来 Java语言的诞生具有一定的戏剧性,它并不是经过精心策划、制作、最后残生的划时代产品,从某个角度来说,Java语言的诞生完全是一种误会,美丽的误会。      &n...
    99+
    2023-05-31
    java 编程 发展历史
  • Java Socket编程笔记_动力节点Java学院整理
    对于即时类应用或者即时类的游戏,HTTP协议很多时候无法满足于我们的需求。这会,Socket对于我们来说就非常实用了。下面是本次学习的笔记。主要分异常类型、交互原理、Socket、ServerSocket、多线程这几个方面阐述。异常类型在了...
    99+
    2023-05-31
    java socket 编程
  • Java Socket编程简介_动力节点Java学院整理
    对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有So...
    99+
    2023-05-31
    java socket 编程
  • Java 线程池_动力节点Java学院整理
    线程池系统启动一个新线程的成本是比较高的,因为它涉及到与操作系统的交互。在这种情况下,使用线程池可以很好的提供性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。与数据库连接池类似的是,线程池在系统启动时即创建大量空...
    99+
    2023-05-31
    java 线程池 ava
  • Java多态(动力节点Java学院整理)
    什么是多态 面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。 多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象...
    99+
    2023-05-31
    java 多态 ava
  • Java死锁_动力节点Java学院整理
    死锁是两个甚至多个线程被永久阻塞时的一种运行局面,这种局面的生成伴随着至少两个线程和两个或者多个资源。在这里我已写好一个简单的程序,它将会引起死锁方案然后我们就会明白如何分析它。Java死锁范例ThreadDeadlock.javapack...
    99+
    2023-05-31
    java 死锁 ava
  • myeclipse开发servlet_动力节点Java学院整理
      在web.xml中可以对同一个Servlet配置多个对外访问路径,并如果在web.xml中配置的信息服务器会自动加载部署,而如果是在Servlet中进行程序代码的修改,则每次都要重新部署。  首先,在使用MyEclipse创建Servl...
    99+
    2023-05-31
    myeclipse servlet ava
  • Java线程之join_动力节点Java学院整理
    join()介绍join() 定义在Thread.java中。join() 的作用:让“主线程”等待“子线程”结束之后才能继续运行。这句话可能有点晦涩,我们还是通过例子去理解: // 主线程public class Father ...
    99+
    2023-05-31
    java 线程 join
  • Java线程让步_动力节点Java学院整理
    yield()介绍yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;也有可...
    99+
    2023-05-31
    java 线程让步 ava
  • Java字符编码原理(动力节点Java学院整理)
    Java开发中,常常会遇到乱码的问题,一旦遇到这种问题,常常比较烦恼,大家都不愿意承认是自己的代码有问题。其实编码问题并没有那么神秘,那么不可捉摸,搞清Java的编码本质过程就真相大白了。先看个图:其实,编码问题存在两个方面:JVM之内和J...
    99+
    2023-05-31
    java 字符编码 原理
  • Java Set简介_动力节点Java学院整理
    1. 概述           Java 中的Set和正好和数学上直观的集(set)的概念是相同的。Set最大的特性就是不允许在其中存放的元素是重复的...
    99+
    2023-05-31
    java set ava
  • Java Map简介_动力节点Java学院整理
    Map简介将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。 Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关...
    99+
    2023-05-31
    java map ava
  • Java FileDescriptor总结_动力节点Java学院整理
    FileDescriptor 介绍FileDescriptor 是“文件描述符”。FileDescriptor 可以被用来表示开放文件、开放套接字等。以FileDescriptor表示文件来说:当FileDescriptor表示某文件时,我...
    99+
    2023-05-31
    java filedescriptor ava
  • Java链接redis_动力节点Java学院整理
    要在Java程序中使用使用操作Redis,需要确保有Redis的Java驱动程序和Java设置在机器上。现在,让我们来看看如何设置Redis的Java驱动程序。 需要下载jedis.jar。请一定要下载它的最新版本。 需要包括jedis...
    99+
    2023-05-31
    java redis 链接
  • Java内部类_动力节点Java学院整理
    内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。内部类可以是静态static的,也可用public,default,protected和private修饰。(而外部顶级类即类名和文件名相同的只能使用public和defau...
    99+
    2023-05-31
    java 内部类 ava
  • redis发布订阅_动力节点Java学院整理
    其实在很多的MQ产品中都存在这样的一个模式,我们常听到的一个例子就是邮件订阅的场景,什么意思呢,也就是说100个人订阅了你的博客,如果博主发表了文章,那么100个人就会同时收到通知邮件,除了这个场景还能找到...
    99+
    2022-06-04
    节点 动力 学院
  • redis简介_动力节点Java学院整理
    Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案。Redis官方网网站是:http://www.redis.io/,如下: Redis 有三个...
    99+
    2022-06-04
    节点 动力 简介
  • redis事务_动力节点Java学院整理
    我们都知道redis追求的是简单,快速,高效,在这种情况下也就拒绝了支持window平台,学sqlserver的时候,我们知道事务还算是个比较复杂的东西,所以这要是照搬到redis中去,理所当然redis就...
    99+
    2022-06-04
    节点 事务 动力
  • JDBC简介_动力节点Java学院整理
    前言:什么是JDBC维基百科的简介:  Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。J...
    99+
    2023-05-31
    jdbc 简介 ava
  • Ehcache简介_动力节点Java学院整理
    使用Spring的AOP进行整合,可以灵活的对方法的返回结果对象进行缓存。CachingFilter功能可以对HTTP响应的内容进行缓存。1、主要特性     1. 快速.  &n...
    99+
    2023-05-31
    ehcache ava hcache
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作