类生命周期

作者: battle_ | 来源:发表于2018-04-03 19:51 被阅读22次
image.png
类生命周期

类加载机制

  • 加载

获取类二进制流,静态结构转化为方法区的运行时存储结构,内存生成该类的Class对象,作为方法区这个类的各种数据的访问入口

  • 验证

确保该类文件符合JVM要求进行各种验证:文件格式,元数据,字节码,符号引用

  • 准备

方法区内存分配static变量空间,初步原始初始化,不会实例化变量,static final常量会进行初始化数值

  • 解析

将常量池的符号引替换为直接引用过程

  • 初始化

根据表达式初始化

  • 使用
  • 卸载

类加载器

  • 启动类加载器 Bootstrap ClassLoader
  • 扩展类加载器Extension ClassLoader
  • 应用类加载器Application ClassLoader

双亲委派模型

先尝试加载父类,依次向上请求
如果一个类加载器收到了类加载的请求,首先不会自己去尝试加载,而是把这个请求委派给父类加载器,每一个层次的加载器都是如此,依次递归,因此所有请求都是从顶层加载器->启动类加载器中开始,只有当父加载器反馈自己无法完成此加载时,子加载器才会尝试自己加载

  • 好处
    如果没有双亲委派模型,各个类自行加载,那么可能同一个Object类会出现多个不同的Object类,非常混乱,双亲委派模型提供了一种优先级层次关系,无论哪个类加载器要加载这个类,最终都会交到最顶端的启动类加载器进行加载,使得这个类在各种类加载器环境中都是同一个类。

相关文章

  • Java类加载机制

    java类加载机制 类的生命周期 类的生命周期包括7个阶段:加载 、验证、准备、解析、初始化、使用和卸载 类的初始...

  • 玩转类加载与类加载器

    一个类的生命周期 类生命周期 7 个阶段 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加...

  • JAVA类加载机制

    类的生命周期 类的生命周期分为以下7个阶段:加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 ...

  • JAVA类加载器

    记录JVM里类加载的过程,我们写了那么多类,却不知道类的加载过程,岂不尴尬。??️ 类的生命周期类的生命周期包括加...

  • 【小程序】生命周期

    小程序生命周期分为两类:应用生命周期和页面生命周期。 应用生命周期 应用生命周期包括onLaunch、onShow...

  • 「Java面试必会」类加载

    1.什么是类加载 2.类的生命周期 类的生命周期分为5个阶段:加载、验证、准备、解析和初始化 3.类加载器 启动类...

  • 类加载连接初始化阶段

    一、类的生命周期和加载阶段概述 类的生命周期 类的加载连接初始化过程 二、类的加载连接初始化详细过程  加载 使用...

  • 10,vue生命周期

    生命周期钩子=生命周期函数=生命周期事件 根据生命周期的不同分为三类: 创建阶段的生命周期 运行阶段的生命周期 销...

  • 微信小程序生命周期的记录

    小程序中生命周期分为3类: 应⽤的生命周期 页面的生命周期 组件的生命周期 一、生命周期 1. 应⽤的生命周期[h...

  • Android Lifecycle 简单使用

    观察者类,观察目标的生命周期 被观察的类,一般是activity或fragment 手动标记生命周期

网友评论

    本文标题:类生命周期

    本文链接:https://www.haomeiwen.com/subject/dwbhhxtx.html