最详细的Java学习点知识脑图,从基础到进阶,看完还有啥你不懂的

2020-02-11  本文已影响0人  Java_苏先生

一、代码块加载顺序

  1. 静态代码块只会加载1次,在普通代码块前执行,会在类链接中的准备阶段执行

  2. 普通代码块每次new的时候都会加载,在构造方法前执行,其实是编译的时候,代码被放到构造函数前

  3. 构造函数每次new都会加载。构造函数默认前面是super0方法。默认会先调用父类的构造函数

二、类加载器双亲委派

1. 类的加载过程

①. 类的加载

class文件加入内存,生成class对象

②. 类的链接

③. 类的初始化

类构造器(构造方法和静态代码块)初始化

2. 类的加载器

3. 双亲委派

三、String

1. Stringa= "adf"

2. String b = new String(" adf")

3. Stringc= "adf" + "df";Stringd = "adfdf";Stringe= a +"df"

4. final修饰,不可以被继承(不可以被修改)

5. 一般字符串的内部操作

6. length0方法

四、Integer

1. 直接赋值或者ValueOf田

2. new的话,是在堆中生成新对象

3. BigInteger是整形,任意大小

4. BigDecimal是浮点型,任意精度

五、注解

1. 元注解

2. 可重复注解, 类型注解

六、集合

1. 存储单值

①. 数组

②. collection

A. set

a. 实现

treeset

linkedhashSet

hashSet

b. 无序不可重复

c. linkedhashset和hashset的数据,一定要重写,并且要求hashcode方法和equals方法一致

B. list

a. 实现

arrayList线程不安全

vector线程安全

linkedList

b. 有序,可重复

2. 存储对值(map)

①. hashMap线程不安全

②. linkedHashMap线程不安全

③. concurrentHashMap分段锁线程安全

④. hashTable线程安全

⑤. treeMap有序的

⑥. key是无序的,不可以重复,使用set存储所有的key; Entry是无序, 可重复

⑦. 扩容

3. collections

集合相关的静态方法集

4. 排序

5. sizeQ方法

返回的是元素的个数,集合是没有length方法的

6. 数组和集合的相互转换

7. 集合遍历方式

8. 通配符?

List<?>

七、反射

1. 动态语言的特性,拿到运行时对象的状态类信息,class对象, 增加了代码的灵活性

2. 缺点:执行效率低,性能差

3. 功能

①. 拿到运行时对象的类信息

②. 根据运行时对象信息创建对象

③. 根据运行时对象信息使用其方法

④. 根据运行时对象信息修改成员,修改私有成员

⑤. 动态代理

4. 拿到class对象

5. class对象的作用

6. 提升反射使用的效率

八、lambda表达式

1. 实质:作为接口的实例

2. 接口需要是函数式接口

九、= =和equals

1. = =

2. equals

# 链接 Java程序员福利"常用资料分享"

上一篇下一篇

猜你喜欢

热点阅读