platform 和 api 这两个词到底是什么意思?

2023-12-28

我买了一本“学习java SE 6平台”的书。我想知道平台这个词的真正含义是什么。因为它不只是我可以使用的一堆类。 Netbeans 中 Libraries 下的 JDK 1.6 节点。

什么是API?这和平台不是一回事吗?但是库不是同样的意思吗……一堆带有一些超类的类等等?


术语“平台”用于表示在特定上下文中被视为给定的软件、服务和资源的任何集合,因此它们可以用作应用程序软件的构建块(或在其之上构建更高级别的平台)那 - 在另一种情况下被视为平台的东西)

API是应用程序编程接口的缩写。这通常意味着应用程序(您正在编写的程序)可以使用调用约定(函数签名等)来细读库或平台内的功能的集合。

API 与库不同 - 术语“接口”表示它仅指定您可以调用的内容及其行为方式。实现接口的实际库可以自行决定如何提供指定的功能。

API 的一个很好的例子是 JDBC API - 这是 java 程序与数据库通信的标准方式。每个数据库供应商都有自己的协议用于连接到数据库、将变量等绑定到数据库命令,但 JDBC API 抽象了所有这些并定义了一个共同点,允许所有 java 程序使用同一组函数进行通信 - 理想情况下- 任何数据库。数据库供应商的工作是实际提供驱动程序,即实现一个符合 API 的库,并知道它如何为特定数据库系统完成其任务。因此,在这种情况下,您有许多驱动程序库(每个供应商都有自己的,有时是多个驱动程序库),但它们都通过 API 指定的同一组函数、类等来提供功能(在本例中为 JDBC API - 请参阅http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html

有时,API 的范围如此广泛,以至于它被视为一个平台,但术语“平台”更通用,平台不一定是 API。例如,标准 UNIX 实用程序(如 ls、grep、cd 等)的集合可以被视为一个平台,但与其说是一个 API,不如说是一个 API。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

platform 和 api 这两个词到底是什么意思? 的相关文章

  • 如何让 BlazeDS 忽略属性?

    我有一个 java 类 它有一个带有 getter 和 setter 的字段 以及第二对 getter 和 setter 它们以另一种方式访问 该字段 public class NullAbleId private static final
  • Junit:如何测试从属性文件读取属性的方法

    嗨 我有课ReadProperty其中有一个方法ReadPropertyFile返回类型的Myclass从属性文件读取参数值并返回Myclass目的 我需要帮助来测试ReadPropertyFile方法与JUnit 如果可能的话使用模拟文件
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url

随机推荐

  • 为什么会打印 12 次?

    我正在学习Perl的多线程 我的代码 use warnings use threads use threads shared howmany 10 threads 5 to int howmany threads for 0 threads
  • 权限被拒绝 - Sparklyr 中的 \tmp\hive

    我正在尝试使用将 R 数据帧复制到 Spark 2 0 1copy to功能但它说 HDFS 上的根暂存目录 tmp hive 应该是可写的 当前权限为 rw rw rw 我执行了执行程序更改权限 但我仍然得到相同的权限异常 HADOOP
  • Gradle - 如何排除 /src/test/java 上的 Findbug

    有没有办法排除 src test java 下的类上的 Findbugs 执行 我尝试了以下方法 但似乎不起作用 classes classes filter it path contains classes test org Sure 文
  • 如何将阿拉伯语设置为区域设置

    我正在研究文本到语音的转换 为此 我从网上找到了这个例子 在此他们将英语设置为setLanguage Locale US 所以 现在我尝试设置阿拉伯语而不是英语 但是当我将语言更改为阿拉伯语时 我失败了 任何人都可以帮我将语言更改为阿拉伯语
  • Rails:避免 Factory Girl 中的重复错误...我做错了吗?

    假设我有一个模型user 它有唯一性约束email field 如果我打电话Factory user 一旦一切顺利 但如果我第二次调用它 它将失败并出现 条目已存在 错误 我目前正在使用一个简单的帮助程序在创建工厂之前搜索数据库中的现有条目
  • 简单的 IIS URL 重写

    简单的问题 我需要将特定子域 URL 上的所有 http 80 和 https 443 请求重定向到备用 SSL 端口 https 444 例子 http sub corp com http sub corp com gt https su
  • SQL Server查询优化?

    我有以下查询 SELECT tl d FROM TrackerLocations AS tl inner join Trackers t on tl TrackerId t TrackerId inner join Devices d on
  • Webkit边框半径结合css3 translate3D出血

    我在基于 Webkit 的浏览器上遇到一个问题 如果我向 div 添加边框半径 然后将 moz translate3d 应用于内部的 ul 这是因为在原始示例中我使用的是 flexslider 幻灯片 边框radius 不适用并且会穿过容器
  • 在 _Layout.cshtml 中将 Layout 设置为 null

    您是否有理由希望在 Layout cshtml 中将 Layout 属性设置为 null 比如像这样 在渲染body view之前 section Layout null RenderBody section 对我来说这似乎很荒谬 删除行设
  • 扩展 Angular 2 ngModel 指令以使用可观察量

    角2ngModel指令适用于变量和函数 例如
  • 类型约束“XYZ”已创建

    我想用一个Moose Util TypeConstraints https metacpan org pod Moose Util TypeConstraints在我的应用程序中 所以我在我的main pl main pl use Moos
  • 使用Java锁定屏幕

    基本上我只需要创建一个应用程序 具有某种用户访问权限 其第一个屏幕是一个全屏窗口 如果不输入有效的用户名和密码 则无法最小化或关闭该窗口 类似于 Windows 屏幕保护程序 能做到吗 我应该查看哪些图书馆 这就是我所需要的 如果我的问题不
  • 将数值列表映射到颜色

    我有一个数值列表 如果需要的话我可以标准化这些值 我需要将此列表转换为颜色列表 在 HSL RGB 或任何其他颜色模型中 我可以稍后进行转换 对于任何给定值 颜色每次都必须相同 两个给定数值越不同 对应值的对比度就应该越大 所有使用的颜色必
  • JavaFX:控制器可以是抽象类吗?

    我已经研究这部分代码一天了 只是无法弄清楚为什么它总是生成错误 我有一个控制器和 FXML 他们工作得很好 然后我想到我想通过抽象 updateSelect 函数重用这个特定的控制器 因此 我将控制器更改为抽象 代码编译得很好 直到我尝试运
  • ARC 子类上的超级释放

    在 ARC 中我知道你不会打电话 super dealloc 在任何覆盖 dealloc 所以通常我会删除其中的观察者和计时器而不这样做 但是 如果我要对我制作的发布观察信息的视图进行子类化 dealloc不打电话 super deallo
  • 实体框架继承:按类型排序/分组?

    实体框架 以及我使用它的 RIA 服务 很好地支持继承 数据库映射可以是单表或多表 并且在第一种情况下 数据库表包括包含类型指示符的指示符列 显然 这个指示符在模型中是不可见的 尽管人们希望使用它来进行排序和分组 如果这是我想要做的 我是否
  • 强制 JFrame 在 setResizable(false) 之后不调整大小。命令不起作用

    我有一个简单的 Atari 突破程序 长话短说 我的一个功能是允许用户调整窗口大小几秒钟 然后再次使窗口不可调整大小 一切正常 窗口从不可调整大小 到可调整大小几秒钟 应该发生的情况是 几秒钟后 窗口应该停止接受用于调整窗口大小的输入 即
  • 使用 Google App Engine 在 Android 中推送通知

    我目前正在开发一个应用程序 用户可以在其中创建存储在服务器上的帖子 当另一个用户通过单击按钮对帖子表现出兴趣时 我想使用推送通知来通知帖子的作者 我已经使用 Google App Engine 的云端点设置了数据存储 无论如何 我可以使用这
  • Android 监听来自服务器套接字的消息

    我正在尝试创建一个通过套接字与本地服务器通信的 Android 应用程序 通信使用 JSON 以字符串形式传递简单的命令和数据 客户端应不断侦听来自服务器的传入消息 并在收到新数据时更新用户界面 所以我创建了一个网络服务 它是一个在后台运行
  • platform 和 api 这两个词到底是什么意思?

    我买了一本 学习java SE 6平台 的书 我想知道平台这个词的真正含义是什么 因为它不只是我可以使用的一堆类 Netbeans 中 Libraries 下的 JDK 1 6 节点 什么是API 这和平台不是一回事吗 但是库不是同样的意思