From 4b6970fd6805717fc11d301dc792c01cf319bdae Mon Sep 17 00:00:00 2001 From: wizardforcel <562826179@qq.com> Date: Wed, 3 Jun 2020 19:59:06 +0800 Subject: [PATCH] 2020-06-03 19:59:05 --- docs/misc/112.md | 24 ++++++++++++------------ docs/misc/113.md | 4 ++-- docs/misc/115.md | 39 +++++++++++++++++++++++---------------- docs/misc/159.md | 2 +- docs/misc/16.md | 2 +- docs/misc/17.md | 2 +- docs/misc/171.md | 8 ++++---- docs/misc/192.md | 4 ++-- docs/misc/197.md | 2 +- docs/misc/215.md | 2 +- docs/misc/239.md | 2 +- docs/misc/240.md | 2 +- docs/misc/270.md | 8 ++++---- docs/misc/271.md | 6 +++--- docs/misc/274.md | 2 +- docs/misc/281.md | 2 +- docs/misc/45.md | 2 +- docs/misc/46.md | 2 +- docs/misc/47.md | 2 +- docs/misc/52.md | 2 +- docs/misc/53.md | 2 +- docs/misc/54.md | 2 +- docs/misc/62.md | 2 +- docs/misc/98.md | 2 +- 24 files changed, 67 insertions(+), 60 deletions(-) diff --git a/docs/misc/112.md b/docs/misc/112.md index d091fb4..544ca09 100644 --- a/docs/misc/112.md +++ b/docs/misc/112.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/jersey/jersey-rest-client-authentication/](https://howtodoinjava.com/jersey/jersey-rest-client-authentication/) -了解如何使用 [HttpAuthenticationFeature](https://github.com/jersey/jersey/blob/master/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFeature.java) 构建**Jersey 休息客户端**,该客户端可用于访问认证/授权安全性后面的 REST API。 例如,我们将为在 [Jersey Secured REST API 教程](//howtodoinjava.com/jersey/jersey-rest-security/)中保护的服务创建 **jersey 客户端**; 并且我将扩展为 [**Jersey RESTful 客户端示例**](//howtodoinjava.com/jersey/jersey-restful-client-examples/) 创建的源代码。 +了解如何使用[`HttpAuthenticationFeature`](https://github.com/jersey/jersey/blob/master/core-client/src/main/java/org/glassfish/jersey/client/authentication/HttpAuthenticationFeature.java)构建**Jersey REST 客户端**,该客户端可用于访问认证/授权安全性后面的 REST API。 例如,我们将为在 [Jersey Secured REST API 教程](//howtodoinjava.com/jersey/jersey-rest-security/)中保护的服务创建 **jersey 客户端**; 并且我将扩展为 [**Jersey RESTful 客户端示例**](//howtodoinjava.com/jersey/jersey-restful-client-examples/)创建的源代码。 ```java Table of Contents @@ -12,14 +12,14 @@ Table of Contents 3\. Jersey REST Client Code ``` -## 1\. Jersey 客户端– HttpAuthenticationFeature +## 1\. Jersey 客户端 – `HttpAuthenticationFeature` -`HttpAuthenticationFeature`类提供 HttpBasic 和 Digest 客户端认证功能。 该功能以 4 种模式之一工作,即 BASIC,BASIC NON-PREEMPTIVE,DIGEST 和 UNIVERSAL。 让我们快速了解它们。 +`HttpAuthenticationFeature`类提供 HttpBasic 和 Digest 客户端认证功能。 该功能以 4 种模式之一工作,即`BASIC`,`BASIC NON-PREEMPTIVE`,`DIGEST`和`UNIVERSAL`。 让我们快速了解它们。 -1. **基本** –一种抢占式认证方式,即信息始终与每个 HTTP 请求一起发送。 此模式必须与 SSL / TLS 结合使用,因为密码仅以 BASE64 编码发送。 -2. **基本非优先** –一种非优先的认证方式,即仅当服务器拒绝带有 401 状态码的请求后再添加认证信息,才添加认证信息。 -3. **DIGEST** – HTTP 摘要认证。 不需要使用 SSL / TLS。 -4. **UNIVERSAL** –非抢占模式下基本认证和摘要认证的组合,即在 401 响应的情况下,将根据 WWW-Authenticate HTTP 标头中定义的请求认证使用适当的认证。 +1. **`BASIC`** – 一种抢占式认证方式,即信息始终与每个 HTTP 请求一起发送。 此模式必须与 SSL/TLS 结合使用,因为密码仅以 BASE64 编码发送。 +2. **`BASIC NON-PREEMPTIVE`** – 一种非优先的认证方式,即仅当服务器拒绝带有 401 状态码的请求后再添加认证信息,才添加认证信息。 +3. **`DIGEST`** – HTTP 摘要认证。 不需要使用 SSL/TLS。 +4. **`UNIVERSAL`** – 非抢占模式下基本认证和摘要认证的组合,即在 401 响应的情况下,将根据`WWW-Authenticate` HTTP 标头中定义的请求认证使用适当的认证。 要使用`HttpAuthenticationFeature`,请构建一个实例并向客户端注册。 @@ -63,7 +63,7 @@ client.register(feature); ## 2\. 如何保护 REST API -对于启用认证的其余 api,请使用与角色相关的注释,例如`@RolesAllowed`。 例如,这是安全的 REST API 的代码。 +对于启用认证的 REST api,请使用与角色相关的注释,例如`@RolesAllowed`。 例如,这是安全的 REST API 的代码。 ```java @Path("/employees") @@ -92,7 +92,7 @@ public class JerseyService ## 3\. Jersey REST 客户端代码 -以下是**Jersey 休息客户端基本认证**示例,该示例接受用于认证的用户名和密码详细信息。 +以下是 **Jersey REST 客户端基本认证**示例,该示例接受用于认证的用户名和密码详细信息。 ```java public static void main(String[] args) throws IOException @@ -128,7 +128,7 @@ private static void httpGETCollectionExample() ``` -#### 3.1 使用正确的用户名/密码输出 +#### 3.1 正确的用户名/密码的输出 ```java 200 @@ -137,7 +137,7 @@ OK ``` -#### 3.2 使用不正确的用户名/密码输出 +#### 3.2 不正确的用户名/密码的输出 ```java 401 @@ -145,6 +145,6 @@ Unauthorized ``` -将您的查询放在评论部分。 +将您的问题放在评论部分。 学习愉快! \ No newline at end of file diff --git a/docs/misc/113.md b/docs/misc/113.md index c99795a..f30505c 100644 --- a/docs/misc/113.md +++ b/docs/misc/113.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/jersey/jersey-client-cookie-example/](https://howtodoinjava.com/jersey/jersey-client-cookie-example/) -在本示例中,我们将学习**将 cookie 设置为 Jersey 客户端**调用的 HTTP 请求。 本示例利用`Invocation.Builder`将 Cookie 设置为外发 REST 调用。 +在本示例中,我们将学习**在 Jersey 客户端发起的 HTTP 请求中设置 cookie**。 本示例利用`Invocation.Builder`将 Cookie 设置为外发 REST 调用。 ## 设置 Cookie 示例 @@ -23,7 +23,7 @@ Employees employees = response.readEntity(Employees.class); ``` -## 其余 API 代码 +## REST API 代码 我在下面编写了 REST API 进行测试。 diff --git a/docs/misc/115.md b/docs/misc/115.md index 995add2..68d9444 100644 --- a/docs/misc/115.md +++ b/docs/misc/115.md @@ -4,45 +4,52 @@ Java 数据库连接(JDBC)API 提供了来自 Java 的通用数据访问。 使用 JDBC API,您几乎可以访问任何数据源,从关系数据库到电子表格和平面文件。 -JDBC API 由两个软件包组成: +JDBC API 由两个包组成: -* [java.sql](https://docs.oracle.com/javase/7/docs/api/java/sql/package-summary.html) -* [javax.sql](https://docs.oracle.com/javase/7/docs/api/javax/sql/package-summary.html) +* [`java.sql`](https://docs.oracle.com/javase/7/docs/api/java/sql/package-summary.html) +* [`javax.sql`](https://docs.oracle.com/javase/7/docs/api/javax/sql/package-summary.html) -这两个软件包都是通过 Java Platform Standard Edition(Java SE)下载的。 +这两个包都是通过 Java 平台标准版(Java SE)下载的。 ## JDBC 基础 * [JDBC 驱动程序的类型](//howtodoinjava.com/java/jdbc/jdbc-basics-types-of-jdbc-drivers/) + 了解所有 4 种类型的 JBDC 驱动程序。 * [JDBC MySQL 数据库连接示例](//howtodoinjava.com/java/jdbc/jdbc-mysql-database-connection-example/) + 了解如何使用 JDBC 连接到 mysql 数据库。 ## JDBC CRUD 示例 -* [JDBC SELECT 查询示例](//howtodoinjava.com/java/jdbc/jdbc-select-query-example/) - 通过 JDBC 使用 SQL SELECT 查询的示例。 -* [JDBC SQL INSERT 查询示例](//howtodoinjava.com/java/jdbc/jdbc-sql-insert-query-example/) - 通过 JDBC 使用 SQL INSERT 查询的示例。 -* [JDBC SQL DELETE 查询示例](//howtodoinjava.com/java/jdbc/jdbc-sql-delete-query-example/) - 使用 JDBC 使用 SQL DELETE 查询的示例。 +* [JDBC `SELECT`查询示例](//howtodoinjava.com/java/jdbc/jdbc-select-query-example/) + + 通过 JDBC 使用 SQL `SELECT`查询的示例。 +* [JDBC SQL `INSERT`查询示例](//howtodoinjava.com/java/jdbc/jdbc-sql-insert-query-example/) + + 通过 JDBC 使用 SQL `INSERT`查询的示例。 +* [JDBC SQL `DELETE`查询示例](//howtodoinjava.com/java/jdbc/jdbc-sql-delete-query-example/) + + 使用 JDBC 使用 SQL `DELETE`查询的示例。 -## JDBC PreparedStatement +## JDBC `PreparedStatement` -* [如何执行 PreparedStatement](//howtodoinjava.com/java/jdbc/how-to-execute-preparedstatement-using-jdbc/) - 了解 JDBC PreparedStatement 的工作方式并研究示例。 +* [如何执行`PreparedStatement`](//howtodoinjava.com/java/jdbc/how-to-execute-preparedstatement-using-jdbc/) + + 了解 JDBC `PreparedStatement`的工作方式并研究示例。 ## JDBC 最佳实践 * [JDBC 性能优化技巧](//howtodoinjava.com/java/jdbc/best-practices-to-improve-jdbc-performance/) + 了解 4 种最有用的 JDBC 最佳实践,以提高应用性能。 ## 相关的 SQL 教程 * [MySQL 配置教程](//howtodoinjava.com/misc/sql/mysql-configuration-tutorial/) -* [SQL 查询以查找员工](//howtodoinjava.com/misc/sql/sql-query-to-find-find-the-nth-highest-salary-of-an-employee/)的最高薪水 -* [SQL –删除没有临时表的重复行](//howtodoinjava.com/misc/sql/how-to-remove-duplicate-rows-in-mysql-without-using-temporary-table/) -* [SQLException:重新安装 MySQL 服务器](//howtodoinjava.com/misc/sql/sqlexception-access-denied-for-user-rootlocalhost-after-re-installation-of-mysql-server/)后,用户'root'@'localhost'的访问被拒绝 +* [查找员工最高薪水的 SQL 查询](//howtodoinjava.com/misc/sql/sql-query-to-find-find-the-nth-highest-salary-of-an-employee/) +* [SQL – 不使用临时表删除重复行](//howtodoinjava.com/misc/sql/how-to-remove-duplicate-rows-in-mysql-without-using-temporary-table/) +* [`SQLException`:重新安装 MySQL 服务器后,用户`root@localhost`的访问被拒绝](//howtodoinjava.com/misc/sql/sqlexception-access-denied-for-user-rootlocalhost-after-re-installation-of-mysql-server/) ## JDBC 资源 diff --git a/docs/misc/159.md b/docs/misc/159.md index b550150..97d164c 100644 --- a/docs/misc/159.md +++ b/docs/misc/159.md @@ -170,7 +170,7 @@ public class JUnit5TestSuiteExample 此外,您可以使用以下注释来过滤测试包,类甚至测试方法。 -1. `@IncludePackages`和`@ExcludePackages`过滤软件包 +1. `@IncludePackages`和`@ExcludePackages`过滤包 2. `@IncludeClassNamePatterns`和`@ExcludeClassNamePatterns`过滤测试类别 3. `@IncludeTags`和`@ExcludeTags`过滤测试方法 diff --git a/docs/misc/16.md b/docs/misc/16.md index a8c9b11..26e4ca3 100644 --- a/docs/misc/16.md +++ b/docs/misc/16.md @@ -275,6 +275,6 @@ E:\devsetup\workspacetemp\HelloWorldApp>mvn clean install ``` -构建会生成名称为`HelloWorldApp-ear-1.0-SNAPSHOT.ear`的 ear 文件。 可以根据需要随意更改项目名称和生成的软件包。 +构建会生成名称为`HelloWorldApp-ear-1.0-SNAPSHOT.ear`的 ear 文件。 可以根据需要随意更改项目名称和生成的包。 学习愉快! \ No newline at end of file diff --git a/docs/misc/17.md b/docs/misc/17.md index ea7d75a..fb53c77 100644 --- a/docs/misc/17.md +++ b/docs/misc/17.md @@ -270,7 +270,7 @@ E:\devsetup\workspacetemp\HelloWorldApp>mvn clean install ``` -构建会生成名称为`ear-0.0.1-SNAPSHOT.ear`的 ear 文件。 可以根据需要随意更改项目名称和生成的软件包。 +构建会生成名称为`ear-0.0.1-SNAPSHOT.ear`的 ear 文件。 可以根据需要随意更改项目名称和生成的包。 ## 2\. 常见问题 diff --git a/docs/misc/171.md b/docs/misc/171.md index ba245e3..14ba435 100644 --- a/docs/misc/171.md +++ b/docs/misc/171.md @@ -29,7 +29,7 @@ JUnit 5 Test Suite Project Structure ## 2\. 使用@SelectPackages 创建测试套件 -`@SelectPackages`指定通过`@RunWith(JUnitPlatform.class)`运行测试套件时要选择的软件包的名称。 +`@SelectPackages`指定通过`@RunWith(JUnitPlatform.class)`运行测试套件时要选择的包的名称。 #### 指定单个包 @@ -115,7 +115,7 @@ public class JUnit5TestSuiteExample ## 4\. @IncludePackages 和@ExcludePackages -我们了解到`@SelectPackages`也会导致其所有子包都被扫描以查找测试类别。 如果要排除任何特定的子软件包,或包括任何软件包,则可以使用 [@IncludePackages](http://junit.org/junit5/docs/current/api/org/junit/platform/suite/api/IncludePackages.html) 和 [@ExcludePackages](http://junit.org/junit5/docs/current/api/org/junit/platform/suite/api/ExcludePackages.html) 注解。 +我们了解到`@SelectPackages`也会导致其所有子包都被扫描以查找测试类别。 如果要排除任何特定的子包,或包括任何包,则可以使用 [@IncludePackages](http://junit.org/junit5/docs/current/api/org/junit/platform/suite/api/IncludePackages.html) 和 [@ExcludePackages](http://junit.org/junit5/docs/current/api/org/junit/platform/suite/api/ExcludePackages.html) 注解。 #### @IncludePackages 示例 @@ -147,7 +147,7 @@ public class JUnit5TestSuiteExample ## 5\. @IncludeClassNamePatterns 和@ExcludeClassNamePatterns -很多时候,在选择注释中包含所有包或测试类名称是不可行的。 在这种情况下,您可能会提供更广泛的软件包范围,并通过 appy 筛选将哪些测试类包括在套件中或从套件中排除。 +很多时候,在选择注释中包含所有包或测试类名称是不可行的。 在这种情况下,您可能会提供更广泛的包范围,并通过 appy 筛选将哪些测试类包括在套件中或从套件中排除。 要指定要排除或包含的测试类名称模式,可以使用 [@IncludeClassNamePatterns](http://junit.org/junit5/docs/current/api/org/junit/platform/suite/api/IncludeClassNamePatterns.html) 和 [@ExcludeClassNamePatterns](http://junit.org/junit5/docs/current/api/org/junit/platform/suite/api/ExcludeClassNamePatterns.html) 注解。 @@ -201,7 +201,7 @@ public class JUnit5TestSuiteExample #### @ExcludeTags 示例 -此测试套件将排除软件包`com.howtodoinjava.junit5.examples`(及其子软件包)中所有带有`development`标签的测试。 +此测试套件将排除包`com.howtodoinjava.junit5.examples`(及其子包)中所有带有`development`标签的测试。 ```java @RunWith(JUnitPlatform.class) diff --git a/docs/misc/192.md b/docs/misc/192.md index da30ad1..f919a9e 100644 --- a/docs/misc/192.md +++ b/docs/misc/192.md @@ -143,7 +143,7 @@ TestNG Jar – [http://testng.org/testng-6.8.zip](http://testng.org/testng-6.8.z ![select the Java project](img/8f7db07862c937efbc89ddf1b9f79e29.png) -4)**输入软件包名称和测试类别名称**,然后单击 Finish。 +4)**输入包名称和测试类别名称**,然后单击 Finish。 ![Enter the package name](img/22b540eb7910fa9e5d5882741b4044f0.png) @@ -191,7 +191,7 @@ public class MyFirstTest { * **类**:使用此选项,您可以提供类名称和程序包,以仅运行所述特定测试类。 * 方法:使用此方法,您只能在测试类中运行特定的方法。 * **组**:如果您想运行属于特定 TestNG 组的特定测试方法,则可以在此处输入用于执行它们的方法。 -* **软件包**:如果要在软件包中执行所有测试,则可以在此框中指定这些测试。 +* **包**:如果要在包中执行所有测试,则可以在此框中指定这些测试。 * **套件**:如果您具有`testing.xml`文件形式的套件文件,则可以在此处选择要执行的文件。 让我们输入配置名称`TestNGRunConfig`,然后在“类”部分下选择新创建的类,然后单击“应用”。 diff --git a/docs/misc/197.md b/docs/misc/197.md index 3020c4e..be021b5 100644 --- a/docs/misc/197.md +++ b/docs/misc/197.md @@ -16,7 +16,7 @@ Table Of Contents 5\. Configure a testcase to run in multiple threads ``` -## 1\. 并行休息执行的优点 +## 1\. 并行执行测试的优点 并行或多线程执行可以为用户提供很多优势。 以下是两个: diff --git a/docs/misc/215.md b/docs/misc/215.md index ba7d0a4..f1ce0d1 100644 --- a/docs/misc/215.md +++ b/docs/misc/215.md @@ -38,7 +38,7 @@ TypeScript vs JavaScript 默认情况下,当前版本的编译器支持 ES 5。 TypeScript 可以将源代码编译为任何模块模式-[`AMD`](https://en.wikipedia.org/wiki/Asynchronous_module_definition),[`CommonJS`](https://en.wikipedia.org/wiki/CommonJS),`ES 6`,`SystemJS`等。 -与任何`npm`软件包一样,您可以在本地或全局安装它,或同时在这两者中安装,并通过在命令行上运行`tsc`来编译 TS 文件。 +与任何`npm`包一样,您可以在本地或全局安装它,或同时在这两者中安装,并通过在命令行上运行`tsc`来编译 TS 文件。 ```java $ tsc helloworld.ts //It compile the file into helloworld.js diff --git a/docs/misc/239.md b/docs/misc/239.md index 299e10f..7ac25c1 100644 --- a/docs/misc/239.md +++ b/docs/misc/239.md @@ -49,7 +49,7 @@ $ git config --global user.name "Your Name" //Use your git name ## 安装套件 -现在,在安装了 node 和 git 之后,该安装必要的`npm`软件包了。 +现在,在安装了 node 和 git 之后,该安装必要的`npm`包了。 ```java $ npm install -g rxjs diff --git a/docs/misc/240.md b/docs/misc/240.md index 17608a0..2d2a509 100644 --- a/docs/misc/240.md +++ b/docs/misc/240.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/angular/npm-install-hung/](https://howtodoinjava.com/angular/npm-install-hung/) -在使用 Node 时,您可能正在下载各种`npm`软件包。 有时下载过程只是挂起而无法继续进行。 您可能还会看到与不可访问的`registry.npmjs.org` URL 相关的错误。 +在使用 Node 时,您可能正在下载各种`npm`包。 有时下载过程只是挂起而无法继续进行。 您可能还会看到与不可访问的`registry.npmjs.org` URL 相关的错误。 ## 错误 diff --git a/docs/misc/270.md b/docs/misc/270.md index 7dc8b47..6ca6263 100644 --- a/docs/misc/270.md +++ b/docs/misc/270.md @@ -68,15 +68,15 @@ android 中的资源指的是**图像,字符串以及应用在运行时**上 通常,您将以以下方式设计应用: **UI 可以在各种设备**上运行:手机,平板电脑,电视等。例如,平板电脑上的 Gmail 应用将显示标签列表, 平板电脑中的一个活动(屏幕)中所有选定标签中的对话列表以及选定对话中的消息列表。 但是,电话上的同一个 Gmail 应用无法执行此操作,因为屏幕空间不足,因此会在单独的活动(屏幕)中显示每个(标签,对话,消息)。 Android 提供了一个称为 fragment 的构造,以帮助您更轻松地实现这些效果。 我们将在以后的文章中详细学习它们。 -#### e)应用和软件包 +#### e)应用和包 给定一堆源代码和一揽子资源,Android 构建工具将为您提供一个应用。 该应用以 APK 文件的形式出现。 它是 APK 文件,您将上传到 Play 商店或通过其他方式分发。 要了解的重要一点是,每个 android 应用都有一个唯一的包名称,并且必须满足三个要求: -1. 它必须是有效的 Java 软件包名称,因为此软件包中的 android 构建工具将生成一些 Java 源代码。 -2. 使用同一软件包的设备上不能同时存在两个应用。 -3. 具有相同软件包的两个应用都不能上传到 Play 商店。 +1. 它必须是有效的 Java 包名称,因为此包中的 android 构建工具将生成一些 Java 源代码。 +2. 使用同一包的设备上不能同时存在两个应用。 +3. 具有相同包的两个应用都不能上传到 Play 商店。 因此,您将遵循“ [反向域名](https://en.wikipedia.org/wiki/Reverse_domain_name_notation "Reverse_domain_name_notation")”约定选择一个包名称(例如 com.howtodoinjava.android.app)。 这样,域名系统将确保您的程序包名称前缀(com.howtodoinjava)是唯一的,并且由您来确保其余程序包名称将您的应用与其他应用区分开。 diff --git a/docs/misc/271.md b/docs/misc/271.md index 70bd145..d07170f 100644 --- a/docs/misc/271.md +++ b/docs/misc/271.md @@ -26,9 +26,9 @@ Table of Contents ## 2)添加 SDK 包 -将 ADT 提取到计算机中的某个位置后,单击“ **SDK Manager.exe** ”。 现在,选择要在计算机中安装的一组所需软件包。 接受所有条款和条件; 然后单击确定。 它将下载计算机中所有必需的软件包并自动配置。 您可以一次使用它们,设置完成。 +将 ADT 提取到计算机中的某个位置后,单击“ **SDK Manager.exe** ”。 现在,选择要在计算机中安装的一组所需包。 接受所有条款和条件; 然后单击确定。 它将下载计算机中所有必需的包并自动配置。 您可以一次使用它们,设置完成。 -在我的机器中,导入的软件包如下(截至日期): +在我的机器中,导入的包如下(截至日期): ![SDK-Manager-Preview](img/87af3f03173433b8f34886b612035b5f.png) @@ -36,7 +36,7 @@ SDK-Manager-Preview -除了上述软件包外,您还应该从“其他”选项中下载“ Android 支持库”和“ Android 支持库”,这些选项隐藏在上图中的滚动条下方。 +除了上述包外,您还应该从“其他”选项中下载“ Android 支持库”和“ Android 支持库”,这些选项隐藏在上图中的滚动条下方。 ## 3)配置虚拟设备 diff --git a/docs/misc/274.md b/docs/misc/274.md index 7113cf6..50eb8fe 100644 --- a/docs/misc/274.md +++ b/docs/misc/274.md @@ -27,7 +27,7 @@ android:versionName="1.0" > ``` -您需要在元素上提供的最大信息是 package 属性。 在这里,您可以提供将被视为应用“基础”的 Java 软件包的名称。 您的软件包是应用的唯一标识符。 一台设备只能安装一个带有给定软件包的应用,而 Play 商店只会列出一个带有给定软件包的项目。 我们已经详细讨论了 [**在 Android 开发中使用的关键术语和概念**](//howtodoinjava.com/android/android-tutorial-key-concepts/ "Android Tutorial : Key Concepts") 。 +您需要在元素上提供的最大信息是 package 属性。 在这里,您可以提供将被视为应用“基础”的 Java 包的名称。 您的包是应用的唯一标识符。 一台设备只能安装一个带有给定包的应用,而 Play 商店只会列出一个带有给定包的项目。 我们已经详细讨论了 [**在 Android 开发中使用的关键术语和概念**](//howtodoinjava.com/android/android-tutorial-key-concepts/ "Android Tutorial : Key Concepts") 。 ## 指定应用版本 diff --git a/docs/misc/281.md b/docs/misc/281.md index 67b1cb7..26bc763 100644 --- a/docs/misc/281.md +++ b/docs/misc/281.md @@ -128,7 +128,7 @@ PaaS 供应商为应用开发人员提供了开发环境。 在 PaaS 模型中 Amazon 提供了在 AWS 云上开发安全,可靠和可扩展的 Java 应用所需的所有工具,文档和示例代码。 Eclipse Java IDE 用户可以使用适用于 Eclipse 的 AWS 工具包轻松地开始使用 SDK。 用于 Eclipse 的 [AWS 工具包](https://aws.amazon.com/sdk-for-java/)是 Eclipse Java IDE 的插件,使开发人员可以更轻松地使用 Amazon Web Services 开发,部署和调试 Java 应用。 - Amazon 还为许多 AWS 服务(包括 Amazon S3,Amazon EC2,DynamoDB 等)提供了一组专用的 API。 单个可下载的软件包包括 AWS Java 库,代码示例和文档。 + Amazon 还为许多 AWS 服务(包括 Amazon S3,Amazon EC2,DynamoDB 等)提供了一组专用的 API。 单个可下载的包包括 AWS Java 库,代码示例和文档。 3. #### Google App Engine diff --git a/docs/misc/45.md b/docs/misc/45.md index addbd4a..2b35505 100644 --- a/docs/misc/45.md +++ b/docs/misc/45.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/log4j/how-to-configure-log4j-using-properties-file/](https://howtodoinjava.com/log4j/how-to-configure-log4j-using-properties-file/) -[**Log4j**](https://howtodoinjava.com/log4j/ "log4j") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 软件包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 +[**Log4j**](https://howtodoinjava.com/log4j/ "log4j") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 这篇 **log4j 属性文件教程**,我展示了使用`log4j.properties`文件配置 log4j 的示例代码。 diff --git a/docs/misc/46.md b/docs/misc/46.md index 5df5f31..3e72f72 100644 --- a/docs/misc/46.md +++ b/docs/misc/46.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/log4j/how-to-configure-log4j-using-xml-configuration/](https://howtodoinjava.com/log4j/how-to-configure-log4j-using-xml-configuration/) -[Log4j](https://logging.apache.org/log4j/ "log4j tutorials") 是一个简单而灵活的日志记录框架。 应用日志为开发人员提供了有关应用故障的详细上下文。 使用 log4j,可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 软件包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 +[Log4j](https://logging.apache.org/log4j/ "log4j tutorials") 是一个简单而灵活的日志记录框架。 应用日志为开发人员提供了有关应用故障的详细上下文。 使用 log4j,可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 实际上,两个最常见的配置选项是使用`log4j.xml`配置或使用`log4j.properties`配置。 diff --git a/docs/misc/47.md b/docs/misc/47.md index 4b8658b..a81d475 100644 --- a/docs/misc/47.md +++ b/docs/misc/47.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/log4j/how-to-configure-log4j-using-maven/](https://howtodoinjava.com/log4j/how-to-configure-log4j-using-maven/) -[**Log4j**](https://logging.apache.org/log4j/1.2/ "log4j home page") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 软件包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 +[**Log4j**](https://logging.apache.org/log4j/1.2/ "log4j home page") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 以下是在项目中配置 log4j 日志记录支持的最基本步骤。 diff --git a/docs/misc/52.md b/docs/misc/52.md index 152ed16..096afc6 100644 --- a/docs/misc/52.md +++ b/docs/misc/52.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/log4j/how-to-create-logs-in-database-using-jdbcappender-in-log4j/](https://howtodoinjava.com/log4j/how-to-create-logs-in-database-using-jdbcappender-in-log4j/) -[Log4j](//howtodoinjava.com/category/frameworks/log4j/ "log4j tutorials") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 软件包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 +[Log4j](//howtodoinjava.com/category/frameworks/log4j/ "log4j tutorials") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 Log4j 带有多个选项来格式化框架创建的日志文件。 它也可以创建简单的日志文件,html 日志文件或 xml 日志文件。 它还使用 mysql 语句将日志语句插入数据库。 diff --git a/docs/misc/53.md b/docs/misc/53.md index 2e7057b..36cf9f4 100644 --- a/docs/misc/53.md +++ b/docs/misc/53.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/log4j/how-to-create-logs-in-xml-format-using-log4j/](https://howtodoinjava.com/log4j/how-to-create-logs-in-xml-format-using-log4j/) -[Log4j](//howtodoinjava.com/category/frameworks/log4j/ "log4j tutorials") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 软件包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 +[Log4j](//howtodoinjava.com/category/frameworks/log4j/ "log4j tutorials") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 Log4j 带有多个选项来格式化框架创建的日志文件。 它也可以创建简单的日志文件,html 日志文件或 xml 日志文件。 diff --git a/docs/misc/54.md b/docs/misc/54.md index 52586b3..ef9cb89 100644 --- a/docs/misc/54.md +++ b/docs/misc/54.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/log4j/how-to-create-logs-in-html-format-using-log4j/](https://howtodoinjava.com/log4j/how-to-create-logs-in-html-format-using-log4j/) -[Log4j](//howtodoinjava.com/category/frameworks/log4j/ "log4j tutorials") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 软件包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 +[Log4j](//howtodoinjava.com/category/frameworks/log4j/ "log4j tutorials") 是一个简单而灵活的日志记录框架。 日志记录为开发人员提供了有关应用故障的详细上下文。 使用 log4j 可以在运行时启用日志记录,而无需修改应用二进制文件。 log4j 包的设计目的是使这些语句可以保留在出厂代码中,而不会造成高昂的性能成本。 Log4j 带有多个选项来格式化框架创建的日志文件。 它也可以创建简单的日志文件,html 日志文件或 xml 日志文件。 diff --git a/docs/misc/62.md b/docs/misc/62.md index 0b8a6b2..063e598 100644 --- a/docs/misc/62.md +++ b/docs/misc/62.md @@ -2,7 +2,7 @@ > 原文: [https://howtodoinjava.com/dropwizard/health-check-configuration-example/](https://howtodoinjava.com/dropwizard/health-check-configuration-example/) -我们已经看到 [dropwizard](http://www.dropwizard.io/) 在开发[自包含的 REST API](//howtodoinjava.com/dropwizard/tutorial-and-hello-world-example/) 甚至 [REST 客户端服务](//howtodoinjava.com/dropwizard/client-configuration-and-examples/)方面如此有效。 Dropwizard 包含几乎所有必需的软件包,它们可以非常简单地构建 API,而无需使事情复杂化。 dropwizard 的一项易于实现的功能是**运行状况检查服务**,该服务可用于在运行时监视正在创建的应用/组件的状态。 +我们已经看到 [dropwizard](http://www.dropwizard.io/) 在开发[自包含的 REST API](//howtodoinjava.com/dropwizard/tutorial-and-hello-world-example/) 甚至 [REST 客户端服务](//howtodoinjava.com/dropwizard/client-configuration-and-examples/)方面如此有效。 Dropwizard 包含几乎所有必需的包,它们可以非常简单地构建 API,而无需使事情复杂化。 dropwizard 的一项易于实现的功能是**运行状况检查服务**,该服务可用于在运行时监视正在创建的应用/组件的状态。 ## 实现 Dropwizard 运行状况检查 diff --git a/docs/misc/98.md b/docs/misc/98.md index a5e9c14..3784234 100644 --- a/docs/misc/98.md +++ b/docs/misc/98.md @@ -87,7 +87,7 @@ Table of Contents ## 3\. Jersey 2 示例– web.xml 更改 -您需要在`web.xml`文件中进行第二次更改。 通常,更改是将旧的软件包名称替换为新的软件包名称。 +您需要在`web.xml`文件中进行第二次更改。 通常,更改是将旧的包名称替换为新的包名称。 ```java