gpt4 book ai didi

java - 为什么 Android 的 Java 源代码实现与相同类的常规 Java 实现不同?

转载 作者:行者123 更新时间:2023-12-04 12:44:36 26 4
gpt4 key购买 nike

我决定开始为 Android 编写代码。在决定之前,我花了很多时间来提高我的 Java 技能,希望它也能帮助我进行 Android 开发。

今天,打开一些类(例如HashMap)后,我看到Android实现与“常规”实现不同。

有人可以向我解释为什么与 GUI 和触摸无关的类需要在 Android 中以不同方式实现吗?为什么不使用已经存在的同一个类?

我搜索了一个答案,但没有找到。如果这个问题已经被问过,我很高兴得到它的链接并锁定帖子。

最佳答案

这一切都与版权、许可和大公司试图保护他们的“地盘”有关。

背景是 Java 最初是由 Sun Microsystems 开发的专有代码库。提供给开发人员的 Java 类库源代码包含在专有许可证中。

2007 年,OpenJDK 6 作为开源发布。 Google 研究了 OpenJDK,还与 Sun 就许可问题进行了谈判,但他们认为最好根据已发布的 Java 语言规范和 Java SE javadocs 进行无尘室的重新实现。除此之外,这让谷歌能够重新审视用户界面框架,以及对移动平台至关重要的其他 API。最终结果大大优于 Sun 的 Java ME 产品。

但是 Sun 和 Google 之间的关系仍然很融洽。

然后甲骨文与 Sun 合并,企业文化发生了变化。甲骨文和谷歌之间发生了一场大官司,这使得甲骨文和谷歌在 Java 生态系统中的任何重大合作机会都破灭了。

有关更多背景信息,请阅读以下 Wikipedia 文章:

  • Java Programming Language: History .
  • Android: History .
  • Oracle America, Inc. v. Google, Inc.
  • 关于java - 为什么 Android 的 Java 源代码实现与相同类的常规 Java 实现不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58433647/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com