微软和Sun针对Java的世纪之战
1996年9月的某一天,微软浏览器部门的主管艾达姆·波茨瓦斯几经考量之后,提笔给时任微软CEO的比尔·盖茨写了一邮件,他非常恳切地提醒比尔·盖茨注意一个正在形成的威胁。他写到:”必须意识到Java不仅仅是一种语言,如果它只是一种语言,我们愿意并且能够容易地为它建立最佳的表现形式,事情可以圆满解决了。但是事实上,Java绝不仅仅是一种语言,它是COM的替代者!” 而COM恰恰是Windows的编程模型。而Java编程很多时候比C++编程要容易的多,更致命的是他是跨平台的。波茨瓦斯也提出了对抗Java的方法,就是悄悄地为Java提供某些扩展,使得用Java 编写的程序能够在Windows中工作得更好,但是在其它平台上却不能运行。
盖茨显然被这封信吓坏了,他第二天就回信了:”这可把我吓坏了。我不清楚微软的操作系统要为Java的客户应用程序代码提供什么样的东西,而这些东西将足够让它来取代我们的市场地位。了解这一点非常重要,是应该最优先考虑的事情。”
然后,微软推出J++语言,并推出了Visual j++集成编程工具,对Java进行了大量的修改。1997年,Sun公司以歧视使用Java软件,旨在维持其视窗操作系统的垄断地位,违反反垄断法为由起诉微软,2001年1月,SUN胜诉,根据双方达成的和解协议,微软不得对Windows操作系统中包含的Java语言作任何改动,并获赔2000万美元。
2001年年底,微软在推出新版操作系统Windows XP和新版IE时,故意不安装Java软件,并且推出自己仿造Java创造的语言C#和.net框架。2002年的3月8日,SUN公司向美国加州地区法庭提出起诉,称此举造成它直接经济损失高达10亿美元。2002年6月,微软干脆称从2004年起,因为安全原因微软的Windows操作系统将不再支持Java语言。
2002年12月23日,法院判决裁定微软公司必须在其Windows操作系统和IE中发布与其竞争的 Java编程语言。摩兹法官的意见是:在微软的垄断下,Java拥有一个并不健全的市场,比如说,大部分PC上所安装的Java软件要么就是旧版本,要么就是仅适用于Windows的版本,这使得其它软件开发者对Java平台产生了厌恶的情绪,这些都是因为微软反竞争行为的结果,看来微软已经利用Windows的垄断地位来破坏SUN对Java的销售渠道。树立市场正义的唯一方法是纠正微软的所作所为,”阻止微软从它过去的错误中获得将来的利益!”
2004年4月2日,两者达成和解协议微软将向Sun赔付20亿美元以消解旧怨,他们开始共同应对来自IBM和Linux的挑战。
微软和Sun针对Java的世纪之战的更多相关文章
- 微软和Google的盈利模式对比分析
一: 微软和Google是世界上最成功科技巨头之一,但他们之间却有着不同的产品和业务,二者的盈利方式也各有不同,本文将分析和探讨的二者盈利模式的异同. 微软的盈利模式 在1975年由大学肄业的Bill ...
- Spring Boot 针对 Java 开发人员的安装指南
Spring Boot 可以使用经典的开发工具或者使用安装的命令行工具.不管使用何种方式,你都需要确定你的 Java 版本为 Java SDK v1.8 或者更高的版本.在你开始安装之前,你需要确定你 ...
- Procedure for installing and setting Sun JDK Java on Default Amazon Linux AMI
# First verify the version of Java being used is not SunJSK. java -version # Get the latest Sun Ja ...
- 2017.10.28 针对Java Web应用中错误异常处理方法的运用
针对Java Web应用中错误异常处理方法的运用 在javaweb中其异常都需要对Checked Exception之下的Exception进行继承,并且有选择地对发生的错误和异常进行处理.Java同 ...
- linkerd——针对java的为微服务提供可靠性的proxy,服务发现重试LB等
Buoyant是一家云服务公司,宣布了Linkerd(发音为“linker-DEE”)的一周年纪念日,这是一个基于微服务的原生云应用程序的开源“服务网格”项目.诚如公告所述: 在20世纪90年代,TC ...
- path 与classpath针对JAVA来说
Path 路径,是java编译时需要调用的程序(如java,javac等)所在的地方CLASSPATH 类的路径,在编译运行java程序时,如果有调用到其他类的时候,在classpath中寻找需要的类 ...
- Java、javax、org、sun、Java.util等常用包的区别、详解、实例
Java.javax.org.sun包都是jdk提供的类包,且都是在rt.jar中.rt.jar是JAVA基础类库(java核心框架中很重要的包),包含lang在内的大部分功能,而且rt.jar默认就 ...
- 捷微jeewx , 免费开源(java)微信公众账号管家系统发布
JeeWx, 微信管家平台,简称"捷微". 捷微是一款免费开源的JAVA微信公众账号开发平台. 平台介绍: 一.捷微Jeewx简介 Jeewx是一个开源.高效.敏捷的微信开发平台 ...
- 一次测试岗位针对Java和接口的面试题
1.post和get的区别? 1. get是从服务器上获取数据,post是向服务器传送数据.2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在UR ...
随机推荐
- elk之logstash
环境: centos7 jdk8 1.创建Logstash源 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch touch ...
- 【python】pandas display选项
import pandas as pd 1.pd.set_option('expand_frame_repr', False) True就是可以换行显示.设置成False的时候不允许换行 2.pd.s ...
- python scrapy解码方法和时间格式转换
import scrapy from datetime import datetime class BianSpider(scrapy.Spider): name = 'bian' # allowed ...
- python day09作业答案
2. def lst(input): lst2=[] count=0 for i in range(0,len(input)): if i %2!=0: lst2.append(input[i]) r ...
- [转]使用keepalived搭建主备切换环境
使用keepalived搭建主备切换环境 时间 2016-09-15 08:00:00 cpper 原文 http://cpper.info/2016/09/15/keepalived-for-ma ...
- Oracle数据库select语句
select * from EMp--all data in EMP table select * from EMP where ename in('SMITH')--the data where e ...
- 【leetcode】58-LengthofLastWord
problem Length of Last Word 只有一个字符的情况: 最后一个word至字符串末尾之间有多个空格的情况: code1 class Solution { public: int ...
- Java中的面向对象I
一.首先来了解一下Java面向对象的五个程序设计方式: 1.万物皆对象 Java以类为基本模块来将问题抽象化,在计算机中解决实际生活中的问题 2.程序为对象的集合,程序中的类通过互发消息来告知彼此要做 ...
- POJ3070 Fibonacci(矩阵快速幂加速递推)【模板题】
题目链接:传送门 题目大意: 求斐波那契数列第n项F(n). (F(0) = 0, F(1) = 1, 0 ≤ n ≤ 109) 思路: 用矩阵乘法加速递推. 算法竞赛进阶指南的模板: #includ ...
- tomcat:利用tomcat部署war包格式的项目
配置jdk环境变量, 配置TOMCAT_HOME 变量, 将war包放入webapps中. 运行tomcar-bin文件夹中的startup.bat. tomcat会自动解压war包. 进入项目: