提交 3779597e 编写于 作者: W wizardforcel

2020-06-23 17:56:42

上级 4ae049b7
......@@ -27,13 +27,13 @@
以下是 Log4j 附带的内置日志级别。
1. **OFF** – 关闭登录
2. **致命** – 严重错误导致应用终止
3. **错误** – 意外情况和运行时错误
4. **WARN** – 警告消息
5. **信息** – 提供有关一些有趣的运行时事件的信息
6. **DEBUG** – 最常用的日志级别,提供有关系统流程的详细信息
7. **跟踪**-信息的详细程度最高
1. **`OFF`** – 关闭登录
2. **`FATAL`** – 严重错误导致应用终止
3. **`ERROR`** – 意外情况和运行时错误
4. **`WARN`** – 警告消息
5. **`INFO`** – 提供有关一些有趣的运行时事件的信息
6. **`DEBUG`** – 最常用的日志级别,提供有关系统流程的详细信息
7. **`TRACE`** - 信息的详细程度最高
## Log4j 组件
......
......@@ -30,7 +30,7 @@
## 步骤 1:配置属性文件
首先,让我们看看 Log4j 的配置文件 **Log4j.properites** 文件中包含什么代码。
首先,让我们看看 Log4j 的配置文件`Log4j.properites`文件中包含什么代码。
```java
#Root logger options
......@@ -57,8 +57,8 @@ log4j.appender.dest.Append=false
我们将有两个记录器,
1. **rootLogger** – 处理系统生成的日志,并将它们输出到 **system.log** 文件,然后
2. **SeleniumTestLogger** – 处理由于用户手动插入代码而生成的日志,并输出到 **test.log** 文件
1. **`rootLogger`** – 处理系统生成的日志,并将它们输出到`system.log`文件,然后
2. **`SeleniumTestLogger`** – 处理由于用户手动插入代码而生成的日志,并输出到`test.log`文件
这两个记录器都将具有 RollingFileAppender 和 PatterLayout。
......
......@@ -6,7 +6,7 @@ I am sure you would have heard of headless by now because Google introduced head
您脑海中可能会出现的第一个问题是,为什么我首先需要一个无头的浏览器? 我收到你的来信。 不用担心 我有答案并且相信我,这些都是很好的答案。 因此,事不宜迟,以下是您无头的几个原因,
1. 如果您的目标是获得更好的**速度****性能,那么**别无所求! 由于无需为每个测试都启动浏览器 UI,从而避免了加载 JavaScript,CSS 和呈现 HTML 所需的所有时间,因此测试运行速度更快。
1. 如果您的目标是获得更好的**速度****性能**,那么别无所求! 由于无需为每个测试都启动浏览器 UI,从而避免了加载 JavaScript,CSS 和呈现 HTML 所需的所有时间,因此测试运行速度更快。
2. 通常,在 **CI(连续集成)管道**中,它需要在没有实际 GUI 的服务器或 Linux OS 等系统上运行。 无头模式节省了一天!
3. 如果您所有的测试都运行了几个小时怎么办? 在这种情况下,用户必须从字面上看屏幕,让系统执行其工作,直到所有测试占据整个屏幕为止。 相反,如果以无头模式执行,则用户可以在后台运行测试时继续执行其他任务。
4. 当脚本被开发并且稳定时,并不需要真正看到它们正在运行。 以更快的方式在无头模式下运行它们似乎很有意义。 借助日志,可以执行所需的调试。
......
......@@ -4,13 +4,13 @@
嗨,摇滚明星(音乐不包括在内)! 激动地进入 Vue.js 世界? 那我们还等什么呢?
*好消息:*入门 Vue 很简单。
*好消息*入门 Vue 很简单。
今天让我们保持 ***目标*** 非常简单。 遵循古老的传统,让我们旨在使用 Vue 在我们的网页上显示消息“ Hello World”。
今天让我们保持**目标**非常简单。 遵循古老的传统,让我们旨在使用 Vue 在我们的网页上显示消息“ Hello World”。
## 环境设置
由于我们已决定使一切保持简单,因此为什么不使用 **CDN** ,它基本上是从另一台服务器导入 Vue.js 的。 在本教程系列的后面,我们将使用 Vue CLI 和 Webpack 进行更复杂的设置来捆绑所有文件。 但是就目前而言,为了练习,理解和学习 Vue 的基础知识,CDN 会做。 是的,您也可以将这种简单的设置用于非常小的项目。
由于我们已决定使一切保持简单,因此为什么不使用 **CDN**,它基本上是从另一台服务器导入 Vue.js 的。 在本教程系列的后面,我们将使用 Vue CLI 和 Webpack 进行更复杂的设置来捆绑所有文件。 但是就目前而言,为了练习,理解和学习 Vue 的基础知识,CDN 会做。 是的,您也可以将这种简单的设置用于非常小的项目。
### 选项 1:
......@@ -44,11 +44,11 @@ Vue 也可用于 unpkg,
您可以[将 Vue.js 的开发或生产版本](https://vuejs.org/v2/guide/installation.html)下载到本地,并使用 HTML 文件中的<脚本>标签直接将其包含在内。
***注意***:开发版本包含控制台警告,这些警告对于调试非常有用。 而生产版本主要针对大小(通过使用 vue.js 文件的缩小版本等)和速度进行了优化,这对于在实时环境中发布非常重要。*
**注意**:开发版本包含控制台警告,这些警告对于调试非常有用。 而生产版本主要针对大小(通过使用 vue.js 文件的缩小版本等)和速度进行了优化,这对于在实时环境中发布非常重要。*
## 初始代码
我使用 Visual Studio Code 作为 IDE。 您可以使用 Sublime Text,WebStorm,Atom,Notepad ++或您选择的任何其他 IDE。 **我的建议?** 请选择 [***JS Fiddle***](https://jsfiddle.net/) ]标签。 这仅仅是锦上添花。 最好的部分是,您可以在一个屏幕上查看 HTML,CSS,JS 和输出。 与必须每次刷新一次以反映更改的浏览器不同,JS 小提琴会检测到更改并在“结果”窗格中自动呈现输出。
我使用 Visual Studio Code 作为 IDE。 您可以使用 Sublime Text,WebStorm,Atom,Notepad ++或您选择的任何其他 IDE。 **我的建议?** 请选择 [**JS Fiddle**](https://jsfiddle.net/) ]标签。 这仅仅是锦上添花。 最好的部分是,您可以在一个屏幕上查看 HTML,CSS,JS 和输出。 与必须每次刷新一次以反映更改的浏览器不同,JS 小提琴会检测到更改并在“结果”窗格中自动呈现输出。
使用以下代码创建一个 HTML 文件“ index.html”,
......
......@@ -14,7 +14,7 @@
</div>
```
这个“两个大括号”的意思是“ **模板** **语法**”,可以用它声明性地将数据渲染到 DOM。 由于系统是 Vue.js 的核心,因此这是可能的。 模板语法也称为“胡子语法”。
这个“两个大括号”的意思是“**模板语法**”,可以用它声明性地将数据渲染到 DOM。 由于系统是 Vue.js 的核心,因此这是可能的。 模板语法也称为“胡子语法”。
以下是“ index.js”文件中的代码,
......
......@@ -6,7 +6,7 @@
## 文本插值
还记得我们在[先前文章](https://javabeginnerstutorial.com/js/vue-js/2-template-syntax-reactivity/)之一中讨论的胡须/模板语法`{{ }}`吗? 这是数据绑定的基本形式,称为“ **文本插值**”。 可以使用伪指令`v-once`执行一次插值,尽管稍后会更新该属性的初始值。 单击此处的[,以获取有关`v-once`的详细说明以及代码示例和屏幕截图。](https://javabeginnerstutorial.com/vue-js/3-vue-directives/)
还记得我们在[先前文章](https://javabeginnerstutorial.com/js/vue-js/2-template-syntax-reactivity/)之一中讨论的胡须/模板语法`{{ }}`吗? 这是数据绑定的基本形式,称为“**文本插值**”。 可以使用伪指令`v-once`执行一次插值,尽管稍后会更新该属性的初始值。 单击[此处](https://javabeginnerstutorial.com/vue-js/3-vue-directives/),以获取有关`v-once`的详细说明以及代码示例和屏幕截图。
## 原始 HTML 插值
......
......@@ -24,16 +24,16 @@ data: {
好吧,不要惊慌! 我将逐字剖析此信息。
我们为`v-for`指令使用的*特殊语法*是“ `greeting in greetings`”。
我们为`v-for`指令使用的*特殊语法*是“`greeting in greetings`”。
* 首先, ***问候语*** – 建议在我们的情况下使用单数名词,问候语,作为数组元素的 ***别名*** 反复进行。 这可以是您选择的任何名称,然后可以在我们的代码中使用该名称来寻址每个数组项。
* 其次,作为语法一部分的 – ***定界符*** 中的 ***。 如果您具有 JavaScript 背景,那么所有这些看起来都应该很熟悉,因为在这里我们将`for in`和`for of`用于迭代目的。 即使使用 Vue,我们也可以使用`of`作为分隔符而不是`in`。***
* 首先, `greeting` – 建议在我们的情况下使用单数名词,`greeting`,作为数组元素的**别名**反复进行。 这可以是您选择的任何名称,然后可以在我们的代码中使用该名称来寻址每个数组项。
* 其次,作为语法一部分的 – **定界符**`in`。 如果您具有 JavaScript 背景,那么所有这些看起来都应该很熟悉,因为在这里我们将`for in``for of`用于迭代目的。 即使使用 Vue,我们也可以使用`of`作为分隔符而不是`in`
```java
<li v-for="greeting of greetings">{{ greeting }}</li>
```
* 最后, ***问候*** – 必须与 Vue 实例的`data`对象中的 ***阵列名称*** 完全相同。
* 最后, `greetings` – 必须与 Vue 实例的`data`对象中的**数组名称**完全相同。
在这里,为简单起见,我们在简单插值中使用变量`greeting`。 但它可以像其他任何属性一样使用,例如将其作为值传递给函数或将其绑定到链接的引用等。输出如下,
......
......@@ -2,7 +2,7 @@
> 原文: [https://javabeginnerstutorial.com/vue-js/10-rendering-lists-part-2/](https://javabeginnerstutorial.com/vue-js/10-rendering-lists-part-2/)
希望您已经知道[使用 v-for 指令遍历数组元素](https://javabeginnerstutorial.com/vue-js/9-rendering-lists-part-1/)。 在我们的应用中,我们处理的对象与数组一样多。 因此,不用费劲,让我们了解如何迭代对象的各种属性。 我听到你说:“ *那么对象数组呢?* ”我懂了。 我们也会处理这种情况!
希望您已经知道[使用 v-for 指令遍历数组元素](https://javabeginnerstutorial.com/vue-js/9-rendering-lists-part-1/)。 在我们的应用中,我们处理的对象与数组一样多。 因此,不用费劲,让我们了解如何迭代对象的各种属性。 我听到你说:“*那么对象数组呢?*”我懂了。 我们也会处理这种情况!
## 遍历对象
......
......@@ -44,7 +44,7 @@ Java Array 是一种数据结构类型,用于存储相同类型的多个变量
> 数组的大小意味着一个数组可以包含多少元素。
### 一维阵列
### 一维数组
new 关键字将用于构造一维/多维数组。
......@@ -53,7 +53,7 @@ new 关键字将用于构造一维/多维数组。
arr = new int[10]; One Dimensional Array
```
### 二维阵列
### 二维数组
这些是数组的数组。 因此,二维数组是 int 数组的数组。 因此,当您说的时候,您将创建一个 Long 类型的二维数组,这意味着它将是一个包含多个元素的数组,这些元素本身就是 Long 类型的数组。 ![java Multidimensional Array](img/ae49054e67c4cf1b4de88b06a5e1ac00.png)
......@@ -101,7 +101,7 @@ String valueAtIndex = strArray[0];
数组中的最后一个元素的索引号为(`size_of_the_array – 1`)。
## Java 阵列备忘单
## Java 数组备忘单
* 数组是相同类型的变量的集合。
* 数组始终在 HEAP 中创建。
......
......@@ -59,7 +59,7 @@ Collection API 提供了一组接口供您选择,但同时也为您提供了
* ArrayDeque
* 并发链接平台
### 6-阵列
### 6-数组
> 并非 Collection Framework 中的所有类都实现 Collection 接口。
>
......
......@@ -46,7 +46,7 @@ Java HashMap 是基于 HashTable 的 Map 实现。 这就是为什么面试官
7. HashMap 由 Array(Key)和 LinkedList(Value)支持。
8. HashMap 使用 hashcode(使用密钥)来标识应在 HashMap 中放置或检索对象的确切位置。
9. 最后,HashCode 返回后备数组中的确切位置(索引)。
10. 支持阵列的大小固定。 因此,只要 Array 已满(此映射中的键数达到其阈值)。 将创建一个具有新容量的新阵列,并将所有元素添加到该新阵列中。
10. 支持数组的大小固定。 因此,只要 Array 已满(此映射中的键数达到其阈值)。 将创建一个具有新容量的新数组,并将所有元素添加到该新数组中。
11. 在两种情况下(添加和检索对象)都将使用 HashCode,而在任何情况下均可以使用或可以不使用 equals()方法。
12. HashMap 中 Key 的最佳候选者是具有正确实现 Equals 和 Hashcode 方法的不可变类(示例:字符串类)。
13. 更好的哈希码和 equals 方法实现是 HashMap 的更好性能。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册