From 5a2d8d3b6908ae3eb3e78cf5803570b7b368bc7c Mon Sep 17 00:00:00 2001 From: wizardforcel <562826179@qq.com> Date: Sat, 30 Nov 2019 20:03:27 +0800 Subject: [PATCH] 2019-11-30 20:03:26 --- docs/100.md | 2 +- docs/103.md | 2 +- docs/113.md | 2 +- docs/116.md | 4 ++-- docs/121.md | 2 +- docs/124.md | 2 +- docs/128.md | 2 +- docs/130.md | 2 +- docs/135.md | 4 ++-- docs/137.md | 2 +- docs/138.md | 2 +- docs/142.md | 2 +- docs/146.md | 2 +- docs/15.md | 4 ++-- docs/158.md | 2 +- docs/167.md | 2 +- docs/18.md | 4 ++-- docs/183.md | 2 +- docs/186.md | 2 +- docs/191.md | 4 ++-- docs/205.md | 2 +- docs/3.md | 2 +- docs/46.md | 2 +- docs/49.md | 2 +- docs/58.md | 4 ++-- docs/9.md | 2 +- 26 files changed, 32 insertions(+), 32 deletions(-) diff --git a/docs/100.md b/docs/100.md index cc62bdb..aec1a64 100644 --- a/docs/100.md +++ b/docs/100.md @@ -22,7 +22,7 @@ public int compare(Object obj1, Object obj2) [`TreeSet`](https://javatutorial.net/java-treeset-example)和[`TreeMap`](https://javatutorial.net/java-treemap-example) 都以自然顺序存储元素。 不管怎样,比较器明确地描述了用于排序的顺序。 -比较器接口具有两种技术的特征:`compare()`和`equals()`。存在`compare()`方法,专注于请求的两个组成部分- +比较器接口具有两种技术的特征:`compare()`和`equals()`。存在`compare()`方法,专注于请求的两个组成部分: ## `compare`方法 diff --git a/docs/103.md b/docs/103.md index 03504a6..cef57a0 100644 --- a/docs/103.md +++ b/docs/103.md @@ -28,7 +28,7 @@ ![Virtual machine structure Docker](img/94233964960a170fa95597ad12303b3a.jpg) -根据映像,VM 方法的问题在于它附带了很多东西-二进制和库(必不可少的),但最主要的是-整个来宾操作系统的总容量为几个 GB。 +根据映像,VM 方法的问题在于它附带了很多东西 - 二进制和库(必不可少的),但最主要的是 - 整个来宾操作系统的总容量为几个 GB。 另一方面,Docker 容器包含应用程序的所有依赖关系,与其他容器共享内核。 此外,Docker 容器可以在任何计算机,基础架构和云上运行。 现在,您可以再次阅读真实容器的类比并看到相似之处。 diff --git a/docs/113.md b/docs/113.md index 649aa45..f627f78 100644 --- a/docs/113.md +++ b/docs/113.md @@ -122,7 +122,7 @@ public class SimpleServlet extends HttpServlet { ``` -所有 servlet 都需要扩展抽象类`HttpServlet`。`HttpServlet`提供了构建 HTTP 响应的所有方法-我们在这里所做的是重写某些方法以放置我们自己的逻辑。 +所有 servlet 都需要扩展抽象类`HttpServlet`。`HttpServlet`提供了构建 HTTP 响应的所有方法 - 我们在这里所做的是重写某些方法以放置我们自己的逻辑。 当客户端(浏览器)向我们的 Servlet 发出 GET 请求时,将执行`doGet`方法。 在我们的示例中,它将仅返回文本响应`"Hello World!"`。 diff --git a/docs/116.md b/docs/116.md index e5ecb6c..c9201b5 100644 --- a/docs/116.md +++ b/docs/116.md @@ -8,9 +8,9 @@ ## 注解与部署描述符 -有什么不同? 好吧,很明显,部署描述符是一个单独的文件,您可以在其中以 XML 格式设置配置值,其中注解直接嵌入到源代码中。 如果您希望将代码和配置放在同一位置以提高可读性,请使用注解。 部署描述符恰恰相反-您将代码和配置分开。 这样,如果您要更改单个配置值,则无需重新编译整个项目。 +有什么不同? 好吧,很明显,部署描述符是一个单独的文件,您可以在其中以 XML 格式设置配置值,其中注解直接嵌入到源代码中。 如果您希望将代码和配置放在同一位置以提高可读性,请使用注解。 部署描述符恰恰相反 - 您将代码和配置分开。 这样,如果您要更改单个配置值,则无需重新编译整个项目。 -对于许多 Java Enterprise 组件,都有两个版本可用-注解或描述符。 但其他配置则只能使用注解或通过部署描述符进行配置。 对于 Servlet,可以选择一种或另一种方法。 +对于许多 Java Enterprise 组件,都有两个版本可用 - 注解或描述符。 但其他配置则只能使用注解或通过部署描述符进行配置。 对于 Servlet,可以选择一种或另一种方法。 ## `WebServlet`注解属性 diff --git a/docs/121.md b/docs/121.md index 1b64103..111d797 100644 --- a/docs/121.md +++ b/docs/121.md @@ -18,7 +18,7 @@ Glassfish(或 Payara)4 应用程序服务器 MySQL 的官方 JDBC(Java 数据库连接)驱动程序称为 MySQL Connector/J。 您可以在 [https://dev.mysql.com/downloads/connector/j/](https://dev.mysql.com/downloads/connector/j/) 找到下载页面。 -1. 下载 TAR 或 ZIP 归档文件-无论您喜欢使用什么文件。 解压缩档案后,您会发现一个名为`mysql-connector-java-X.X.XX-bin.jar`的 JAR 文件(其中`X.X.XX`是版本号)。 +1. 下载 TAR 或 ZIP 归档文件 - 无论您喜欢使用什么文件。 解压缩档案后,您会发现一个名为`mysql-connector-java-X.X.XX-bin.jar`的 JAR 文件(其中`X.X.XX`是版本号)。 2. 将 JAR 文件粘贴到您的`GLASSFISH_HOME/glassfish/bin`目录中 3. 重新启动 Glassfish,以使更改生效 diff --git a/docs/124.md b/docs/124.md index 8adccf7..9d434c6 100644 --- a/docs/124.md +++ b/docs/124.md @@ -18,7 +18,7 @@ 在继续之前,请确保已使用数据库配置了 Glassfish 服务器。 如果尚未执行此操作,请先阅读[如何使用 MySQL 配置 Glassfish 4](https://javatutorial.net/configure-glassfish-mysql)。 当然,您可以使用您喜欢的任何其他数据库来学习本教程。 您不仅限于 MySQL。 -您可以在多个位置存储用户凭据,例如数据库,文件,LDAP 等。在本教程中,我们将使用数据库存储用户名和密码。 在 Glassfish 中,这称为 JDBC 安全领域。 创建安全领域需要两张表-第一个用于存储用户凭据,第二个用于将特定用户映射到角色。 Glassfish 并未预定义角色,这意味着我们可以创建自己的角色-管理员,用户,主持人,查看者等。为了使本教程尽可能简短,我将只实现一个角色:用户 +您可以在多个位置存储用户凭据,例如数据库,文件,LDAP 等。在本教程中,我们将使用数据库存储用户名和密码。 在 Glassfish 中,这称为 JDBC 安全领域。 创建安全领域需要两张表 - 第一个用于存储用户凭据,第二个用于将特定用户映射到角色。 Glassfish 并未预定义角色,这意味着我们可以创建自己的角色 - 管理员,用户,主持人,查看者等。为了使本教程尽可能简短,我将只实现一个角色:用户 第一个表称为`users`,具有以下字段: diff --git a/docs/128.md b/docs/128.md index 63a9455..83cd25a 100644 --- a/docs/128.md +++ b/docs/128.md @@ -111,7 +111,7 @@ Spring WhiteLabel 错误页面 ## 创建请求映射 -现在,为了能够在`http://localhost:8080`下看到一些“有意义的”内容,我们需要更改出价`SpringBootExampleApplication.java`的代码。 首先使用`@Controller`注解对类进行注解。 其次,创建一个映射到 URL `/`的请求-这会将`home()`方法映射到该 URL。 换句话说,当浏览器向`http://localhost:8080`发出 GET 请求时,将通过此方法提供服务。 最后,为了能够将响应返回给浏览器,您需要使用`@ResponseBody`注释`home()`方法。 您将在下面找到所有更改: +现在,为了能够在`http://localhost:8080`下看到一些“有意义的”内容,我们需要更改出价`SpringBootExampleApplication.java`的代码。 首先使用`@Controller`注解对类进行注解。 其次,创建一个映射到 URL `/`的请求 - 这会将`home()`方法映射到该 URL。 换句话说,当浏览器向`http://localhost:8080`发出 GET 请求时,将通过此方法提供服务。 最后,为了能够将响应返回给浏览器,您需要使用`@ResponseBody`注释`home()`方法。 您将在下面找到所有更改: ```java package net.javavatutorial.tutorials; diff --git a/docs/130.md b/docs/130.md index c9366c6..db29d5b 100644 --- a/docs/130.md +++ b/docs/130.md @@ -28,7 +28,7 @@ ![Virtual machine structure Docker](img/94233964960a170fa95597ad12303b3a.jpg) -根据映像,VM 方法的问题在于它附带了很多东西-二进制和库(必不可少的),但最主要的是-整个来宾操作系统的总容量为几个 GB。 +根据映像,VM 方法的问题在于它附带了很多东西 - 二进制和库(必不可少的),但最主要的是 - 整个来宾操作系统的总容量为几个 GB。 另一方面,Docker 容器包含应用程序的所有依赖关系,与其他容器共享内核。 此外,Docker 容器可以在任何计算机,基础架构和云上运行。 现在,您可以再次阅读真实容器的类比并看到相似之处。 diff --git a/docs/135.md b/docs/135.md index 2a296ba..9566275 100644 --- a/docs/135.md +++ b/docs/135.md @@ -57,7 +57,7 @@ public class EmployeeInterceptor implements HandlerInterceptor { 让我们分解上面的代码示例。 -首先我们创建我们的类并实现`HandlerInterceptor`,因为它会覆盖所有三个方法。 按照惯例,类名必须在初始名称之后具有`Interceptor`。 然后,我们重写`preHandle()`方法。 它包含 3 个参数-请求,响应和处理程序,并且不要忘记`throws Exception`。 +首先我们创建我们的类并实现`HandlerInterceptor`,因为它会覆盖所有三个方法。 按照惯例,类名必须在初始名称之后具有`Interceptor`。 然后,我们重写`preHandle()`方法。 它包含 3 个参数 - 请求,响应和处理程序,并且不要忘记`throws Exception`。 ### `preHandle()` @@ -65,7 +65,7 @@ public class EmployeeInterceptor implements HandlerInterceptor { ### `postHandle()` -如果没有引发异常并记录请求,我的`postHandle()`方法从返回`true`不会起到什么作用。 它包含 4 个参数-请求,响应,处理程序和`modelAndView`。 它还`throws Exception`。通常,此方法用于修改`ModelAndView`(通常通过添加其他属性)或简单地确定处理程序方法处理客户请求所花费的时间。 +如果没有引发异常并记录请求,我的`postHandle()`方法从返回`true`不会起到什么作用。 它包含 4 个参数 - 请求,响应,处理程序和`modelAndView`。 它还`throws Exception`。通常,此方法用于修改`ModelAndView`(通常通过添加其他属性)或简单地确定处理程序方法处理客户请求所花费的时间。 ### `afterCompletion()` diff --git a/docs/137.md b/docs/137.md index f983e2a..e211f5a 100644 --- a/docs/137.md +++ b/docs/137.md @@ -21,7 +21,7 @@ Spring IoC 容器的基础有两个软件包:`org.springframework.beans`和`or 此时,依赖关系不是由 Java 对象管理,而是由框架管理。 **倒置** (如果您知道我的意思)。 -**配置元数据**是赋予与我在本教程开始时提到的任务相关的指令的术语-对象的实例化,配置和组装。 +**配置元数据**是赋予与我在本教程开始时提到的任务相关的指令的术语 - 对象的实例化,配置和组装。 ![IoC Container](img/5282d34ac45723aba9479d489d60afe6.jpg) diff --git a/docs/138.md b/docs/138.md index e8a2b6a..9da84d7 100644 --- a/docs/138.md +++ b/docs/138.md @@ -6,7 +6,7 @@ ![java-featured-image](img/e0db051dedc1179e7424b6d998a6a772.jpg) -为什么调度器 servlet 是最重要的组件? 因为它充当胶水,这意味着它接收到传入的 URL 并找到正确的方法和视图。 它通过 **HTTP 请求**接收 URL。 您还可以将其视为中间件,因为它与两端进行通信-HTTP 请求的发送方和 Spring 应用程序。调度器 Servlet 完全**集成**在 IoC 容器中,并允许您使用 Spring 拥有的所有功能。 +为什么调度器 servlet 是最重要的组件? 因为它充当胶水,这意味着它接收到传入的 URL 并找到正确的方法和视图。 它通过 **HTTP 请求**接收 URL。 您还可以将其视为中间件,因为它与两端进行通信 - HTTP 请求的发送方和 Spring 应用程序。调度器 Servlet 完全**集成**在 IoC 容器中,并允许您使用 Spring 拥有的所有功能。 ![Dispatcher Servlet example](img/7278e3b6b6bc80336ad492e1b2587755.jpg) diff --git a/docs/142.md b/docs/142.md index 36742a8..a9efc12 100644 --- a/docs/142.md +++ b/docs/142.md @@ -12,7 +12,7 @@ DAO 代表数据访问对象,它是一种结构化模式,它通过使用抽 让我们实现 DAO 模式。 -使用 DAO 时,最著名的示例是用户-名称,电子邮件,密码。 在本文中,我将使用员工示例 – 名称,电子邮件。 +使用 DAO 时,最著名的示例是用户 - 名称,电子邮件,密码。 在本文中,我将使用员工示例 – 名称,电子邮件。 `Employee.java` diff --git a/docs/146.md b/docs/146.md index 7255756..a601e0d 100644 --- a/docs/146.md +++ b/docs/146.md @@ -12,7 +12,7 @@ 如上所述,当用户提交登录表单时,他必须输入用户名和密码(最常见)。 当他**提交**表单时,会有一个 API 调用,该 API 调用来自 Spring Web 。 该路径可能类似于`/login`,并通过 HTTP POST 方法调用。 -您可以在前端(例如 Angular)中编写身份验证逻辑。 但是在本文中,我们将在服务器端(也称为 Spring)上编写它。 我们可以通过两种方法来实现我们的目标。 一种是通过编写控制器类,另一种是通过扩展[`UsernamePasswordAuthenticationFilter`](https://docs.spring.io/spring-security/site/docs/current/api/org/springframework/security/web/authentication/UsernamePasswordAuthenticationFilter.html)。我们将使用第一种方法-通过创建`login`方法来验证用户身份并返回`true`或`false`。 +您可以在前端(例如 Angular)中编写身份验证逻辑。 但是在本文中,我们将在服务器端(也称为 Spring)上编写它。 我们可以通过两种方法来实现我们的目标。 一种是通过编写控制器类,另一种是通过扩展[`UsernamePasswordAuthenticationFilter`](https://docs.spring.io/spring-security/site/docs/current/api/org/springframework/security/web/authentication/UsernamePasswordAuthenticationFilter.html)。我们将使用第一种方法 - 通过创建`login`方法来验证用户身份并返回`true`或`false`。 `ControllerClass.java` diff --git a/docs/15.md b/docs/15.md index 9f6f6a0..729f438 100644 --- a/docs/15.md +++ b/docs/15.md @@ -10,7 +10,7 @@ 与许多其他 Java 概念一样,接口是从真实场景中派生而来的,其主要目的是按照严格的规则使用对象。 例如,如果您想打开洗衣机来洗衣服,则需要按开始按钮。 此按钮是您与洗衣机内部电子设备之间的接口。 Java 接口具有相同的行为:它们对如何与对象进行交互设置了严格的规则。 要查找有关 [Java 对象的更多信息,请阅读本教程](https://javatutorial.net/java-objects-and-classes-tutorial)。 -Java 接口表示一组带有空主体的方法。 嗯,在接口中包含完整的方法列表不是强制性的-它们可以为 0 或更多…但是,无论方法的数量如何,它们都应该为空。 +Java 接口表示一组带有空主体的方法。 嗯,在接口中包含完整的方法列表不是强制性的 - 它们可以为 0 或更多…但是,无论方法的数量如何,它们都应该为空。 ## 创建一个接口 @@ -68,7 +68,7 @@ The Samsung washing machine is now running. ## 使用接口声明特定的对象特征 -Java 接口还有另一种常见用法-告诉对象具有特定用途或特征。 +Java 接口还有另一种常见用法 - 告诉对象具有特定用途或特征。 让我们再举一个真实的例子。 你是在树林里生存。 您会发现其他物体,并将它们放在背包中以备后用。 休息时,您会浏览找到的物体并食用一次可食用的物体。 diff --git a/docs/158.md b/docs/158.md index 3911324..5b90e7a 100644 --- a/docs/158.md +++ b/docs/158.md @@ -97,4 +97,4 @@ public class App 我们将本地主机的 url 存储在一个名为`url`的变量中。 `jdbc`部分是 API, `demoapp`是数据库的名称。 然后,我们存储用户名和密码。 这里的主要注意事项是,密码必须与安装 MySQL 时选择的密码相同。 之后,我们有一个`Try {} Catch {}`块。 如果无法建立数据库连接,则将执行`catch`块。 在`try`块中,我们获得 url 和用户名/密码的连接。 之后,我们只需打印“连接成功建立!”。 -只是一件事-如果您忘记在项目的构建路径中添加.jar 文件,则将无法建立连接,并且**`catch`块**将被执行。 因此,请不要忘记添加 JAR 文件,这一点非常重要。 \ No newline at end of file +只是一件事 - 如果您忘记在项目的构建路径中添加.jar 文件,则将无法建立连接,并且**`catch`块**将被执行。 因此,请不要忘记添加 JAR 文件,这一点非常重要。 \ No newline at end of file diff --git a/docs/167.md b/docs/167.md index a0bc351..a0d0bf8 100644 --- a/docs/167.md +++ b/docs/167.md @@ -14,7 +14,7 @@ **显式意图** -在显式意图中,目标组件名称在创建意图时直接传递到意图中。 当一个活动调用另一个活动时,通常使用显式意图。 例如,我们有两个活动-登录活动和主页活动,登录应用程序将用户带到主页后,请参见下图。 +在显式意图中,目标组件名称在创建意图时直接传递到意图中。 当一个活动调用另一个活动时,通常使用显式意图。 例如,我们有两个活动 - 登录活动和主页活动,登录应用程序将用户带到主页后,请参见下图。 ![Explicit intent](img/eade02058cf39705b835a2d929402fa8.jpg) diff --git a/docs/18.md b/docs/18.md index b788cea..0dd6eec 100644 --- a/docs/18.md +++ b/docs/18.md @@ -12,7 +12,7 @@ ## Java 多态示例 -在此示例中,我们将创建 3 个类来演示多态,并创建一个类来测试该概念。 我们的超类称为`Animal`。 动物类的后继者是`Dog`和`Cat`类。 这些也是动物,对不对? 这就是多态所在-同一对象的多种形式具有不同的行为。 为了说明这一点,我们将使用一种名为`makeSound()`的方法,并在后继类中重写此方法的输出。 +在此示例中,我们将创建 3 个类来演示多态,并创建一个类来测试该概念。 我们的超类称为`Animal`。 动物类的后继者是`Dog`和`Cat`类。 这些也是动物,对不对? 这就是多态所在 - 同一对象的多种形式具有不同的行为。 为了说明这一点,我们将使用一种名为`makeSound()`的方法,并在后继类中重写此方法的输出。 ![Java polymorphism example](img/ce87a86824b6014020e0d0c232e3c159.jpg) @@ -84,7 +84,7 @@ public class PolymorphismExample { } ``` -首先,我们创建一个常规的`Animal`对象并调用`makeSound()`方法。 我们对新创建的`Dog`对象执行相同的操作。 现在请注意对`animal = new Cat()`的调用-我们将新的`Cat`对象分配给`Animal`对象。 猫是动物,还记得吗? 因此,我们总是可以这样做: +首先,我们创建一个常规的`Animal`对象并调用`makeSound()`方法。 我们对新创建的`Dog`对象执行相同的操作。 现在请注意对`animal = new Cat()`的调用 - 我们将新的`Cat`对象分配给`Animal`对象。 猫是动物,还记得吗? 因此,我们总是可以这样做: ```java Animal animal = new Cat(); diff --git a/docs/183.md b/docs/183.md index 4a69eab..5a16c4b 100644 --- a/docs/183.md +++ b/docs/183.md @@ -231,4 +231,4 @@ public class AmazonS3Example { ``` -如果您认为本教程有帮助,请查看我们的其他教程-我们确定您会在此页面上找到其他有趣的内容。 随时在“评论”部分中提问,或者通过共享本教程向我们展示一些爱意🙂 \ No newline at end of file +如果您认为本教程有帮助,请查看我们的其他教程 - 我们确定您会在此页面上找到其他有趣的内容。 随时在“评论”部分中提问,或者通过共享本教程向我们展示一些爱意🙂 \ No newline at end of file diff --git a/docs/186.md b/docs/186.md index a5ec3b6..9631950 100644 --- a/docs/186.md +++ b/docs/186.md @@ -104,7 +104,7 @@ git add * git commit -m "Message explaining your changes" ``` -## 第 3 步-将更改推送到远程服务器 +## 第 3 步 - 将更改推送到远程服务器 在这一步中,您将对远程 Git 服务器进行更改,以供其他开发人员使用 diff --git a/docs/191.md b/docs/191.md index ec9b875..7b7bbdb 100644 --- a/docs/191.md +++ b/docs/191.md @@ -8,13 +8,13 @@ Node.js 轻巧高效。 我们可以使用它来将 Web 应用程序部署到我 ## 下载 Node.js -转到 Node.js 下载页面。 [https://nodejs.org/download/](https://nodejs.org/download/) 。 每个操作系统都有 2 个选项-安装程序和独立可执行文件。 您可以下载适合您的操作系统的文件。 +转到 Node.js 下载页面。 [https://nodejs.org/download/](https://nodejs.org/download/) 。 每个操作系统都有 2 个选项 - 安装程序和独立可执行文件。 您可以下载适合您的操作系统的文件。 ## 设置 Node.js 浏览到已安装(或解压缩)node.js 的文件夹。 -在与节点可执行文件相同的文件夹中创建一个名为`public_html`的文件夹-我们将使用此文件夹进行 Web 项目 +在与节点可执行文件相同的文件夹中创建一个名为`public_html`的文件夹 - 我们将使用此文件夹进行 Web 项目 在与节点可执行文件相同的文件夹中创建具有以下内容的新文件`webserver.js` diff --git a/docs/205.md b/docs/205.md index 47bd7b2..4204c52 100644 --- a/docs/205.md +++ b/docs/205.md @@ -61,7 +61,7 @@ Raspberry Pi 3 的硬件设置,以通过 L293D 和 Java 双向控制一台直 Raspberry Pi 3 Model B 引脚和 Pi4J 映射 -注意:本教程是针对 Raspberry Pi 3 B 型制作的,当然,您可以在 Raspberry Pi 1 或 2 中构建相同的电路并使用相同的 Java 代码-只需注意引脚编号即可。 +注意:本教程是针对 Raspberry Pi 3 B 型制作的,当然,您可以在 Raspberry Pi 1 或 2 中构建相同的电路并使用相同的 Java 代码 - 只需注意引脚编号即可。 1. 将 L293D 引脚#16 连接到 Pi 物理引脚#2(5.0 VDC 电源) 2. 将 L293D 的针脚 4,针脚 5,针脚 12 和针脚 13 连接到 Pi 物理针脚 6(接地) diff --git a/docs/3.md b/docs/3.md index b5bf6c2..58e9a13 100644 --- a/docs/3.md +++ b/docs/3.md @@ -10,7 +10,7 @@ ## Java 的好处 -为什么 Java 是当今编程语言的最佳选择? 当前 [Java 是世界上排名第一的开发平台](http://javatutorial.net/java-is-the-most-popular-programming-language-of-2015)! 它无处不在-在台式机,移动设备,企业服务器上……甚至 DVD 播放器都运行 Java。 如果您仍然不相信,那么这里有一些有趣的统计信息(*来自 Oracle 时间轴): +为什么 Java 是当今编程语言的最佳选择? 当前 [Java 是世界上排名第一的开发平台](http://javatutorial.net/java-is-the-most-popular-programming-language-of-2015)! 它无处不在 - 在台式机,移动设备,企业服务器上……甚至 DVD 播放器都运行 Java。 如果您仍然不相信,那么这里有一些有趣的统计信息(*来自 Oracle 时间轴): * 全球有超过 900 万开发人员使用 Java * 每年 10 亿次 Java 下载 diff --git a/docs/46.md b/docs/46.md index 3c5052c..f26403d 100644 --- a/docs/46.md +++ b/docs/46.md @@ -1,6 +1,6 @@ # Java 类加载器介绍 -> 原文: [https://javatutorial.net/java-class-loaders-解释性](https://javatutorial.net/java-class-loaders-explained) +> 原文: [https://javatutorial.net/java-class-loaders-explained](https://javatutorial.net/java-class-loaders-explained) 本文介绍了 Java 类加载器的关键组件。 diff --git a/docs/49.md b/docs/49.md index 786d36b..61d61c6 100644 --- a/docs/49.md +++ b/docs/49.md @@ -31,7 +31,7 @@ JProfiler 界面概述 从上图可以看到,它显示了与性能,内存直接相关的不同组件,可以轻松地帮助您优化程序。 -### 让我们尝试一个使用 JProfiler(或一般情况下进行概要分析)的实际用例-内存泄漏检测 +### 让我们尝试一个使用 JProfiler(或一般情况下进行概要分析)的实际用例 - 内存泄漏检测 #### 什么是内存泄漏? diff --git a/docs/58.md b/docs/58.md index 36832e5..fc22972 100644 --- a/docs/58.md +++ b/docs/58.md @@ -25,7 +25,7 @@ Java 中的`LinkedList`类使用双链表来存储元素,并且还提供了链 Java 中的`LinkedList` -这里的头是我上面提到的指针,该指针指向第一个元素。 第一个元素(以及链表中的每个单个元素)本质上具有两件事-数据和下一个。 数据只是指定元素包含的内容,其次是指向下一个元素的指针。 最后,在图示中我们可以看到 D 指向`null`,在链表中,`null`表示列表的末尾。 +这里的头是我上面提到的指针,该指针指向第一个元素。 第一个元素(以及链表中的每个单个元素)本质上具有两件事 - 数据和下一个。 数据只是指定元素包含的内容,其次是指向下一个元素的指针。 最后,在图示中我们可以看到 D 指向`null`,在链表中,`null`表示列表的末尾。 ## `LinkedList`中的构造方法 @@ -42,7 +42,7 @@ Java 中的`LinkedList` 6. `Iterator endingIterator()`:以反向双端队列的反向顺序返回元素上的迭代器。 7. `E element()`:从列表中检索第一个元素。 8. `E get(int index)`:返回列表中指定位置的元素。 -9. `int indexOf(Object o)`返回列表中指定元素首次出现的索引,如果不存在则返回-1。 +9. `int indexOf(Object o)`返回列表中指定元素首次出现的索引,如果不存在则返回 -1。 10. `boolean offer(E e)`:将指定的元素添加为列表的最后一个元素。 11. `E pop()`:从列表表示的栈中弹出一个元素。 12. `void push(E e)`:将元素压入列表表示的栈。 diff --git a/docs/9.md b/docs/9.md index 478b671..a301134 100644 --- a/docs/9.md +++ b/docs/9.md @@ -46,7 +46,7 @@ for (initialization; termination; increment) { `for(int i=0; i < 5; i++)` -第三个参数-增量-在循环的每个循环之后执行。 在这里,我们可以增加初始化部分中声明的变量的值。 +第三个参数 - 增量 - 在循环的每个循环之后执行。 在这里,我们可以增加初始化部分中声明的变量的值。 在我们的示例中,我们要做的是在每个循环周期后将`i`的值增加 1。 `i++`是一种简短形式,其功能与`i=i+1`完全相同。 -- GitLab