学习目标:
- Java面试题
- MySQL面试题
- Redis面试题
学习内容:
2024-01-26:
- 类的生命周期
- List和Set的区别
- Java面向对象有哪些特征
具体内容:
类的生命周期
一个类完整的生命周期分为5段,分别为加载、连接、初始化、使用和卸载,其中连接又分为三个步骤,验证、准备和解析
加载(Loading):.class磁盘存储-》Jvm内存存储
连接(Linking):
验证:验证class文件是否正常,验证类定义是否正确,验证方法变量格式有问题
准备:对类的静态变量初始化,如int初始化为0,布尔类型初始化为false
解析:从字符引用解析成直接引用
初始化(Initailition):用到类的时候进行初始化
使用(Using):调用对象方法进行使用
卸载(Unlading):对象没有被引用后,会被JVM垃圾回收期卸载掉
注:加载和连接是启动程序一定会执行的,初始化、使用、卸载只有在用到这个类的时候才会执行
List和Set的区别
List | Set |
---|---|
有序 | 无序 |
可插入重复元素 | 不可插入重复元素 |
允许有多个null | 只允许有一个null |
可以使用迭代器(iterator)取出所有元素,也可以使用get(int index)去除指定下标元素 | 只可以使用迭代器(iterator)取出所有元素 |
Java面向对象有哪些特征
面向对象三大特征,继承、封装、多态
封装:封装类的内部一些实现机制,在不影响使用的情况下改变类内部的结构。
继承: 父类的属性、方法,子类也具备
多态:依赖于继承和方法重写,多态是指同一个类型的对象在不同场景下表现的不同行为