Java的发展历程充满了传奇色彩。
最初,Java是由Sun公司的一个研究小组开发出来的,
该小组起先的目标是想用软件实现对家用电器进行集成控制的小型控制装置。
开始,准备采用C++,但C++太复杂,而且安全性差,最后基于C++开发了一种新的语言Oak,
据说当时是小组成员之一Gosling在苦思冥想这种语言的名字时,正好看到了窗外的一颗橡树,
Oak在英文里是“橡树”的意思,所以给该语言命名为Oak。
它是一种用于网络的精巧而安全的语言,但是这个在技术上非常成功的产品在商业上却几近失败,
可怜的Oak几乎濒临夭折的危险。Internet的诞生给Oak的发展带来了新的契机。
在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。
这对于那些迷恋于WEB浏览的人们来说简直不可容忍。
他们迫切希望能在WEN中看到一些交互式的内容,
开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,
当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力。
 SUN的工程师敏锐地察觉到了这一点,
 从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。
 当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都感觉到:
 噢,这正是大家想要的。
 那么Java的名字又是由何而来呢,据说有一天,
 几位Java成员组的会员正在讨论给这个新的语言取什么名字,
 当时他们正在咖啡馆喝着Java(爪哇)咖啡,
 有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,
 于是,Java这个名字就这样传开了。
 随后Java成了一颗耀眼的明星,
 丑小鸭一下了变成了白天鹅。
 
 在1995年Sun虽然推出了Java,但这只是一种语言,而要想开发复杂的应用程序,
    必须要有一个的强大的开发库支持才行。因此,Sun在1996 年1月23日发布了JDK1.0。
    这个版本包括了两部分:运行环境(即JRE)和开发环境(即JDK)。
    在运行环境中包括了核心API、集成API,用户界面API
,发布技术,Java虚拟机(JVM)五个部分。
 
   
 
   二、Java的茁壮成长史:
 
 
         1995年5月23日,Java语言正式宣布诞生
 1996年1月,jdk1.0诞生,同年,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术。同年9月,8.3万个网页应用了Java技术来制作。
 1997年2月18日,jdk1.1发布,接下去的3周内,jdk1.1软件包被下载了22万次。同年9月,Java开发者社区超过10万成员
 1998年2月,jdk1.1被下载了超过200万次。同年12月8日,Java2平台发布。
 1999年6月,sun发布三种Java版本,标准版、企业版和微型版。
 2000年5月,Java开发者社区超过了150万成员。该月8日,jdk1.3发布。
 2001年5月29日,Jdk1.4试用版发布,同年6月5日,全球最大的手机提供商NOKIA宣布,到2003年将出售1亿内含Java的手机
 2002年2月,jdk1.4正式版发布,短短一个月的时间内(3月)该工具包被下载超过了100万次。(5月)jdk被下载了超过200万次 到2002年止全球财富500强企业中超过了95%的企业内部都使用了基于Java应用的企业平台 
 2003 5.5亿台桌面机上运行Java程序,75%的开发人员将Java作为首要开发工具
 2004 J2SE1.5发布,这是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0。
 2005 JavaOne大会召开,Sun公司公开Java SE6。此时,Java的各种版本被更名,取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME 
 2010年10月24日 。美国数据软件巨头甲骨文公司20日宣布以74亿美元收购太阳微电子公司
    
    
    
    
    
    
    在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。
这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向
虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机
器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何
特定的处理器,只面向虚拟机。 
每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译
后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,
解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。 
 
 
 
 
 
 
 
   
   随着JAVA开发库的不断的完善。JAVA开始进军软件开发的不同的方向:
 
   目前 主流的 发展方向:
      Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
 
    Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。
 
     Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
 
说得更简单点
 
Java SE 是做电脑上运行的软件。
 
Java EE 是企业及开发,最多的应该是web开发-
 
Java ME 是做手机软件的。
 
 
 
 
 
 
 
   
 


7----------------------------- 

Java的发展历程的更多相关文章

  1. IT兄弟连 Java语法教程 Java的发展历程

    只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅 ...

  2. Java 持久化发展历程

  3. Java起源、发展历程、环境变量、第一个Java程序等【1】

    若有不正之处,请多多谅解并欢迎批评指正,不甚感激. 请尊重作者劳动成果,转载请标明原文链接: 本文原创作者:pipi-changing 本文原创出处:http://www.cnblogs.com/pi ...

  4. java发展历程、常用dos命令与jDK工具使用

    Java菜鸟学习之旅 1.勤敲代码 2.必须将课堂上讲的内容学到位 2.1 学到会用 2.2 在学会之前不要自作主张 2.3 当天课程当天完成 3.能说会道 3.1 善于表达 3.2 学会的都能讲 4 ...

  5. Java日志体系(一)发展历程

    一.日志框架的分类 门面型日志框架: JCL: Apache基金会所属的项目,是一套Java日志接口,之前叫Jakarta Commons Logging,后更名为Commons Logging SL ...

  6. Java语言的发展历程

    前言 自1946年2月14日世界上首款计算机ENAC问世,第一代计算机语言“机器语言”便诞生了,它使用的是最原始的穿孔卡片,这种卡片上使用的语言只有专家才能理解,与人类语言差别极大.这种语言本质上是计 ...

  7. Java发展历程

    Java 的发展要追溯到 1991 年,Patrick Naughton(帕特里克·诺顿)和 James Gosling(詹姆斯·高斯林)带领 Sun 公司的工程师打算为有线电视转换盒之类的消费产品设 ...

  8. JAVA基础知识|HTTP协议-发展历程

    HTTP 是基于 TCP/IP 协议的应用层协议.它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口. 此文章为转载内容:http://www.ruanyif ...

  9. C#与C++的发展历程第一 - 由C#3.0起

    俗话说学以致用,本系列的出发点就在于总结C#和C++的一些新特性,并给出实例说明这些新特性的使用场景.前几篇文章将以C#的新特性为纲领,并同时介绍C++中相似的功能的新特性,最后一篇文章将总结之前几篇 ...

随机推荐

  1. 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上

    阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...

  2. mybatis 动态sql表达式相关应用

    一.mybatis 表达式简介 对于mybatis3 ,提供了一种动态sql的方式.通过动态sql我们可以直接在mybatis 的xm映射文件中直接通过条件判断的方式进行查询添加的拼接.mybatis ...

  3. js字符串转为日期格式

    1. <script type="text/javascript"> //字符串转日期格式,strDate要转为日期格式的字符串 function getDate(st ...

  4. Shelve Instance 操作详解 - 每天5分钟玩转 OpenStack(38)

    Instance 被 Suspend 后虽然处于 Shut Down 状态,但 Hypervisor 依然在宿主机上为其预留了资源,以便在以后能够成功 Resume. 如果希望释放这些预留资源,可以使 ...

  5. linux shell 变量

  6. monkeyrunner之录制与回放(七)

    monkeyrunner为我们提供了录制 回放的功能. 录制与回放使用原因:实际项目,需求变更频繁,且测试任务多,我们没有足够时间去写测试脚本,这是就可以进行录制脚本,然后通过回放,跑完需要的流程. ...

  7. JSP转译成Servlet详细过程

    很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行.因为JSP在执行第一次后,会被编译成 Servlet的类文件,即.class,当再重复调用执行时,就直接 ...

  8. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 实现缓存预热

    因为大型应用系统可能有几十个子系统,为了减轻数据库频繁读写压力.提高系统的运行速度.反映速度,大型应用系统都需要采用缓存机制提高运行效率.Redis 缓存预热实现将来大家很多基础数据都可以缓存获取,不 ...

  9. MathType for mac 能够实现在Word里面双击公式编辑的方法

    最近我遇到了一个问题,在使用Word编辑公式时遇到了阻碍. 问题: 我为了顺应潮流呢,用的是office for mac2016版本,在发现MathType安装好后,不能连接到Word里面,从Math ...

  10. 关于java中final关键字与线程安全性

    在Java5中,final关键字是非常重要而事实上却经常被忽视其作为同步的作用.本质上讲,final能够做出如下保证:当你创建一个对象时,使用final关键字能够使得另一个线程不会访问到处于" ...