X Tutup
Skip to content

Commit c0ea99a

Browse files
committed
📝 Writing docs.
1 parent 7bf36c0 commit c0ea99a

File tree

6 files changed

+143
-213
lines changed

6 files changed

+143
-213
lines changed

docs/SUMMARY.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
* [Java 枚举](basics/java-enum.md)
99
* [Java 国际化](basics/java-locale.md)
1010
* [进阶](advanced/README.md)
11-
* [注解](advanced/annotation.md)
12-
* [正则(一)](advanced/regex/regex_quickstart_01.md)
13-
* [正则(二)](advanced/regex/regex_quickstart_02.md)
14-
* [正则(三)](advanced/regex/regex_quickstart_03.md)
11+
* [Java 注解](advanced/java-annotation.md)
12+
* [Java 正则(一)](advanced/java-regex-01.md)
13+
* [Java 正则(二)](advanced/java-regex-02.md)
14+
* [Java 正则(三)](advanced/java-regex-03.md)
1515

1616
## Effective Java
1717

docs/advanced/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
# JavaSE - 进阶篇
22

3-
## 内容
3+
## 目录
4+
5+
* [Java 注解](java-annotation.html)
6+
* [Java 正则(一)](java-regex-01.html)
7+
* [Java 正则(二)](java-regex-02.html)
8+
* [Java 正则(三)](java-regex-03.html)
Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
# Java 注解
1+
---
2+
title: Java 注解
3+
date: 2017/11/08
4+
categories:
5+
- javase
6+
tags:
7+
- javase
8+
- annotation
9+
---
210

311
## 什么是注解(Annotation)
412

@@ -18,23 +26,23 @@ Annotation(注解)就是 Java 提供了一种元程序中的元素关联任
1826

1927
元数据的功能作用有很多,比如:你可能用过 Javadoc 的注释自动生成文档。这就是元数据功能的一种。总的来说,元数据可以用来创建文档,跟踪代码的依赖性,执行编译时格式检查,代替已有的配置文件。如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类:
2028

21-
1.         编写文档:通过代码里标识的元数据生成文档
29+
1. 编写文档:通过代码里标识的元数据生成文档
2230

23-
2.         代码分析:通过代码里标识的元数据对代码进行分析
31+
2. 代码分析:通过代码里标识的元数据对代码进行分析
2432

25-
3.         编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查
33+
3. 编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查
2634

2735
在 Java 中元数据以标签的形式存在于 Java 代码中,元数据标签的存在并不影响程序代码的编译和执行,它只是被用来生成其它的文件或针在运行时知道被运行代码的描述信息。
2836

2937
综上所述:
3038

31-
1.         元数据以标签的形式存在于Java代码中。
39+
1. 元数据以标签的形式存在于Java代码中。
3240

33-
2.         元数据描述的信息是类型安全的,即元数据内部的字段都是有明确类型的。
41+
2. 元数据描述的信息是类型安全的,即元数据内部的字段都是有明确类型的。
3442

35-
3.         元数据需要编译器之外的工具额外的处理用来生成其它的程序部件。
43+
3. 元数据需要编译器之外的工具额外的处理用来生成其它的程序部件。
3644

37-
4.         元数据可以只存在于 Java 源代码级别,也可以存在于编译之后的Class文件内部。
45+
4. 元数据可以只存在于 Java 源代码级别,也可以存在于编译之后的Class文件内部。
3846

3947

4048

@@ -52,23 +60,22 @@ Annotation(注解)就是 Java 提供了一种元程序中的元素关联任
5260

5361
根据注解参数的个数,我们可以将注解分为三类:
5462

55-
1. 标记注解
63+
1. 标记注解
5664

57-
一个没有成员定义的注解类型被称为标记注解。这种注解类型仅使用自身的存在与否来为我们提供信息。比如后面的系统注解 `@Override`
65+
一个没有成员定义的注解类型被称为标记注解。这种注解类型仅使用自身的存在与否来为我们提供信息。比如后面的系统注解 `@Override`
5866

59-
2. 单值注解
60-
61-
3. 完整注解  
67+
2. 单值注解
6268

69+
3. 完整注解  
6370

6471

6572
根据注解使用方法和用途,我们可以将注解分为三类:
6673

67-
1.         JDK内置系统注解
74+
1. JDK内置系统注解
6875

69-
2.         元注解
76+
2. 元注解
7077

71-
3.         自定义注解
78+
3. 自定义注解
7279

7380

7481

@@ -78,12 +85,9 @@ Annotation(注解)就是 Java 提供了一种元程序中的元素关联任
7885

7986
JavaSE中内置三个标准注解,定义在 `java.lang` 中:
8087

81-
- **@Override**:用于修饰此方法覆盖了父类的方法;
82-
83-
- **@Deprecated**:用于修饰已经过时的方法;
84-
85-
- **@SuppressWarnnings**:用于通知java编译器禁止特定的编译警告。
86-
88+
1. **@Override**:用于修饰此方法覆盖了父类的方法;
89+
2. **@Deprecated**:用于修饰已经过时的方法;
90+
3. **@SuppressWarnnings**:用于通知java编译器禁止特定的编译警告。
8791

8892
下面我们依次看看三个内置标准注解的作用和使用场景。
8993

@@ -318,14 +322,13 @@ public @interface 注解名 {定义体}
318322

319323
注解类型里面的参数该怎么设定:
320324

321-
1. 只能用 public 或默认(default)这两个访问权修饰。
322-
323-
例如:`String value();` 这里把方法设为 default 默认类型。 
325+
- 只能用 public 或默认(default)这两个访问权修饰。
324326

325-
2. 参数成员只能用基本类型 byte、char、short、int、long、float、double、boolean 八种基本数据类型和 String、Enum、Class、注解等数据类型,以及这一些类型的数组。例如:`String value();` 这里的参数成员就为 String。
327+
例如:`String value();` 这里把方法设为 default 默认类型。 
326328

327-
3. 如果只有一个参数成员,最好把参数名称设为"value",后加小括号。例:下面的例子 FruitName 注解就只有一个参数成员
329+
- 参数成员只能用基本类型 byte、char、short、int、long、float、double、boolean 八种基本数据类型和 String、Enum、Class、注解等数据类型,以及这一些类型的数组。例如:`String value();` 这里的参数成员就为 String
328330

331+
- 如果只有一个参数成员,最好把参数名称设为"value",后加小括号。例:下面的例子 FruitName 注解就只有一个参数成员。
329332

330333
简单的自定义注解和使用注解实例:
331334

@@ -550,8 +553,8 @@ public class FruitRun {
550553

551554
## 资料
552555

553-
[注解(Annotation)基本概念](http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html) by peida
556+
- [注解(Annotation)基本概念](http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html) by peida
554557

555-
[注解(Annotation)自定义注解入门](http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html) by peida
558+
- [注解(Annotation)自定义注解入门](http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html) by peida
556559

557-
[注解(Annotation)注解处理器](http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html) by peida
560+
- [注解(Annotation)注解处理器](http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html) by peida

docs/advanced/regex/regex_quickstart_01.md renamed to docs/advanced/java-regex-01.md

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
1-
# 导读
1+
---
2+
title: Java 正则(一)
3+
date: 2017/11/08
4+
categories:
5+
- javase
6+
tags:
7+
- javase
8+
- regex
9+
---
10+
11+
## 导读
212

313
**正则表达式是什么?有什么用?**
414
***正则表达式(Regular Expression)***是一种文本规则,可以用来**校验****查找****替换**与规则匹配的文本。
@@ -34,9 +44,7 @@
3444

3545
>本文是**Java正则速成秘籍的招式篇**。主要介绍JDK对于正则表达式的支持。
3646
37-
38-
39-
# 概述
47+
## 概述
4048

4149
JDK中的`java.util.regex`包提供了对正则表达式的支持。
4250

@@ -49,9 +57,7 @@ JDK中的`java.util.regex`包提供了对正则表达式的支持。
4957

5058
***注:***需要格外注意一点,在Java中使用反斜杠"\\"时必须写成 `"\\"`。所以本文的代码出现形如`String regex = "\\$\\{.*?\\}"` 其实就是"\\$\\{.*?\\}",不要以为是画风不对哦。
5159

52-
53-
54-
# Pattern类
60+
## Pattern类
5561

5662
`Pattern`类没有公共构造方法。要创建一个`Pattern`对象,你必须首先调用其**静态方法**`compile`,加载正则规则字符串,然后返回一个Pattern对象。
5763

@@ -65,9 +71,7 @@ Matcher m = p.matcher(content);
6571
```
6672

6773

68-
69-
70-
# Matcher类
74+
## Matcher类
7175

7276
`Matcher`类可以说是`java.util.regex`核心类中的必杀技!
7377

@@ -79,7 +83,7 @@ Matcher m = p.matcher(content);
7983

8084
下面我们来领略一下这三块的功能。
8185

82-
## 校验文本是否与正则规则匹配
86+
### 校验文本是否与正则规则匹配
8387

8488
为了检查文本是否与正则规则匹配,Matcher提供了以下几个返回值为`boolean`的方法。
8589

@@ -92,7 +96,7 @@ Matcher m = p.matcher(content);
9296

9397
如果你傻傻分不清上面的查找方法有什么区别,那么下面一个例子就可以让你秒懂。
9498

95-
### 案例:lookingAt vs find vs matches
99+
#### 案例:lookingAt vs find vs matches
96100

97101
```java
98102
public static void main(String[] args) {
@@ -160,7 +164,7 @@ regex = “world” 表示的正则规则是以world开头的字符串,regex =
160164

161165

162166

163-
## 查找匹配正则规则的文本位置
167+
### 查找匹配正则规则的文本位置
164168

165169
为了查找文本匹配正则规则的位置,`Matcher`提供了以下方法:
166170

@@ -173,9 +177,7 @@ regex = “world” 表示的正则规则是以world开头的字符串,regex =
173177
| 5 | **public String group()**返回前一个符合匹配条件的子序列。 |
174178
| 6 | **public String group(int group)**返回指定的符合匹配条件的子序列。 |
175179

176-
177-
178-
### 案例:使用start()、end()、group() 查找所有匹配正则条件的子序列
180+
#### 案例:使用start()、end()、group() 查找所有匹配正则条件的子序列
179181

180182
```java
181183
public static void main(String[] args) {
@@ -210,9 +212,7 @@ start: 16, end: 21, group: world
210212

211213
例子很直白,不言自明了吧。
212214

213-
214-
215-
## 替换匹配正则规则的文本
215+
### 替换匹配正则规则的文本
216216

217217
替换方法是替换输入字符串里文本的方法:
218218

@@ -224,9 +224,7 @@ start: 16, end: 21, group: world
224224
| 4 | **public String replaceFirst(String replacement)** 替换模式与给定替换字符串匹配的输入序列的第一个子序列。 |
225225
| 5 | **public static String quoteReplacement(String s)**返回指定字符串的字面替换字符串。这个方法返回一个字符串,就像传递给Matcher类的appendReplacement 方法一个字面字符串一样工作。 |
226226

227-
228-
229-
### 案例:replaceFirst vs replaceAll
227+
#### 案例:replaceFirst vs replaceAll
230228

231229
```java
232230
public static void main(String[] args) {
@@ -257,9 +255,7 @@ replaceFirst:替换第一个匹配正则规则的子序列。
257255

258256
replaceAll:替换所有匹配正则规则的子序列。
259257

260-
261-
262-
### 案例:appendReplacement、appendTail和replaceAll
258+
#### 案例:appendReplacement、appendTail和replaceAll
263259

264260
```java
265261
public static void main(String[] args) {
@@ -295,9 +291,7 @@ appendTail: I can not because I think I can not.
295291

296292
如果你查看`replaceAll`的源码,会发现其内部就是使用`appendReplacement``appendTail`方法组合来实现的。
297293

298-
299-
300-
### 案例:quoteReplacement和replaceAll,解决特殊字符替换问题
294+
#### 案例:quoteReplacement和replaceAll,解决特殊字符替换问题
301295

302296
```java
303297
public static void main(String[] args) {
@@ -366,4 +360,4 @@ replaceAll: product is ${product}.
366360

367361
**说明**
368362

369-
字符串中如果有`\``$`,不能被正常解析的问题解决。
363+
字符串中如果有`\``$`,不能被正常解析的问题解决。

0 commit comments

Comments
 (0)
X Tutup