【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. Win32 OpenGL 编程( 1 ) Win32 下的 OpenGL 编程必须步骤

    http://blog.csdn.net/vagrxie/article/details/4602961 Win32 OpenGL 编程( 1 ) Win32 下的 OpenGL 编程必须步骤 wri ...

  2. DNS+CDN

    参考: 一起学DNS系列文章:http://jeffyyko.blog.51cto.com/28563/186026 CDN技术原理:http://kb.cnblogs.com/page/121664 ...

  3. C++多线程(POSIX)

    #include<iostream> #include<pthread.h> #include<ctime> #include<windows.h> u ...

  4. HDU 2036 改革春风吹满地【计算几何/叉乘求多边形面积】

    改革春风吹满地 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  5. CF917C Pollywog —— 状压DP + 矩乘优化

    C. Pollywog 题目描述 原题题目链接.题目大意为:有$x$只蝌蚪,在$n$个石头中的最左端的$x$个石头上,这$n$个石头是在同一直线上的.每一次只能最左边的一个蝌蚪进行跳跃,并且只能跳$1 ...

  6. 【redis】java操作redis时,StringRedisTemplate的expire()方法的作用,什么时候使用

    java操作redis时,StringRedisTemplate的expire()方法的作用,什么时候使用 //重新设置过期时间为30分钟,刷新时间 redisTemplate.expire(MsOp ...

  7. 【转】如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等   你是否曾经有过要计算一个非常大的数据(几百GB)的需求?或在里面搜索,或其它操作——一些无法并 ...

  8. 2016.10.18kubernetes 的8080和6443端口的区别与联系

    由看过的资料知道,可以使用kubectl,client libraries和REST请求来访问api.   来自官方资料: By default the Kubernetes APIserver se ...

  9. bit、位、byte、字节、B、KB、字符与网速

    一.存储单位bit和Byte 1.bit(比特) bit就是位,也叫比特位,是数据存储的最小单位.简写为小写字母“b” 二进制的一位,每个0或1是一个bit 2.Byte(字节) Byte是字节,也有 ...

  10. mysql 远程登陆不上

    当使用 TCP/IP 连接 mysql 时, 出现 : Can't connect to MySQL server on 'xxx.xxx.xxx.xxx.'(111) 这个错误. 经过重复折腾: 确 ...