# zb_java0810 **Repository Path**: climpeaker/zb_java0810 ## Basic Information - **Project Name**: zb_java0810 - **Description**: java注解 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2018-08-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zb_java0810 # 课堂笔记 *java注解* *常用的排序算法* ## 1 java注解 * 1.1 注解的概念 注解:是源码进行说明性的元数据; java源码包含java的实现代码还包含注解; 注解和注释的区别: 注解是说明性的内容给jvm虚拟机用的;注解参与编译运行; 注释是说明性的内容给用户用的;注释不参与编译运行; jdk提供了三个内建注解【基本注解】: @Override 重写; @Deprecated 过时; @SupperessWarnings 忽略警告; * 1.2 自定义注解 进行自定义注解开发需要使用四个元注解: @Target 指明自定义注解作用的对象范围,可有有多给值; @Retention 指定自定义注解的生命周期 class:生命周期是编译阶段;运行之前舍弃; runtime:生命周期是java运行的整个阶段; source:生命周期是原码阶段;编译之前舍弃; @Documented 注解在使用javadoc命令时,会自动被舍弃; 该注解可以让javadoc命令生成的文档包含注解; 标识注解是否包含在javadoc命令生成的文档中,默认不包含; @Inherited 标识自定义注解是否可以被子类继承;默认不继承; 自定义注解的语法: @元注解 访问控制修饰符 @interface 注解名{ 注解的主体内容; // 可以定义注解赋值的参数 数据类型 参数名() default 默认值; } 解析: (1)@interface是注解的标识符; (2)使用元注解对自定义注解进行注解; (3)自定义注解的注解名按照类名的习惯进行命名【不要命名为已有注解的名字,否则会覆盖原有的注解】 (4)注解中定义的属性列表是在注解使用时需要进行赋值的属性列表; (5)注解中声明的属性可以有默认值,也可以没有默认值; ## 2 常用的排序算法 * 2.1 冒泡排序 算法思想: 经过多轮比较交换,每一轮有一个最值沉到底部; 经过多伦这样的处理就是一个有序序列; * 2.2 快速排序 算法思想: 根据分治法和递归进行排序。 随机一个数列中; 第一轮: (1)选取第一个元素作为标准元素, (2)从数列右边起向左查找第一个比标准元素小的数,将该数和第(1)中标准元素的位置进行交换; (3)从数列左侧起向右查找第一个比标准元素大的数,将该数和第(2)中标准元素的为值进行交换; (4)依次交叉执行(2)、(3)部操作,直到从右往左查找的位置小于等于从左往右查找的位置; 第二轮: (1)第一轮结束之后,会以标准元素作为分割点,分成了两部分,左侧的都小于标准元素,右侧的都大于标准元素; (2)依次对以上两部分,按照第一轮的操作,再次进行处理,直到处理完所有的元素为止; 算法解析: (1)因为选取的第一个元素作为标准元素,所有每次都必须先从右查找,再从左查找; (2)需要使用递归处理每一部分; (3)结束条件是:从右向左查找的位置<从左往右查找的位置 #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [http://git.mydoc.io/](http://git.mydoc.io/) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)