Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

计算机硬件发展的同时,软件始终伴随其步伐迅猛发展,就计算机的编程语言而言,也划分为三代。
第一代:机器语言。每条指令用二进制编码,效率很低。   
第二代:汇编语言。用符号编程,和具体机器指令有关,效率不高。   
第三代:高级语言:如FORTRAN、COBOL、BASIC、PASCAL等都属于高级语言。

Java的发展史,可以追溯到1991年SUN公司的GREEN项目,其旨在使用Email去控制家电产品的运行(类似于“物联网”的概念)。SUN公司的开发人员考虑到C++的复杂性,使用C++开发了一个全新的平台——OAK(橡树)平台,其主设计师是James Gosling(詹姆斯•高斯林)。SUN公司以此平台投标一个交互式电视项目,但败于SGI(硅图)公司。OAK前途渺茫,恰好Mark Andreesen开发的Mosaic(马赛克)和Netscape(网景)启发了OAK项目组,SUN公司的工程师使用Java编写了JavaHot浏览器,得到了公司CEO Scott McNealy 的支持,触发了Java进军因特网。从此java得到长足发展,Java程序员人数增长迅速。


Java语言之父-詹姆斯•高斯林

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

从1995年Java诞生到1998年年底,Java语言虽然成为了互联网上广泛使用的编程语言,但它并没有找到一个准确的定位,也没有找到它必须存在的理由:Java语言可以编写Applet,而Flash一样可以做到,而且更快,开发成本更低。

直到1998年12月,Sun发布了Java历史上最重要的JDK版本:JDK1.2,伴随着JDK1.2一同发布的还有JSP/Servlet、EJB等规范,并将Java分成J2EE、J2SE和J2ME三个版本。

J2ME:主要用于控制移动设备和信息家电等有限存储的设备。

J2SE:整个Java技术的核心和基础,它是J2ME、J2EE编程的基础,

J2EE:Java技术中应用最广泛的部分,J2EE提供了企业应用开发相关的完整解决方案。这标志着Java已经吹响了向企业、桌面和移动三个领域进军的号角,标志着Java已经进入Java2时代,这个时期也是Java飞速发展的时期。

在Java2中,Java发生了很多革命性的变化,而这些革命性的变化一直沿用到现在,对于Java的发展形成了深远的影响。知道今天还经常看到J2EE、J2ME等名称。

不仅如此,JDK1.2还把它的API分成了三类。

核心API:由Sun公司制定的基本的API,所有的Java平台都应该提供。这就是平常所说的Java核心类库。

可选API:这是Sun为JDK提供的扩充API,这些API因平台的不同而不同。

特殊API:用于满足特殊要求的API。如用于JCA和JCE等第三方加密类库。

2002年,Sun发布了JDK历史上最成熟的版本:JDK1.4成为发展最快的一个JDK版本。JDK1.4已经可以使用Java实现大多数的应用了。

在此期间,Java语言在企业应用领域大放异彩,涌现出大量基于java语言的开源框架 :Struts、WebWork、Hibernate、Spring等;大量企业应用服务器也开始涌现:WebLogic、WebSphere、JBoss等,这些都标志着Java语言进入了飞速发展时期。

2004年10月,Sun发布了万众期待的JDK1.5,同时,Sun将JDK1.5改名为Java SE5.0,J2EE、J2ME也相应地改名为Java EE和Java ME。JDK1.5增加了诸如泛型、增强的for语句、可变数量的形参、注释、自动拆箱和装箱等功能;同时,也发布了新的企业级平台规范,如通过注释等新特性来简化EJB的复杂性,并推出了自己的MVC框架规范:JSF,JSF规范类似于ASP.NET的服务器端控件,通过它可以快速地构建复杂的JSP界面。

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

但在2009年4月20日,Oracle宣布将收购Sun公司。Sun倒下了,不过Java的大旗依然猎猎作响。2011年7月28日,Oracle公司终于"如约" 发布了 Java SE 7——这次版本的升级经过了将近5年时间。Java SE 7也是Oracle发布的第一个Java版本,引入了二进制整数、支持字符串的switch语句、棱形语法、多异常捕抓、自动关闭资源的try语言等新特性。

2014年3月18日,Oracle公司发不了Java SE8,这次版本升级为Java带来了全新的Lambda表达式、流式编程等大量新特性,这些新特性使得Java变得更加强大。

​ 2017年9月22日,Oracle公司发布了Java SE 9,这次版本升级强化了Java的模块化系统,让庞大的Java语言更轻量化,而且采用了更高效、更智能的GI 垃圾回收器,并在核心类库上进行了大量更新,可以进一步简化编程;但对语法本身更新并不多(毕竟Java语言已经足够成熟)。

Java技术发展阶段分为三个阶段:
第一阶段(完善期):JDK 1.0(1995年)~ JDK 1.2(1998年,Java更名为Java 2);
第二阶段(平稳期):JDK 1.3 ~ JDK 1.4 ;
第三阶段(发展期):JDK 1.5(2005年) ~ JDK 1.8(被Oracle收购后推出) 。

JAVA语言的产生与发展史相关推荐

  1. 计算机语言发展史及Java语言简介

     计算机语言发展史及Java语言简介 一 计算机语言发展史 1第一代语言 第一代语言或者机器语言是一种低级的面向计算机的程序设计语言,使用0和1表示各种指令. 2 第二代语言 汇编语言. 3 第三 ...

  2. 【Java编程进阶】Java语言基础入门篇

    从今天开始,就要写Java编程进阶从入门到精通系列的文章啦!希望大家学习完都可以找到心仪的工作,在自己热爱的岗位上闪闪发光! 推荐学习专栏:Java 编程进阶之路[从入门到精通] 文章目录 一. 第一 ...

  3. java语言概述、java语言特性、java语言发展史、java语言作用

    Java介绍: Java语言概述: Java语言是由美国Sun(Stanford University Network)斯坦福网络公司的java语言之父–詹姆斯·高斯林,在1995年推出的高级的编程语 ...

  4. 穿越Java - 基础篇 第一章 快速带你入门 | 第3节 Java语言发展史

    主题:Java语言发展史 开发环境 更多干货 发展史 开发环境 基于:IntelliJ IDEA.Maven构建工具.JDK1.8.SpringBoot 2.3.4 .Spring4.3.28编写. ...

  5. java语言发展史,虚拟机的安装与配置

    1.  计算机基础 1.1. 计算机 电子计算机,俗称电脑,是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机. 1.2. 硬件和 ...

  6. 【JAVA】Java概述(1、Java语言发展史;2、Java语言跨平台原理;3、JRE和JDK;4、JDK的下载与安装)

    Java概述 重新学习Java第一篇 文章目录 Java概述 1.JAVA语言发展史 1.1Java语言 1.2Java语言发展史 2.Java语言跨平台原理 2.1平台 2.2跨平台 2.3跨平台原 ...

  7. 第一节 Java语言发展史

    Sun公司简介 Sun公司的全称 Stanford University Network ,是斯坦福大学孵化出来的后来成为高科技公司.创立后,曾经市值名列IT公司第一位.在2001年时,市值2100亿 ...

  8. java 语言的发展史

    Java语言历史 在正式学习Java语言之前,读者有必要先来了解一下Java的历史.1990年底美国Sun公司成立了一个叫做Green的项目组,该Green项目主要目标是为消费类电子产品开发一种分布式 ...

  9. java语言_JAVA语言

    Java (计算机编程语言) JavaEE:12天掌握Java语言开发 - Java-环境搭建及基础语法 - 创客学院直播室 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C ...

最新文章

  1. TiDB 在量化派风控系统中的应用
  2. python【数据结构与算法】 python3 deque模块(双端队列)
  3. Java的基础方法Java的对象_java基础之 创建对象的几种方式
  4. 【转贴】C#中事件处理的个人体会
  5. 反模式:神仙大类和黄金大锤
  6. selenium IDE录制
  7. Python_XlrdXlwt
  8. 常用决策树集成模型Random Forest、Adaboost、GBDT详解
  9. 【渝粤题库】国家开放大学2021春2108刑法学(2)答案
  10. 计算机本地网络如何共享,本地网络共享怎么实现
  11. 椭圆曲线密码学导论pdf_椭圆曲线密码学
  12. mac安装python3.7两个版本_MAC下同时安装Python2和Python3
  13. ftp文件传输协议的匿名用户、系统用户的实现详解过程
  14. js或jsp 获取项目路径常用方法
  15. 扩展频谱--直接序列扩频
  16. smarty 模板php,PHP 模板之Smarty 模板介绍
  17. ContentProvider--共享文件(.jepg文件)
  18. python运用在大数据_python 大数据 应用场景
  19. 仿微信朋友圈动态列表
  20. 欧拉图——欧拉通路和欧拉回路

热门文章

  1. 众志成城!春暖花开!带你认识Python
  2. #解题记录 有三个量杯,分别是3ml、5ml和装满水的10毫升,如何分离出5ml的水
  3. QT--生成Excel文件
  4. shorten command line
  5. 小字辈(c/c++)本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。
  6. 判断中转页面入口window.performance.navigation.type
  7. 继刺激战场之后,光子末日求生手游新作代号:生机简直太燃了
  8. java支付宝网页授权_手机浏览器怎么调用支付宝进行用户授权呢?
  9. 股权激励的作用是什么
  10. FPGA SDRAM接口设计(三)设计实现