`
Turandot
  • 浏览: 52648 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Java 十大事件

阅读更多

Java 十大事件

 

 

1990-1994:Java缘起

 

Larry Wall说,优秀程序员应有的三个特点:懒惰、急躁和傲慢。Java就是诞生在一群懒惰、急躁而傲慢的程序天才之中。

1990年12月,Sun的工程师Patrick Naughton被当时糟糕的Sun C++工具折磨的快疯了。他大声抱怨,并威胁要离开Sun转投当时在Steve Jobs领导之下的NeXT公司。领导层为了留住他,给他一个机会,启动了一个叫做Stealth(秘密行动)的项目。随着James Gosling等人的加入,这个项目更名为Green。其目标是使用C++为嵌入式设备开发一种新的基础平台技术,James Gosling本人负责开发一个SGML编辑器。正如人们事后分析的那样,这位天才的程序员太懒惰,所以没有把C++学好,开发中碰了一头包;太急躁——所以不愿意停下来读读Scott Meyers的新书《Effective C++》;太傲慢——所以轻易地决定开发一中新的编程语言。他把这种语言命名为C++++--,意思是C++“加上一些好东西,减去一些坏东西”。显然这个糟糕的名字不可能长命百岁,很快这种颇受同伴喜爱的小语言被命名为Oak。

到了1992年9月,Oak语言连同Green OS和一些应用程序一起发布在称做Start 7的小设备上,从而使之有了第一次精彩的亮相。随后,Sun开了一家名为FirstPerson的公司,整个团队被转移到这家公司里研发机顶盒,以投标时代华纳公司的一个项目。这帮天才被技术狂热所鼓舞,开发出了一个高交互性的设备,结果没想到时代华纳公司和有线电视服务商并不愿意用户拥有那么大的控制权,从而在竞标之战中败给了SGI。Oak的锋芒之锐,竟然把客户都给吓懵了。Sun沮丧地关闭了FirstPerson,召回了整个团队。事实证明,传统行业中那些脑满肥肠的保守主义者是腐朽没落的。回去!回到激情澎湃的IT产业,抓住互联网的大潮,这才是出路!1994年,Oak被命名为Java,针对互联网的新一轮开发如火如荼,一切已经就绪,熔岩在地下奔流,火山即将喷发。

 

 

1995: Java香浓世界

 

1995年,Sun正式对外公布了Java,并且发布了JDK 1.0。这种外形酷似C++,却包含一颗Smalltalk般纯洁的面向对象之心的全新程序设计语言及其平台,几乎在一夜之间就成为软件产业的新宠儿。Java当时仅仅被用来为网站制作一些动态应用,诸如动画图片之类,但这仍然引起了很多Web开发者们的注意,他们非常渴望有一种安全的语言,可以在静态的HTML网页上制作动画图片。Sun最终把Java集成到NetScape浏览器。同时因为它具有“只写一次,随处运行”的特性,而引起了很多开发者的注意,他们可以再也不用为了使程序能够在不同型号的硬件上运行而耗费大量的时间来编译代码了。

当时的Web浏览器的出现也为Java的出现起到了很好的推动作用,通过Java和Web浏览器的结合,人们似乎看到了什么,有人甚至预言PC将在一两年内退出历史的舞台,取而代之的是基于Java的浏览器应用程序,通过网络计算设备来进行应用。Java的出现为当时的软件产业带来了无限的遐想。

 

 

1996:Java大跃进,盟主地位就此定

 

SUN在1996年一开始首先成立了JavaSoft组织,并在1月23日正式发布自己的Java 1.0,作为20世纪业界出现的最重要的技术之一,Java引起了编程世界的革命。直到现在,Java仍然是互联网上最流行的语言。

在Sun正式发布Java 1.0之后,Java这门新生的语言就拥有了自己的会议——JavaOne,这次会议初试啼音就吸引了600多名参与者。除了拥有这么多的积极参与者来进行Java的开发之外,各大知名公司也纷纷向Sun申请Java的许可。一时间,NetScape、惠普、IBM、Oralce、Sybase甚至当时刚推出Windows 95的微软都是Java的追随者。

Java的应用就像是世界上的顶级玩家们组成的一个公开联盟,告诉全世界我们大家就是都在用着Java。也正是因为如此,Java也找到了自己的归宿。现在的J2EE已经成为中大型企业级应用的标准,成为承接数据库和Web之间的一个重要桥梁。

当年Java的机会实在太多了,以至于很难知道到底该做什么。最终Java在应用服务器市场获得了难以取代的地位,也确定了J2EE的发展方向,并且仍将延续下去。

 

 

1997-2001:  微软与Sun的Java官司

 

Java诞生的1995年,正是微软在软件产业地位达到巅峰的时代,Windows 95发布时的风光场面给人们留下的深刻印象至今难忘。尽管如此,作为最卓越的技术领袖,比尔?盖茨仍然敏锐地注意到Java。当他了解了Java的一些细节之后,给予了这样的评价:“Java是很长时间以来最优秀的程序设计语言。”基于此,微软于1996年3月申请并获得了Java许可证。微软对于Java的这一热情态度在当时大大提高了人们对Java的兴趣和信心,但也有不少人担心微软会依靠自己强大的影响力在标准之外另立标准,从而破坏Java的纯洁性。

果然,从1997年发布Visual J++的第一个版本开始,微软就开始在Java中掺入自己的私有扩展。这毫无疑问引起Sun的高度重视。1997年10月,Sun向美国加州地方法院起诉微软公司违反两公司就微软使用Java技术所签定的合同,指控微软公司在自己的Java产品中做了“不恰当的修改”,违反了合同中承诺向用户提供Java兼容产品的条款。这一官司旷日持久,直到2001年1月双方达成和解,微软将继续提供采用Sun开发的Java技术的现有产品(包括测试版)。不过,Sun有限制地仅对包括Java 1.1.4的微软产品提供许可。到了2001年7月,微软公布新版的Windows XP将不再支持Sun的JVM,并且推出了.NET平台与Java分庭抗礼。

现在回过头去看,当时的这一场官司对Java世界产生了深远的影响。如果没有这一场官司,也许很多Java程序员都在使用Visual J++,基于WFC开发Windows客户端程序,同时不得不面对被两个不同的事实标准所分裂的Java世界。

 

 

1998:Java 2平台发布

 

1998年,Java 2平台正式发布。经过了三年时间的发展、热热闹闹的攻关宣传、红红火火的众厂商的热情参与,Sun终于知道Java适合干什么了。对比Java刚发明时的技术定位,与Java的戏剧性触“网”的那段历史,Java 2平台的发布可真算得上是有的放矢了。根据官方的文档,Java 2是Sun意识到“one size doesn’t fit all”之后,把最初的Java技术打包成三个版本的产物,也就是著名的J2ME、J2SE、J2EE。

之所以说Java自从Java 2平台发布之后,进入了现代。那是因为之前的历史怎么看来都和现在程序员日常开发使用的技术无什么关系,比如Applet,已经很少有人使用了。Java 2之后的历史就不一样了,至少人们在推崇轻量级开发,猛批EJB时还不时会引用J2EE这个词是如何诞生的。而Java 2的三大版本中,除了J2EE得到了长足发展和广泛使用之外,J2ME也在手机市场上取得了遍地开花的结果。相较之下,J2SE难免落寞,只剩SWT这个血统不纯的家伙在Rich Client回归的时代吸引着人们的眼球了。无论今天看来当时的Java 2有多么的不成熟,至少经过市场和时间的检验,Java 2规划出来的三大方向把Java技术指向了光明的方向是勿庸置疑的。

 

 

1998:JCP成立并正式运作,

Java开源社群开始蓬勃发展

 

1998年,JCP组织成立,并且开始把握Java的发展方向。JCP组织的开放性,不但使得所有对Java感兴趣的商业公司可以参与Java的发展,更重要的是JCP允许个人、非盈利组织、学校等加入,这就给Java带来了巨大的活力。随之兴起的Java开源运动的最大贡献是实现和鼓励了知识共享,在众多热情的开源程序员们的努力和分享下,很多原先只被商业公司掌握的技术、思想和产品可以被所有需要的开发人员免费或者以较低的价格获得使用权, 并通过开放源代码更容易的获得反馈和改进意见从而进一步演化发展。我们知道,所谓知识不是孤立发展认知,而是人们的经验,认识是思考交流和积累的产物。而开源运动所带来的开放、反馈、交流的风气正是符合人类社会知识形成和发展的规律。

开源运动起源于西方的发达国家,有其现实背景和文化根源。1990年代可以说是IT产业的一个黄金时代。信息时代的兴起对IT人员,特别是软件人员有着巨大的需求。而软件开发又是一种类似艺术创作的脑力活动,和所有的艺术家、作家们一样,在作品打上自己的印记并流传在世界上是每一个创作人员的梦想。互联网时代下的高收入的舒适生活,早九晚五的编写公司的代码并不能满足很多有激情的软件开发人员的梦想,再加上西方传统的基督教文化中十分推崇的分享和交流,开源的出现和兴起也就水到渠成了。今天,开源运动已经不仅仅是一些个人天才程序员们的游乐园地,而是发展成为一项开源软件产业。

 

 

1998:WebLogic打开J2EE的魔匣

 

Java语言的出现使得互联网络有了良好的交互性能,但这些很“酷”的技术仅被人们认为是一些小花招,它还无法消除企业级用户对它的怀疑。1998年,BEA公司宣布收购WebLogic公司,并接着推出由Sun公司第一个授权使用J2EE许可证的WebLogic Server应用服务器,这个Java版的AppServer一推出就引起业界极大的兴趣。WebLoigc Server以其对标准的支持、强悍的运算能力和安全的架构设计等特性也很快征服了那些怀疑J2EE应用的人们。推出市场后不到一年,WebLogic Server就成为业内第一Java应用服务器。

这里我们援引一些当时著名咨询公司的调查数据来说明问题,“在IDC的报告中,BEA在应用服务器和交易服务器领域市场份额第一;在Gartner的报告中,BEA WebLogic Server拥有业内最广泛的EJB应用安装基础;在Giga Group的报告中,BEA WebLogic Server市场份额占32%”。

因为应用服务器市场极大的发展潜力,在WebLogic Server之后,其它的很多公司也推出了自己的AppServer,如IBM的WebSphere、Sun公司的iPlanet等,逐渐地应用服务器取代了传统意义上的各类中间件,成为企业应用的基础平台。应用服务器的出现使得Java有了真正意义上的发展。

 

 

2002-2004: Sun与微软的法律碰撞最终以喜剧收场

 

2003年4月2 日,Sun与微软达成16亿美元的法律和解。如果不是晚了一天,许多人会以为这是一个在4月1日愚人节开的玩笑。尽管当时所有人都像是看到“太阳从西边出来了”那样张大了嘴巴,但这的确是事实。

根据两家公司达成的版权协议,双方会为采用对方的技术而支付专利费用,微软向Sun提前支付3.5亿美元使用费,Sun则承诺,如果Sun集成微软的某些技术,也会向微软付款。

毫无疑问,“私下了结”的方式对双方而言都是最好的结果。就在协议签署的当天,在美国旧金山由Sun和微软为“抛弃十年恩怨、携手合作“举行的新闻发布会上,尽管比尔?盖茨没有到场,但这并没有防碍现场看起来异常轻松的气氛。麦克尼利和鲍尔默各自穿了一件密歇根州底特律“Red Wings”曲棍球队的运动服,并谈及了一起在哈佛大学读书的经历,麦克尼利还说:“当时我们两人是非常要好的朋友,当然我们也有吵架的时候。”人与人当然可能成为终生的知己,但是公司与公司之间有的只能是利益上的分分合合。

 

 

2000-2004: JBoss和Eclipse

——Java开源软件的王者

 

Java和开源几乎就是天生的一对,这可以从无比兴盛繁荣的Java开源软件社区得到佐证。目前最有影响力的Java开源软件项目,要数JBoss和Eclipse。可以说,几乎所有的Java开发人员都获多或少的听到过或接触和使用过它们。前者是目前最优秀、应用最为广泛的企业级开源J2EE应用服务器,后者是功能完全可以替代商业产品的Java IDE。二者的覆盖功能之全、支持工具之广、子项目之多,几乎可以仅凭借它俩来完成企业应用的开发构建到部署实施的全过程,而软件开发者和客户也都可以最大程度上享受高质量,高可靠Java开源软件所带来的低成本优势。

JBoss和Eclipse的巨大成功,几乎令各自领域的商用竞争者抓狂,其中BEA的WebLogic和IBM的WebSphere在商业利润上受到JBoss的巨大侵蚀,而Borland的JBuilder、JetBrains的IDEA等诸多优秀的商用开发工具也不得不面对Eclipse独大的现实。JBoss的CEO兼创始人 Marc Fleury曾直言不讳地表示,希望占据市场主导地位。“我们希望打败IBM,成为中间件领域里最大的厂商。”JBoss在4.0以前还只是以一个Group存在,盈利手段主要靠服务和销售文档。但在最近,JBoss已经发展成为一个有限公司,并吸纳多家风险投资,专注于获取利润为目标之一的第二代开源软件模式(JBoss自己称为“Professional Open Source”)的创新和运营。这区别于以理论研究为爱好的学院型开源或大公司为基础的非盈利组织开源,如Linux和Apache。当然JBoss的这种运营方式势必会导致更多的代码控制和专有修改权,但按JBoss的说法是这样更能获得企业客户的信赖。JBoss的这种模式是否能获得成功还要我们拭目以待。

不管JBoss和Eclipse的未来发展如何,JBoss和Eclipse的成功已经让我们看到了Java开源软件的威力,祝愿它们一路走好。

 

 

2004:Java 5.0

 

2004年9月30日,代号为“Tiger”,研发历时近三年的J2SE 5.0发布正式版本,这是Java平台历来发布版本中改动面波及最大的一次。

纵观Tiger,“Ease of development”是其核心主题,这一点着重体现于语言特性上的改进,这在很大程度上,简化了开发人员日常的编程任务,以往一些琐碎的手工劳动都代之以轻松自然,而又安全可靠的自动化实现。其中的注解功能,以及随之而来的声明式编程,还对构筑于J2SE 5.0之上的J2EE 5.0产生了巨大影响。尽管Tiger在语言特性上做了很大的动作,但作为Java技术的基础支撑,这些改动都是深思熟虑的结果。

Tiger发布至今也有大半年了,那么Sun又是如何规划J2SE的未来蓝图的呢?据悉,J2SE的下两个版本分别是代号为“Mustang”的J2SE 6.0和代号为“Dolphin”的J2SE 7.0,预计Mustang将于明年发布。在吸取了Tiger研发周期过长的教训之后,Sun副总裁Graham Hamilton表示,Mustang的发布周期将不会那么长。并且,Sun还将“Becoming more open” 作为Mustang的主题之一。未来JCP对Java技术的影响将会愈加深入,而整个研发过程也将会愈加透明。Mustang在正式发布前的内部版本也会陆续见诸于众,如此,广大Java开发者便可以更加及时的了解到Java发展的最新情况。在语言层面上的扩展依然会比较谨慎,比如像AOP这样的当下热门技术,依然不太可能会见诸其中。据Hamilton所言,一个有可能被引入的语法特性被称作“friends”import机制,它将使由多个包组成的大型项目变得易于管理。

 

2008:Oracle收购BEA

 

      2008年1月16日,全球最大的数据库软件公司甲骨文(Oracle)宣布已经同BEA达成协议,以85亿美元收购BEA。

事实上,在商用软件市场,甲骨文最直接的竞争对手是来自德国的软件公司SAP,这几年双方在商用软件市场的竞争可谓是激烈万分。众所周知的事实是,甲骨文是数据库软件市场的老大,但在传统的管理软件市场(例如ERP等领域)却是SAP一支独秀。 正如外界所评,甲骨文并购BEA无非是要进一步加强其在中间件市场技术和产品的实力,但甲骨文真正的矛头是指向SAP应用软件的桥梁—Net Weaver平台。收购BEA之后,甲骨文的中间件将会更加的开放和标准,能够使客户拥有更多的选择,进而可以使得更多的SAP客户转向甲骨文。 此外,甲骨文很可能借助收购BEA,率先推出基于SOA的ERP软件,在新一轮的基于SOA的管理软件大战中占得先机,从而将SAP彻底打垮。

      不过,分析人士也认为,除了给SAP重击之外,甲骨文收购BEA还使其具备了挑战IBM软件的实力。 在目前的中间件市场,IBM和BEA的实力不分上下。过去的三年中,中间件带动软件事业成为IBM所有项目中增长最迅速最稳定的部分。

      除中间件外,IBM和BEA在SOA的研发和应用上又都是领先者。作为全球SOA主导企业的IBM和BEA对于SOA却有着完全不同的认识。 本来已经就对IBM中间件造成威胁的甲骨文,如果收购BEA的话,除了BEA宝贵的客户资源外,更重要的是在未来的SOA决战中,甲骨文也和IBM一样在SOA上具有了更深层次架构上的实力。

       这样看来,甲骨文收购BEA似乎一箭双雕,如何应对收购后的甲骨文,无疑给SAP和IBM的决策层们出了一道难题。

 

     2010: Oracle收购SUN

 

     高调宣布收购完成,剑指IBM。在Oracle主页上可以醒目地看到Larry Ellison对IBM说的一句话,大意是Oracle未来将在硬件领域和IBM进行竞争。通过这次对Sun的收购,Oracle成功地将产品线拓展至硬件领域:处理器、存储设备、服务器,再加上Solaris操作系统,可以说Oracle获得了完整的计算机硬件产品平台。这将成为公司未来的另一主要业绩增长点。借助Sun硬件平台,拓展Oracle软件产品销路。在Oracle宣布要对Sun进行收购之时,市场上就有猜测,认为Oracle只对Sun的MySQL产品有企图。但Oracle方面表示,未来将加大对Sun现有软、硬件产品的投资力度和研发投入,这包括SPARC、Solaris、JAVA、MySQL。我们认为Oracle借助Sun现有的硬件平台,能够更好地推广自己的数据库、中间件等产品。Sun业务目前的窘境恐需较长时间才能扭转。Sun被收购的主要原因是近两年业务拓展不利。服务器的市场被IBM抢占不少,Java IDE的收费计划也被IBM的Eclipse免费战略打乱,Solaris开源战略进入太慢。

分享到:
评论

相关推荐

    java十大事件回顾—经典的java评论

    ### Java十大事件回顾—经典Java评论 #### Java5.0:革新与自动化 在Java的发展历程中,2004年发布的Java5.0(代号“Tiger”)被视为一次重大变革,不仅因为它是史上改动幅度最大的版本,更因为它在简化开发流程、...

    Java相关的四十个名字和十大事件

    二、Java十大事件 1. 1995年发布Java:Java在Sun Microsystems的Worldwide Developers Conference上首次公开亮相,标志着其正式进入公众视野。 2. Java Community Process(JCP)成立:1998年,JCP的成立让Java...

    JAVA事件处理指南

    10. **键盘和鼠标监听**:除了基本的按钮点击,Java还支持键盘和鼠标事件。例如,`KeyListener`用于监听键盘输入,`MouseListener`和`MouseMotionListener`用于处理鼠标操作。 总的来说,《JAVA事件处理指南》这...

    JAVA事件处理指南+源码

    10. **自定义事件和监听器** - 开发者可以创建自己的事件类和监听器接口,以适应特定应用程序的需求。 通过深入阅读"JAVA事件处理指南.pdf"并实践源码中的示例,开发者可以掌握如何在Java应用程序中有效地处理用户...

    java十大经典案例

    "Java十大经典案例"涵盖了Java的基础知识,对于初学者来说,这些案例提供了丰富的实践机会,帮助他们将理论知识转化为实际技能。以下是这十大案例中可能包含的一些核心知识点: 1. **银行账户管理系统**:这个案例...

    Java Swing 常用事件和监听器接口

    Java Swing 常用事件和监听器接口 Java Swing 是一个功能强大的图形用户界面(GUI)工具包,它提供了许多事件和监听器接口,帮助开发者更好地处理用户交互。下面是 Java Swing 中常用的事件和监听器接口。 1. ...

    Java十大经典案例

    "Java十大经典案例"由张恒汝编著,通过科学出版社发行,旨在为学习者提供丰富的实践素材,深入理解Java的强大功能。以下是这些案例中可能涵盖的一些关键知识点: 1. **银行账户管理系统**:这个案例通常会涉及到...

    java大富翁_Java游戏_大富翁Java游戏_

    【标题】"java大富翁" 是一个基于Java编程语言开发的模拟经典桌面游戏——大富翁的游戏项目。这款游戏在Java领域中展示了游戏开发的可能性,让玩家能够在计算机上体验到传统大富翁游戏的乐趣。 【描述】中的"java...

    JAVA十大经典手机游戏

    本资料集合了“JAVA十大经典手机游戏”,这些游戏不仅展现了JavaME在游戏开发中的潜力,同时也为学习Java的初学者提供了宝贵的实践案例。 【游戏开发环境】 要理解这些经典游戏的实现,首先需要搭建JavaME开发环境...

    十大事件与Java相关的四十个名字

    10. **JavaSoft**:1996年,Sun成立了JavaSoft组织,发布Java 1.0,标志着Java成为编程界的焦点。 11. **JavaOne会议**:同一年,JavaOne会议首次举行,吸引了大量开发者参与,确立了Java的重要地位。 12. **Java...

    JAVA中使用鼠标和键盘事件

    在Java编程语言中,处理鼠标和键盘事件是创建交互式应用程序的关键部分。这些事件使得用户可以通过点击、移动或输入字符来与程序进行交互。在本主题中,我们将深入探讨如何在Java Applet中使用鼠标和键盘事件。 ...

    java十大经典案例源码

    "Java十大经典案例源码"是一个集合,包含了一些对初学者极其有益的示例,它们可以帮助理解Java的核心概念并提升编程技巧。这些案例通常涵盖Java的基础语法、面向对象特性、数据结构、算法以及常见库的使用等方面。...

    钉钉对接Java demo

    10. **持续集成与部署**:如果项目较大,可能还会涉及持续集成(CI)和持续部署(CD),如Jenkins、GitLab CI/CD等,以自动化构建、测试和部署流程。 总的来说,"钉钉对接Java demo"是一个涵盖了多种技术领域的实践项目...

    java Library.java

    10. **测试**:单元测试和集成测试是保证软件质量的重要步骤,JUnit是Java中常用的测试框架,可以帮助开发者进行代码测试。 综上所述,一个Java编写的图书馆管理程序涵盖了Java语言基础、集合操作、文件I/O、GUI...

    十大事件与Java相关的四十个名字1

    【标题】:“十大事件与Java相关的四十个名字1” 【描述】:“当时的Web浏览器的出现也为Java的出现起到了很好的推动作用,通过Java和Web浏览器的结合,人们似乎看到了什么,有人甚至预言PC将在一两年内退出历史的...

    基于Java 实现的基于事件的量化回测框架.zip

    基于Java实现的基于事件的量化回测框架是这类系统的基石,它允许开发者模拟交易策略并评估其在历史数据上的表现。这样的框架通常包含多个关键组件和概念,我们将详细探讨这些内容。 1. **事件驱动编程**:事件驱动...

    Java Desktop_java_javaDesktop_desktop_

    1. **事件处理**:Java提供了事件驱动的编程模型,理解和使用ActionListener、MouseListener等接口是创建交互式界面的关键。 2. **布局管理器**:如FlowLayout、BorderLayout、GridLayout和CardLayout等,用于控制...

Global site tag (gtag.js) - Google Analytics