【0】README

0.1) 本文转自 core java volume 1,仅供了解Java 的发展历史,它的前世今生,所谓知己知彼,百战不殆(just a joke) ;


【1】java 发展简史

1.1)java的历史要追溯到1991年: 由 Patrick Naughton 和 James Gosling(计算机全能奇才)设计一种计算机语言,主要用于像有线电视转换盒之类的消费设备。由于这些消费设备的处理能力和内存都很有限, 所以语言必须非常小且能够生成非常紧凑的代码; 另外, 由于不同的厂商会选择不同的中央处理器(CPU), 因此这种语言的关键是: 不能与任何特定的体系结构捆绑在一起,这个项目的名字被命名为 “Green”
1.2)引入虚拟机:代码短小,紧凑且与平台无关, 这些要求促使开发团队联想起 很早以前的一种模型, 某些 Pascal的实现曾经在早起的 PC 上尝试过这种模型。以Pascal的发明者Niklaus Wirth 为先驱, 率先设计出一种为假想的机器生成中间代码的可移植语言(假想的机器称为虚拟机——java虚拟机即 JVM的命名由来)。这种中间代码可以应用于已经正确安装解释器的机器上。Green 项目工程师也使用了虚拟机;
1.3)引入Oak 和 java:不过,Sun公司的人都有 UNIX 的应用背景, 因此所开发的语言以 C++为基础,而不是 Pascal, 特别是这种面向对象语言, 而不是面向过程的。Gosling 把这种语言称为“Oak”(这大概因为他非常喜欢其办公室外的橡树)。Sun公司后来发现Oak是一种已有的计算机语言的名字,于是,将其改名为java
1.4)Green项目发布第一个产品——*7: 92年, Green项目发布了第一个产品——7*,Green项目组成员想把该技术推向市场,于是,Green项目组竞标了一个提供视频点播等新型服务的 有线电视盒的项目, 但没有成功,得到这个项目的公司的领导恰恰是开 创 Netscape 公司的 Jim Clark。Netscape 公司后来对java 的成功给予了很大的帮助;
1.5)First Person公司解散: Green项目组(这时换了一个新名字——First Person 公司)花费了1993年一整年以及1994年上半年来寻找技术买家, 然而一个也没有找到, 1994年,First Person 公司解散;
1.6)Internet的万维网发展壮大:当这一切在 Sun 公司中继续进行的时候, Internet 的万维网也日渐发展壮大。Web的关键是吧超文本页面转换到屏幕上的浏览器。 1994年大多数人还都在使用 Mosaic, 这是一个1993年出自 伊利诺斯大学超级计算中心的非商业 化的Web 浏览器;
1.7)Gosling决定开发浏览器: Gosling 说在 1994年中期, java 语言的开发者意思到: ”我们能够建立一个最酷的浏览器“。 因为, 我们已经拥有在 客户机/服务器 主流模型中所需要的体系结构中立、实时、可靠、安全——这些在工作站环境中并不太重要,所以我们决定开发浏览器;
1.8)HotJava浏览器问世:实际的浏览器是由 Patrick Naughton 和 Jonathan Payne 开发的, 并演变为 HotJava 浏览器(采用 Java 语言编写), 他们还让 HotJava 浏览器具有执行网页中内嵌代码的能力, 这些在1995年5月23日的 SunWorld 大会上得到展现;
1.9)java1.0发布: 1996年初, Sun 发布了Java的第一个版本; 1998年12月 Java1.2 发布3天后, Sun 公司市场部将其名称改为 更 加吸引人的 “Java 2 标准软件开发工具箱1.2 版”;除了标准版外, Sun还推出了两个其他的版本: 一个是用于手机等嵌入式设备 的“微型版”;另一个是用于服务器端处理的“企业版”。
1.10)Java成为服务器端应用的首选平台:标准版的1.3和1.4 对最初的Java2 版本做出了某些改进,扩展了标准类库,提高了 系统性能;在此期间, Java applet 采用低调姿态,并淡化了客户端的 应用, 但 Java却成为服务器端应用的首选平台;
1.11)Java5.0版发布: 5.0版 是 自1.1 版以来第一个对 Java语言做出重大改进的版本(这一版本原来被命名为1.5版, 在2004年的 JavaOne会议后,版本数字升至 5.0), 这个版本添加的内容包括:泛型类型(generic type), for each 循环, 自动装箱和元数据;
1.12)版本6于2006年年末发布:这个版本没有对语言方面再进行改进,但增强了类库;
1.13)Sun Microsystems 于2009年被Oracle 收购:随着数据中心越来越依赖于商业硬件 而不是 专业服务器,Sun Microsystems 终于沦陷, 于2009年被Oracle 收购;Java的开发停滞了很长一段时间, 直到2011年 Oracle发布了Java的一个新版本Java7, 其中只做了一些简单的改进,而决定将重要的改进推迟到 Java8, 该版本将在2013年发布;

java 发展简史的更多相关文章

  1. Java 发展简史:初生遇低谷,崛起于互联网

    Java 起源与诞生 20世纪90年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它可以大幅度提升消费性电子产品的智能化程度. SUN公司为了抢占市场先机,在1991年成立了一 ...

  2. 3.java发展简史

    1991年,James Gosling在SUN(Stanford University Network)公司的工程师小组想要设计这样一种小型计算机语言.该语言主要用于像电视盒这样的消费类电子产品.另外 ...

  3. ***Java多线程发展简史

    http://blog.jobbole.com/28297/ 本文来自四火的博客(@RayChase),由@_Zhijun 推荐 这篇文章,大部分内容,是周五我做的一个关于如何进行Java多线程编程的 ...

  4. [转] Java多线程发展简史

    这篇文章,大部分内容,是周五我做的一个关于如何进行Java多线程编程的Knowledge Sharing的一个整理,我希望能对Java从第一个版本开始,在多线程编程方面的大事件和发展脉络有一个描述,并 ...

  5. Web前端发展简史

    Web前端发展简史 有人说“前端开发”是IT界最容易被误解的岗位,这不是空穴来风.如果你还认为前端只是从美工那里拿到切图, JS和CSS一番乱炖,难搞的功能就去网上信手拈来,CtrlC + Ctrl ...

  6. Java发展的时间表

    Java发展的时间表. (版本号 名称 中文名 发布日期) JDK 1.1.4 Sparkler 宝石 1997-09-12 JDK 1.1.5 Pumpkin 南瓜 1997-12-13 JDK 1 ...

  7. Web发展简史(精编故事版,贤来给你讲故事)

    Web发展简史 一. Web发展简史之隔壁老王的故事 有一个人叫隔壁老王,老王有一个爱好就是爱看电影.有一天,这个隔壁老王想看一部电影,可是电脑里面存储的电影太多了,他费了老大劲才从里面找到,觉得很不 ...

  8. 发展简史jQuery时间轴特效

    发展简史jQuery时间轴特效.这是一款鼠标滚动到一定的高度动画显示企业发展时间轴特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="wr ...

  9. AI技术说:人工智能相关概念与发展简史

    作为近几年的一大热词,人工智能一直是科技圈不可忽视的一大风口.随着智能硬件的迭代,智能家居产品逐步走进千家万户,语音识别.图像识别等AI相关技术也经历了阶梯式发展.如何看待人工智能的本质?人工智能的飞 ...

随机推荐

  1. 学习总结——JMeter做http接口压力测试

    JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...

  2. nodejs后台启动

    可避免关闭窗口,程序就关闭,可在后台运行 安装forever包,一般用于服务器,调试环境可不安装 npm install forever -g 启动方式如图: 查询后台运行哪些程序 forever l ...

  3. 介绍Node.JS

    几年前,完全放弃Asp.net,彻底脱离微软方向.Web开发,在公司团队中,一概使用Node.js.Mongodb.Git,替换Asp.net mvc.Sql server和Tfs.当时来看,这是高风 ...

  4. c# redis 利用锁(StackExchange.Redis LockTake)来保证数据在高并发情况下的正确性

    之前有写过一篇介绍c#操作redis的文章 http://www.cnblogs.com/axel10/p/8459434.html ,这篇文章中的案例使用了StringIncrement来实现了高并 ...

  5. (9)centos下防火墙firewalld设置

    学习apache安装的时候需要打开80端口,由于centos 7版本以后默认使用firewalld后,网上关于iptables的设置方法已经不管用了,想着反正iptable也不会用,索性直接搬官方文档 ...

  6. addEventListener与attachEvent

    一.attachEvent和addEventListener (一)addEventListener addEventListener() 方法用于向指定元素添加事件句柄.使用 removeEvent ...

  7. Maven 多模块父子工程 (含Spring Boot示例)

    一.为什么要用Maven多模块 假设有这样一个项目,很常见的Java Web应用.在这个应用中,我们分了几层: Dao Service Web 对应的,在一个项目中,我们会看到一些包名: org.xx ...

  8. 常见指令与功能介绍-java之JSP学习第二天(非原创)

    文章大纲 一.JSP 指令二.JSP 动作元素三.JSP 隐式对象四.JSP 客户端请求五.JSP 服务器响应六.JSP HTTP 状态码七.JSP 表单处理八.JSP 过滤器九.JSP Cookie ...

  9. python的列表元组字典集合比较

    定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'],7- ...

  10. Elasticsearch搜索结果返回不一致问题

    一.背景 这周在使用Elasticsearch搜索的时候遇到一个,对于同一个搜索请求,会出现top50返回结果和排序不一致的问题.那么为什么会出现这样的问题? 后来通过百度和google,发现这是因为 ...