很多移动设备都带有JVM及其操作系统(例如诺基亚,索尼ericcson)。所有设备都有相同的JVM吗? Sun微系统拥有所有JVM吗?有没有设备制造商支付太阳微系统?假设如果我想创建自己的OWN JVM,我必须支付sun微系统并获得SUN(ORACLE)的许可?如果不是这样,太阳会如何获利?
答案 0 :(得分:7)
Sun当然拥有Sun JVM,Hotspot的版权,但是这个实现现在作为OpenJDK的一部分在GPLv2下向公众许可。此外,Upul是正确的,任何公司都可以实现JVM Specification,许多公司都可以。众所周知的实施包括Harmony,Jikes和Kaffe。所有这些都符合规范的不同级别。大多数设备制造商仍直接从Sun授权Hotspot的专有版本。
Sun has restricted Java Compatibility Kit,一组用于证明合规性的测试。但是,即使这样也是loosened slightly。现在,基于OpenJDK的其他实现可以更轻松地获得JCK许可证。
但是,这不适用于像Harmony这样的独立自由软件实施。这是部分为什么Android选择不尝试完全实现Java,而是做出独立的技术决策,导致他们使用Dalvik和单独的API。
Sun还持有专利权,但他们没有公开宣称这些专利。答案 1 :(得分:4)
Sun发布了JVM规范。 所以其他公司可以编写自己的JVM
答案 2 :(得分:4)
所有设备都有相同的JVM吗?
不,绝对不是。在移动Java世界中,碎片很糟糕。部分碎片来自所有不同的(以及不同的错误,可悲的)虚拟机。
是sun micro拥有的所有JVM 系统
不,当然不是。
有几家公司为手机编写Java VM。 Esmertec曾经是(可能仍然是)其中之一。
太阳如何获利?
这是Sun在甲骨文之前的生活中遇到的最棘手问题之一:他们发明了许多伟大的技术(包括硬件和软件),但从未真正从中获得足够的利润。 Java是Sun重大成功和Sun重大失败的主要例子。
例如,Sun有一些硬件和操作系统都支持CPU热插拔的机器几十年前,类似的东西在“x86”世界中起作用(它仍然没有) 。这只是我想到的一个例子。 太阳是由天才和天才制造的,但是当它们出售和销售他们提出的惊人的东西时,它们显然接近绝对零度。(我可以想到至少有一家软件公司完全相反:令人惊讶的营销,但蹩脚,不安全,臃肿,表现不佳的软件,有趣的是每个人都知道我在谈论哪家公司;)