Skip to content

Commit 3f38376

Browse files
committed
Update Java Notes
1 parent 1084367 commit 3f38376

2 files changed

Lines changed: 52 additions & 53 deletions

File tree

DB.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4606,7 +4606,7 @@ B+ 树为了保持索引的有序性,在插入新值的时候需要做相应
46064606

46074607
**适用条件**
46084608

4609-
* 需要存储引擎将索引中的数据与条件进行判断,所以优化是基于存储引擎的,只有特定引擎可以使用,适用于 InnoDB 和 MyISAM
4609+
* 需要存储引擎将索引中的数据与条件进行判断(所以条件列必须都在同一个索引中),所以优化是基于存储引擎的,只有特定引擎可以使用,适用于 InnoDB 和 MyISAM
46104610
* 存储引擎没有调用跨存储引擎的能力,跨存储引擎的功能有存储过程、触发器、视图,所以调用这些功能的不可以进行索引下推优化
46114611
* 对于 InnoDB 引擎只适用于二级索引,InnoDB 的聚簇索引会将整行数据读到缓冲区,不再需要去回表查询了,索引下推的目的减少 IO 次数也就失去了意义
46124612

@@ -4673,8 +4673,6 @@ CREATE INDEX idx_area ON table_name(area(7));
46734673

46744674

46754675

4676-
4677-
46784676
***
46794677

46804678

@@ -4900,12 +4898,12 @@ SQL 执行的顺序的标识,SQL 从大到小的执行
49004898

49014899
| type | 含义 |
49024900
| ------ | ------------------------------------------------------------ |
4903-
| ALL | Full Table Scan,MySQL 将遍历全表以找到匹配的行,全表扫描 |
4901+
| ALL | Full Table Scan,MySQL 将遍历全表以找到匹配的行,全表扫描,如果是 InnoDB 引擎是扫描聚簇索引 |
49044902
| index | Full Index Scan,index 与 ALL 区别为 index 类型只遍历索引树 |
49054903
| range | 索引范围扫描,常见于 between、<> 等的查询 |
49064904
| ref | 非唯一性索引扫描,返回匹配某个单独值的所有记录,本质上也是一种索引访问 |
49074905
| eq_ref | 唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配,常见于主键或唯一索引扫描 |
4908-
| const | 当 MySQL 对查询某部分进行优化,并转换为一个常量时,使用该类型访问,如将主键置于 where 列表中,MySQL 就能将该查询转换为一个常量 |
4906+
| const | 通过主键或者唯一索引来定位一条记录 |
49094907
| system | system 是 const 类型的特例,当查询的表只有一行的情况下,使用 system |
49104908
| NULL | MySQL 在优化过程中分解语句,执行时甚至不用访问表或索引 |
49114909

Frame.md

Lines changed: 49 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ Path 下配置:`%MAVEN_HOME%\bin`
177177

178178
### 手动搭建
179179

180-
1. 在 E 盘下创建目录 `mvnproject 进入该目录,作为我们的操作目录
180+
1. 在 E 盘下创建目录 mvnproject 进入该目录,作为我们的操作目录
181181

182182
2. 创建我们的 Maven 项目,创建一个目录 `project-java` 作为我们的项目文件夹,并进入到该目录
183183

@@ -283,7 +283,7 @@ Path 下配置:`%MAVEN_HOME%\bin`
283283
1. 在 IDEA 中配置 Maven,选择 maven3.6.1 防止依赖问题
284284
<img src="https://gitee.com/seazean/images/raw/master/Frame/IDEA配置Maven.png" alt="IDEA配置Maven" style="zoom:67%;" />
285285

286-
2. 创建 Maven,New Module → Maven→ 不选中 Create from archetype
286+
2. 创建 Maven,New Module → Maven → 不选中 Create from archetype
287287

288288
3. 填写项目的坐标
289289

@@ -320,15 +320,15 @@ Path 下配置:`%MAVEN_HOME%\bin`
320320

321321

322322

323-
web 工程:
323+
Web 工程:
324324

325-
1. 选择 web 对应的原型骨架(选择 Maven 开头的是简化的)
325+
1. 选择 Web 对应的原型骨架(选择 Maven 开头的是简化的)
326326

327327
![](https://gitee.com/seazean/images/raw/master/Frame/IDEA创建Maven-webapp.png)
328328

329-
2. 通过原型创建 web 项目得到的目录结构是不全的,因此需要我们自行补全,同时要标记正确
329+
2. 通过原型创建 Web 项目得到的目录结构是不全的,因此需要我们自行补全,同时要标记正确
330330

331-
3. web 工程创建之后需要启动运行,使用 tomcat 插件来运行项目,在 `pom.xml` 中添加插件的坐标:
331+
3. Web 工程创建之后需要启动运行,使用 tomcat 插件来运行项目,在 `pom.xml` 中添加插件的坐标:
332332

333333
```xml
334334
<?xml version="1.0" encoding="UTF-8"?>
@@ -413,7 +413,6 @@ web 工程:
413413

414414
注意:直接依赖和间接依赖其实也是一个相对关系
415415

416-
417416

418417
依赖传递的冲突问题:在依赖传递过程中产生了冲突,有三种优先法则
419418

@@ -423,9 +422,7 @@ web 工程:
423422

424423
* 特殊优先:当同级配置了相同资源的不同版本时,后配置的覆盖先配置的
425424

426-
427-
428-
**可选依赖:**对外隐藏当前所依赖的资源,不透明
425+
**可选依赖**:对外隐藏当前所依赖的资源,不透明
429426

430427
```xml
431428
<dependency>
@@ -437,7 +434,7 @@ web 工程:
437434
</dependency>
438435
```
439436

440-
**排除依赖:主动**断开依赖的资源,被排除的资源无需指定版本
437+
**排除依赖**:主动断开依赖的资源,被排除的资源无需指定版本
441438

442439
```xml
443440
<dependency>
@@ -663,44 +660,45 @@ Maven 的插件用来执行生命周期中的相关事件
663660

664661
- 间接依赖 ssm_dao、ssm_pojo
665662

666-
```xml
667-
<dependencies>
668-
<!--导入资源文件service-->
669-
<dependency>
670-
<groupId>demo</groupId>
671-
<artifactId>ssm_service</artifactId>
672-
<version>1.0-SNAPSHOT</version>
673-
</dependency>
674-
<!--springmvc环境-->
675-
<!--jackson相关坐标3个-->
676-
<!--servlet环境-->
677-
</dependencies>
678-
<build>
679-
<!--设置插件-->
680-
<plugins>
681-
<!--具体的插件配置-->
682-
<plugin>
683-
</plugin>
684-
</plugins>
685-
</build>
686-
```
687-
663+
664+
```xml
665+
<dependencies>
666+
<!--导入资源文件service-->
667+
<dependency>
668+
<groupId>demo</groupId>
669+
<artifactId>ssm_service</artifactId>
670+
<version>1.0-SNAPSHOT</version>
671+
</dependency>
672+
<!--springmvc环境-->
673+
<!--jackson相关坐标3个-->
674+
<!--servlet环境-->
675+
</dependencies>
676+
<build>
677+
<!--设置插件-->
678+
<plugins>
679+
<!--具体的插件配置-->
680+
<plugin>
681+
</plugin>
682+
</plugins>
683+
</build>
684+
```
685+
688686
- 修改 web.xml 配置文件中加载 Spring 环境的配置文件名称,使用*通配,加载所有 applicationContext- 开始的配置文件:
689-
687+
690688
```xml
691689
<!--加载配置文件-->
692690
<context-param>
693691
<param-name>contextConfigLocation</param-name>
694692
<param-value>classpath*:applicationContext-*.xml</param-value>
695693
</context-param>
696694
```
697-
695+
698696
- spring-mvc
699-
697+
700698
```xml
701699
<mvc:annotation-driven/><context:component-scan base-package="controller"/>
702700
```
703-
701+
704702

705703

706704
***
@@ -856,7 +854,11 @@ Maven 的插件用来执行生命周期中的相关事件
856854

857855
* 属性类别:
858856

859-
1.自定义属性 2.内置属性 3.Setting属性 4.Java系统属性 5.环境变量属性
857+
1. 自定义属性
858+
2. 内置属性
859+
3. setting 属性
860+
4. Java 系统属性
861+
5. 环境变量属性
860862

861863
* 自定义属性:
862864

@@ -898,13 +900,14 @@ Maven 的插件用来执行生命周期中的相关事件
898900

899901
* vresion 是 1.0-SNAPSHOT
900902

901-
```xml
902-
<groupId>demo</groupId>
903-
<artifactId>ssm</artifactId>
904-
<version>1.0-SNAPSHOT</version>
905-
```
906903

907-
* Setting 属性
904+
```xml
905+
<groupId>demo</groupId>
906+
<artifactId>ssm</artifactId>
907+
<version>1.0-SNAPSHOT</version>
908+
```
909+
910+
* setting 属性
908911

909912
- 使用 Maven 配置文件 setting.xml 中的标签属性,用于动态配置
910913

@@ -920,7 +923,7 @@ Maven 的插件用来执行生命周期中的相关事件
920923

921924
调用格式:
922925

923-
```
926+
```xml
924927
${user.home}
925928
```
926929

@@ -936,7 +939,7 @@ Maven 的插件用来执行生命周期中的相关事件
936939

937940
调用格式:
938941

939-
```
942+
```xml
940943
${env.JAVA_HOME}
941944
```
942945

@@ -977,9 +980,7 @@ RELEASE(发布版本)
977980

978981
- 里程碑版本:表明一个版本的里程碑(版本内部)。这样的版本同下一个正式版本相比,相对来说不是很稳定,有待更多的测试
979982

980-
范例:
981983

982-
- 5.1.9.RELEASE
983984

984985

985986

0 commit comments

Comments
 (0)