本文首发于 cartoon 的博客
转载请注明出处:https://cartoonyu.github.io/c…
-
说一下堆栈的区别?
-
存放数据类型的不同
- 栈存放基本类型变量和对象的引用变量
- 堆存放通过 new 关键字创建的对象和数组
-
内存回收的不同
- 栈中数据超过作用域则被释放
- 堆中数据的回收受垃圾回收机制的控制
-
-
队列和栈是什么?有什么区别?
- 队列是 FIFO 的数据结构,栈是 FILO 的数据结构
- 插入数据时,两者都是从尾部进行插入
- 返回数据时,队列是返回尾部数据,栈是返回头部数据
-
在选用基础数据结构中,因操作数据都为端口数据,建议使用链表
- 队列使用带头指针尾指针的链表
- 栈选用带尾指针的链表
-
什么是双亲委派模型
- 子加载器收到类加载请求后委派到父加载器加载
- 在父加载器无法完成请求后子加载器才尝试加载
-
说一下类加载的执行过程
-
加载
- 将 class 文件加载到 class 文件中
-
链接
- 将类合并到 JRE 中
-
初始化
- 加载并连接未被加载和连接的类中
- 初始化未初始化的直接父类
- 依次执行初始化语句
-