Maven
一.什么是Maven?
Maven 是专门用于 构建 和 管理Java相关项目的工具。
最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。
二.Maven的工作原理?
三.Maven的配置,及其错误的处理
见....
四.关于Maven的重点知识点
1.坐标
<!--1.定义maven的坐标
1.1组id 一般采用公司域名倒写的方式 www.tedu.cn
1.2项目名 项目名称必须唯一
1.3版本号 指定项目的版本的.
问题: maven的坐标有什么意义?
答:
1.maven中央仓库采用坐标的形式管理所有的jar包.
2.可以根据坐标的位置,唯一定位jar包.
3.可以根据坐标.依赖其它项目!!!.
-->
<groupId>com.jt</groupId>
<artifactId>spring_demo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring_demo1</name>
<description>spring_demo1</description>
2.依赖
2.1规则
当用户依赖A.jar包,但是A.jar自动依赖B.jar包,B.jar包自动依赖C.jar.当用户只添加A.jar包时,会自动添加B/C的依赖. 这就是jar包依赖的传递性.
2.2原理
1.maven工具通过dependency标签和坐标查找指定的jar包文件
2.根据坐标查找包
3.保证jar包的安全
3.1 SHA1算法
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。 0-9 A-F
3.2 Hash算法知识的复习
-
如果数据相同,进行相同的hash(函数!!!)计算, 问:结果是否相同
答案: 必定相同!!! -
如果数据不相同,进行相同的hash(函数!!!)计算, 问: 数据是否相同
答案: 可能相同!!!
本质: HASH碰撞: 数可能不相同,但是结果可能一样. -
3.hash碰撞能不能避免???
不能避免,但是可以降低碰撞的概率解释: hash值的数量的是有限的,但是需要hash的数据是无限的!!!
- 常见hash一般是8位16进制数. 排列组合有多少种?
十六进制: 0-9 A-F 00000000-FFFFFFFF 答案: 2^32
思路: (24)8= 2^32