类加载器

来源:互联网 发布:sms水动力学软件 编辑:程序博客网 时间:2024/06/07 18:25

         类从被加载到虚拟机内存中开始,到卸装出内存为止,它的整个生命周期包括了:加载,验证,准备,解析,初始化使用和卸载七个阶段。其中验证、准备和解析三个部分称为链接,也就是说,一个JAVA类从字节代码到能够被JVM中使用,需要经过加载 链接 初始化这三个步骤.

       

Java虚拟机的体系结构如上图所示:

            类装载器子系统,它根据给定的完整类名来装载类或接口

            执行引擎,它负责执行那些包含 在被装载类的方法中的指令。

            方法区以及一个,它们是由该虚拟机实例中所有线程共享的。当虚拟机装载一个class件时,它会从这个class文件包含的二进制数据中解析类型信息。然后,它把这些类型信息入到方法区中。当程序运行时,虚拟机会把所有该程序在运行时创建的对象都放到堆中。

             Java是由许多栈帧 或者 帧组成的,一个栈帧包含一个Java方法调用的状态。当线程调用一个Java方法时。虚拟机压入一个新的栈帧到该线程的Java栈中;当该方法返回时,这个栈帧就会从Java栈中被弹出或者抛弃。Java虚拟机没有寄存器,其指令集使用Java栈来存储中间数据。这样设计的原因是为了保持Java虚拟机的指令集尽量紧凑。同时也使于Java虚拟机在那些只有很少通用寄存器的平台上实现。另外,Java虚拟机的这种基于栈的体系结构,也有助于运行时某些虚拟机实现的动态编译器和即时编译器的代码优化。


0 0
原创粉丝点击