元注解,是对注解进行注解,用于规范注解,比如自定义了一个注解,可能需要使用元注解@Target用于说明一个注解的作用目标,比如是作用在方法、字段、方法参数、构造函数、类上、还是包上示例:@Target({TYPE,FIELDMETHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE})@Retention用于说明一个注解的作用范围,比如是在源文件、字节码文件、还是运行时有效示例:@Rentention(RetentionPolicy.SOURCE)以上示例表示,该注解只被保留在源文件阶段,编译为字节码后将被丢弃@Rentention的三个参数(或者说生命周期)RetentionPolicy.SOURCE 只在源码阶段存活RententionPolicy.CLASS 可以在源码和字节码阶段存活( 默认级别 )RententionPolicy.RUNTIME 源码(.java)、字节码(.class)、以及被JVM加载到内存 都是存活的
@SupressWarnings("") 注解初听他的中文名字,觉得忽然想笑,哈哈哈:压制警告作用告知编译器,忽略指定的警告信息参数rawtypes 忽略类型安全警告unused 忽略变量未使用警告deprecation 忽略过时警告unchecked 忽略安全检查警告null 忽略空指针警告all 忽略所有警告
typeof 是一个运算符typeof 返回一个值的数据类型typeof 100 // "number" typeof "ABC" // "string" typeof true // "boolean" typeof function(){} // "function" typeof [] // "object" typeof {} // "object" typeof undefined //"undefined" typeof $var // "undefined"数组([])和对象({})的返回值都是"object",怎么区分呢?Array.isArray([]) // true
ArrayList(常用)ArrayList 继承自 抽象类 List,常见写法:List list = new ArrayList() LinkedListLinkedList 不仅继承自抽象类List,还在此基础上实现了接口Deque (双向链表结构),以及接口Queue(队列)因此,LinkedList不仅具有List 集合的功能方法,更具有了一些特殊方法HashMap(常用)HashMap 是以键值对(key,value)的方式存储数据的,其中key不能重复,示例:HashMap<String,Object> hm = new HashMap<>()HashSetHashSet 中封装了一个 HashMap,Set作为Map的键而存在HashSet 中的元素是唯一的,不重复HashSet 中的元素是无序的(元素的存储顺序无法预测)
为什么要学会Markdown呢?因为简单易用,大部分平台都支持这种格式,通过简单的字符就可以实现一定的格式,相比HTML,Markdown语法的平滑迁移基本可以忽略样式影响。写日记,简直不要太爽,比如我现在就在使用MD编写这篇日志。六级标题\# 一级标题,等于H1\## 二级标题,等于H2...\###### 六级标题,等于H6无序和有序列表- 无序列表1- 无序列表2\1. 有序列表1\2. 有序列表2链接和图片[看,这是链接](url)\表格| 姓名 | 花名 || ---- | ----|| 李逵 | 黑旋风|小技巧 单元格的左、中、右对齐。:--左对齐,--:右对齐,:--:居中对齐分割线--------注意 分隔符号(-)需要至少三个。为什么?不为什么。这是语法规定,可能是一个或者两个的,都有了特定的含义。以上的简单东西,基本可以满足日常需求了如果你使用了一些高级编辑器,MD能做一些更高级的事情,比如:用文字写一个流程图,时序图等。还可以导出各种你喜爱的格式,比如,你用Markdown做了张个人简历,那你可以考虑导出一个PDF
Minghui
却道天凉好个秋!
CC BY-NC-SA 4.0