JAVA面试题38

6次阅读

共计 419 个字符,预计需要花费 2 分钟才能阅读完成。

    本文首发于 cartoon 的博客
     转载请注明出处:https://cartoonyu.github.io/c…

  • 说一下堆栈的区别?

    • 存放数据类型的不同

      • 栈存放基本类型变量和对象的引用变量
      • 堆存放通过 new 关键字创建的对象和数组
    • 内存回收的不同

      • 栈中数据超过作用域则被释放
      • 堆中数据的回收受垃圾回收机制的控制
  • 队列和栈是什么?有什么区别?

    • 队列是 FIFO 的数据结构,栈是 FILO 的数据结构
    • 插入数据时,两者都是从尾部进行插入
    • 返回数据时,队列是返回尾部数据,栈是返回头部数据
    • 在选用基础数据结构中,因操作数据都为端口数据,建议使用链表

      • 队列使用带头指针尾指针的链表
      • 栈选用带尾指针的链表
  • 什么是双亲委派模型

    • 子加载器收到类加载请求后委派到父加载器加载
    • 在父加载器无法完成请求后子加载器才尝试加载
  • 说一下类加载的执行过程

    • 加载

      • 将 class 文件加载到 class 文件中
    • 链接

      • 将类合并到 JRE 中
    • 初始化

      • 加载并连接未被加载和连接的类中
      • 初始化未初始化的直接父类
      • 依次执行初始化语句
正文完
 0