高级和低级 Java API 有啥区别?

Posted

技术标签:

【中文标题】高级和低级 Java API 有啥区别?【英文标题】:What is the difference between a high-level and low-level Java API?高级和低级 Java API 有什么区别? 【发布时间】:2015-09-03 00:11:53 【问题描述】:

我正在从 here 了解 Google App Engine 和 Googles 数据存储,他们一直在提到“低级 Java API”。

究竟什么是“低级 Java API”,它与“高级 Java API”有何不同(我假设它也必须存在,因为存在低级 API?”

Google 搜索该问题的结果不佳。

【问题讨论】:

@user3360241 你读过我的问题吗?我在问低级和高级 api 之间的区别是什么(或者它是否存在) 它写在文档中。仅供参考,我没有对你投反对票,因为这个问题本身还不错。 【参考方案1】:

简而言之,低级应用程序编程接口 (API) 通常更详细,因此您可以更详细地控制其中的功能,以了解如何使用和实现它们,同时高级 API 通常更通用且相对简单,并且在一个命令语句中提供比低级 API 更多的功能。高级接口相对更容易学习和使用它们来实现模型。它们允许您在更短的时间内编写代码,并且更少地参与细节。 希望它有助于了解总体思路。

【讨论】:

【参考方案2】:

让我们先看看文档是怎么说的 -

Java 数据存储区 SDK 为数据存储区提供受支持的低级 API。在 Datastore 的文档中,为了简单起见,我们使用这个低级 API。

但是,为了您的方便,Java SDK 还包括 Java 数据对象 (JDO) 和 Java Persistence API (JPA) 接口的第三方实现。请注意,提供这些只是为了您的方便;谷歌不支持它们。 此外,Java SDK 还包括其他第三方框架,旨在简化 Java 开发人员的 Datastore 使用。

当有人提到低级和高级时,他们通常会谈论抽象级别。

抽象

是一种管理计算机系统复杂性的技术。它的工作原理是建立一个人与系统交互的复杂程度,将更复杂的细节抑制在当前级别以下。程序员使用理想化的接口(通常定义良好)并可以添加其他级别的功能,否则这些功能将过于复杂而无法处理。

举个直接的例子,C 语言为您提供的计算机资源 API 比 Java 低。在 C 语言中,程序员可以随心所欲地实时进行垃圾收集,但是大多数程序员很可能会因此而自取其辱。

换句话说,谷歌为你提供了正式的低级 API,它功能强大但使用起来并不简单。有第三方解决方案将 google 的低级 API 抽象为高级 API,并使其更易于使用 API。

【讨论】:

啊,所以高级 API 更容易使用(即对用户/计算机程序员来说更简单)。低级 API 是一种非常接近金属的 API,可以说更冗长或更复杂。由于某种原因,我把它倒在了脑海中。

以上是关于高级和低级 Java API 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

dx和 opengl 有啥区别?

Yii 2 高级应用和基础有啥区别?

C语言和其他高级语言的最大的区别是啥

C语言和其他高级语言有啥异同?

kakfa从入门到放弃: 分区和副本机制高级与低级API kafka-eagle原理数据清理限速

kakfa从入门到放弃: 分区和副本机制高级与低级API kafka-eagle原理数据清理限速