3.类加载器,Class类的对象

作者:美狮美高梅官方网站

概述

虚拟机的类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。

类型的加载连接初始化过程都是在程序运行期间完成的。

  • 缺点:令类加载时稍微增加一些性能开销
  • 优点:为Java应用程序提供高度的灵活性。Java里天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的。

第一,后文中直接对“类”的描述都包括了类和接口的可能性,而对于类和接口需要分开描述的场景会特别指明;第二,本章所提到的“Class文件”并非特指某个存在于具体磁盘中的文件,这里所说的“Class文件”应当是一串二进制的字节流,无论以何种形式存在都可以。

Java字节代码:byte[]

目录

类加载的时机

类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:① 加载② 连接 [1] 验证(Verification) [2] 准备(Preparation) [3] 解析(Resolution)③ 初始化(Initialization)④ 使用⑤ 卸载(Unloading)

美狮美高梅官方网站 1类的生命周期加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始。而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,这是为了支持Java语言的运行时绑定(也称为动态绑定或晚期绑定)。

本文由美狮美高梅官方网站发布,转载请注明来源

关键词: