阅读更多

GNOME和Mono项目发起人Miguel De Icaza在博客上分析了甲骨文起诉Google侵犯Java专利的前因后果,而Java之父James Gosling也证实,在Sun和甲骨文举行合并商讨会议期间曾讨论了Sun和Google之间的专利状况,当时甲骨文的律师听后“眼睛闪闪发亮”。

 

De Icaza指出,Sun创造了Java,但却很难直接从Java上获利,它主要的收入来源是Java2ME(Java Micro Edition)许可。Java2ME是一项许可产品,不同于采用GPL授权的Java2SE/EE(OpenJDK)。Google和Sun曾试图达成 一项Java2ME许可协议,Sun希望能成为Google和其它OEM设备制造商的中间人,但Google希望Android能成为对所有人免费的移动 操作系统,无需支付专利许可费。双方未能达成协议,结果是Google创造了Dalvik虚拟机,绕过Java2ME许可,并且有意让Dalvik不兼容 现有的Java虚拟机指令,它编写了一个翻译器将Java代码翻译到Dalvik代码。Dalvik采用的是类BSD许可证授权。

 

此事对Sun来说是双重 打击,首先它失去了达成一个大的许可协议的机会,其次是Dalvik可能威胁到Java虚拟机在嵌入式市场的统治地位。

 

2007年末Google宣布了 Android和Open Handset Alliance联盟。一年之后Sun的股票崩盘。甲骨文指控Google侵犯的Java专利围绕的是Java2ME实现许可

来自: solidot
9
1
评论 共 3 条 请登录后发表评论
3 楼 changyy_1988 2010-08-17 11:46
2 楼 mdf1987 2010-08-17 09:10
靠。。。google为了自己盈利不惜牺牲JAVA。。。资本主义果然牛逼
1 楼 swordice 2010-08-16 16:17
果然是Dalvik虚拟机惹的祸

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • GRASP (职责分配原则)

    要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效、灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈,那么类和对象是从那冒出来的呢?这时就需要比23种设计模式更重要更经典的GRASP模式登场了,嘿嘿,原来这才是老大! GRASP(General Responsibility Assignment Software Patter...

  • 面向对象设计步骤二-------指定属性的类型和可见性,分配职责(GRASP),消息驱动,设计模式进行局部设计

    增加遗漏的属性,指定属性的类型和可见性: 分配职责,定义执行每个职责的方法: 专家模式: 创建者模式: 低耦合:。 高内聚: 多态: 纯虚构: 中介者模式: 不要和陌生人讲话: 对消息驱动的系统,明确消息传递方式: 利用设计模式进行局部设计: 在面向对象设计的过程中,应该尽量使用成熟的设计模式来优化模型的局部设计: 使用外观模式为适配器子系统添加一个统一的接口; 通过实施观察者模式,是适配器子系统向框架层发送消息时,无需依赖于框架层的具体实现; 对于系统中存在的只有唯一的对象实例的类,使用单件模式;

  • GRASP----(职责分配原则)

    要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效、灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈,那么类和对象是从那冒出来的呢?这时就需要比23种设计模式更重要更经典的GRASP模式登场了。GRASP(General Responsibility Assignment Software Patterns),中文名称为“通用职责

  • JAVA编程的职责分离思想

    1.什么是职责分离思想? 首先要知道java是面向对象的编程思想,在编程时没必要考虑每个细小的步骤怎么书写,每行代码怎么书写。我们只要知道需要调用哪个类的相关方法或属性能帮我们完成这个功能就好了。 比如我们要得到三个数的最大值。 方法一: public static void main(String[] args) { int a = 31,b = 41,c = 78,d = 64; int max = a ; max = max < b ? b : max; max = max < c ? c

  • 职责分配模式

    <br />职责分配模式分析准备<br /> <br />问题:<br />在面向对象的系统中是由多个对象组成的,这些对象必需能够向其它对象发送消息或操作,这就是对象的交互和职责分配。不过由于对象的交互和职责的分配没有固定的标准,所以它的设计质量就有很大的可变性,差的系统设计会导致系统和构件脆弱和难以维护,重用和扩展。为了使你的系统设计的完美,必需有一个设计原则用于建立交互图和职责的分配,这就是GRASP(General Responsibility Assignment Software Pattern)

  • 通用职责分配软件模式(GRASP)介绍和个人理解

    General responsibility assignment software patterns 简称GRASP 翻译是通用职责分配软件模式,不同于GOF的23中设计模式那么具体到场景和解决方案。它是通用概括讲解如何设计类和对象之间的关系。和如何给类和对象分配对应的职责。其实面向对象最难、最核心和最有争议的的点就是如何设计类和对象的职责,类和对象之间的怎么联系。 其中一共是9个设计原则,控

  • GRASP通用职责分配软件模式

    1.  概述 它的核心思想是“职责分配(Responsibility Assignment)”。GRASP提出了几个基本原则,用来解决面向对象设计的一些问题。 Craig Larman在《Applying UML and Patterns》一书中提出了GRASP设计模式的概念。作者称其为设计模式,其实,更好的理解应该为设计原则。因为,与GoF等设计模式不同的是,GoF等设计模式是针对特定问题而

  • 通用职责分配模式的其中的3模式

    通用职责分配模式(GRASP)一共有9个模式,下面是其中的3个模式: [b]创建者模式:[/b] 创建对象是面向对象系统中最常见的活动之一,因此应该有一些通用的原则以用于创建职责的分配,如果分配的好,设计就能够支持低耦合,提高清晰度,封装性和可复用性。 如果下列条件之一为真,将创建类A的实例的职责分配给类B: a.B包含或组成聚集A b.B记录A c.B直接使用A d.B具有A的初始...

  • GRASP模式

    GRASP,全称为General Responsibility Assignment Software Pattern,即通用职责分配软件模式,它由《UML和模式应用》(Applying UML and Patterns)一书作者Craig Larman提出。与其将它们称之为设计模式,不如称之为设计原则,因为它是站在面向对象设计的角度,告诉我们怎样设计问题空间中的类与分配它们的行为职责,以及明确类

  • 分布式系统开发实战:微服务架构,命令查询职责分离

    了解CQRS 在传统的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能问题。虽然在数据库层面可以做一些读写分离的设计,但在业务上如果在读写方面混合在一起的话,仍然会出现一些问题。 命令查询职责分离(Command Query Responsibility Segregation,CQRS)旨在从业务上分离命令和查询的行为。从而使得逻辑更加清晰,便于对不同部分进行

  • Java设计模式之设计原则-单一职责原则 (SRP)

    ????文章示例代码???? 附链 你也可以在这些平台阅读本文: 语雀 个人博客 定义 就一个类而言,有且仅有一个引起它变更的原因。 一个类/接口/方法只负责一项职责。 如何理解 假设有个 A 类负责职责1和职责2两个职责。 当需求发生变更时,比方说职责1相关的功能需要发生改变,那我们在修改 A 这个类的时候就有可能会导致原本运行正常的职责2发生故障。 也就是说对于这个 A 类来说,当职责1和职责2的...

  • 项目开发之职责分离

    职责分离分析 项目开发的关键问题是,减少整体风险,让整个项目得以完成。清晰的职责分离带来的是清晰的模块划分,进而可以组合各个模块,将风险降低到各个模块中去。没有良好的职责分离,一个项目将会在出现问题的是让人不知所措,风险将会是整体的风险。 上图对比职责分离与非职责分离的两种结构。通过图形可以直观地得到以下对比:   职责分离 非职责分离 备注 系统

  • 设计模式 ( 十二 ) 职责链模式(Chain of Responsibility)(对象行为

    设计模式(十二)职责链模式(Chain of Responsibility)(对象行为型) 1.概述 你去政府部门求人办事过吗?有时候你会遇到过官员踢球推责,你的问题在我这里能解决就解决,不能解决就推卸给另外个一个部门(对象)。至于到底谁来解决这个问题呢?政府部门就是为了可以避免屁民的请求与官员之间耦合在一起,让多个(部门)对象都有可能接收请求,将这些(部门)对象连接成一条链,并...

  • 通用职责分配软件模式

      文/李智慧 相对于GoF设计模式,通用职责分配软件模式GRASP更像一种设计思想或原则。GRASP的9个模式企图解决的问题只有一个:怎样将建模(静态模型),也就是怎样设计我们的对象,一个系统应该有多少个对象,每个对象应该包括哪些功能,不应该包括哪些功能,对象之间应该建立怎样的关系。通用职责分配软件模式,顾名思义,一个对象应该实现哪些功能由其承担的职责决定,即职责驱动对象设计。 

  • JAVA单一职责原则

    单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。       单一职责原则是最简单的面对对象设计原则,它用于控制类的粒度大小。 在软件系统中,一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些职责耦合在

  • Java单一职责原则

    单一职责原则(SRP:Single responsibility principle)又称单一功能原 则,面向对象五个基本原则(SOLID: SRP 单一责任原则、OCP 开放封闭原 则、LSP 里氏替换原则、DIP 依赖倒置原则、ISP 接口分离原则)之一。它规 定一个类应该只有一个发生变化的原因。该原则由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一...

  • 软件工程笔记:通用职责分配模式(grasp)

    通用职责分配模式(grasp) — 笔记整理自 北京理工大学 计算机学院 什么是GRASP? General Responsibility Assignment Software Patterns(通用职责分配软件模式) GRASP包括4个基本模式和5个扩展模式,描述了对象设计和职责分配的基本原则 职责是一个类的契约或义务 “做”型职责是通过类的方法来实现的 “知道”型职责是通过类内部封装的属性以及类间关系来 体现 GRASP是如何设计一个面向对象系统的基础 GRASP的9个模式 专家 :应该将职责分

  • GRASP设计原则(职责分配原则)

    GRASP设计原则(职责分配原则) GRASP(General responsibility assignment software Principle)设计原则是设计模式的基础,在GOF的23中设计模式中处处可以体现其中的一个或多个设计原则,所以在掌握设计模式之前需要对GRASP原则有一定的了解,本节我在这里总结一下grasp原则。 本文共分为以下几个内容: GRASP的九个原

Global site tag (gtag.js) - Google Analytics