栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

“为什么要使用Apache Harmony”或“如何在Android上使用Java 8”

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

“为什么要使用Apache Harmony”或“如何在Android上使用Java 8”

他们为什么使用Apache Harmony?

因为Sun拒绝按照可接受的条款向Google提供Sun(现在的Oracle)Java许可。Google和Sun进行了谈判,但最终他们放弃了这笔交易。

Nitpick:实际上,Android库不是Apache
Harmony。它们最初是基于Harmony的,但是两个代码库却有所不同。此外,2011年11月,Apache Harmony项目正式“退休”。

他们为什么不能采用Java的较新版本?

首先,Android不运行Java(tm)。它运行一种语言,是相同的与Java类库在功能上相当于一个 子集 Java类库(+
Android的特定的库)的,在虚拟机上用 不同的 指令集。

从技术角度来看,他们可以……但是只有在为Android平台实现Java 7和Java 8语言功能,库功能等方面付出大量工作的情况下。

更新 -从Android 19(KitKat)和Eclipse ADT 22.6开始,Android现在确实支持Java
7语言扩展。参见http://tools.android.com/recent/eclipseadt226preview

如果他们不想要Oracle的Java,为什么不能使用OpenJDK的子集?

我认为切换到OpenJDK不会改变任何事情。Oracle Java和OpenJDK的相同率是99.9%。

无论如何,可能会有许可和相关的法律问题。(要对此有所了解,请阅读有关Oracle与Google的诉讼……这很有吸引力。)

Google更有可能没有足够的商业价值来抵消改变所要付出的(巨大)努力,以及对Android生态系统的破坏……该生态系统已经遭受了碎片化问题的困扰。

您是否知道有计划更新使用的Java版本?

不,我不知道。这并不意味着没有计划,但是如果有计划,它们就不会公开。

您知道在当前的Android系统上使用Java 8类的任何方式吗?

您可以移植它们。或者至少,您可以 尝试 移植它们。(某些Java API与JVM的本机代码端有着密切的关系……这可能导致移植出现问题。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469900.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号