很多移动设备都带有JVM的操作系统(例如诺基亚,索尼爱立信).will所有的设备都有相同的JVM?是否所有JVM都归sun微系统所有?设备制造商有没有付钱给太阳微系统?假设如果我想创建自己的JVM,我必须向sun微系统付费并获得SUN(ORACLE)的许可?如果这不是真的,sun是如何获得利润的?
发布于 2010-08-03 17:54:58
是否所有设备都有相同的JVM?
不,绝对不是。在移动Java世界中,碎片化是可怕的。这种碎片化的一部分来自所有不同的(不幸的是,不同的bugged )VM。
所有的JVM都属于sun微系统吗?
不,当然不是。
有几家公司为手机编写Java VM。Esmertec曾经是(可能现在仍然是)其中之一。
sun是如何获得利润的?
这是Sun在甲骨文诞生之前面临的最大问题之一:他们发明了这么多伟大的技术(硬件和软件),但从未真正从这些技术中获得足够的利润。Java既是Sun成功的主要例子,也是Sun失败的主要例子。
例如,Sun在硬件和操作系统都支持CPU热插拔的机器上,在类似的东西在"x86“世界中工作(它仍然不能)之前几十年。这只是我正在考虑的一个例子。
Sun是由天才创造的,有天才,但当谈到营销和销售他们想出的令人惊叹的东西时,他们显然接近绝对零度。
(我至少能想到一家完全相反的软件公司:令人惊叹的营销,但糟糕、不安全、臃肿、表现不佳的软件,有趣的是,每个人都知道我说的是哪一家公司;)
发布于 2010-08-03 12:49:16
Sun当然拥有Sun和Hotspot的版权,但这个实现现在是作为OpenJDK的一部分,在GPLv2下授权给公众的。此外,Upul是正确的,任何公司都可以实现JVM Specification,而且很多公司已经实现了。著名的实现包括Harmony、Jikes和Kaffe。所有这些都具有不同程度的规范遵从性。大多数设备制造商仍然直接从Sun获得Hotspot的专有版本许可。
Sun has restricted Java兼容性工具包,这是一组用来证明兼容性的测试。然而,即使是这样,也一直是loosened slightly。现在,其他基于OpenJDK的实现可以更容易地获得JCK许可证。
然而,这并不适用于像Harmony这样的独立自由软件实现。这就是为什么Android选择不尝试完全实现Java,而是做出独立的技术决定,导致他们选择Dalvik和一个单独的API。
Sun也拥有专利,但他们没有公开声明这些专利。
发布于 2010-08-03 12:26:26
Sun已经发布了JVM规范。因此其他公司可以编写自己的JVM
https://stackoverflow.com/questions/3393570
复制相似问题