JVM学习笔记

    xiaoxiao2026-05-15  7

    虚拟机的体系结构

    数据类型 分为两种:基本类型和引用类型。基本类型持有原始值,引用类型持有引用值 基本类型为:float、double、byte、short、int、long、char boolean、returnAddress. 数据类型的取值范围

    类装载器子系统 类装载器子系统顺序 1)装载–查找并装载类型的二进制数据。 2)链接–执行验证,准备,以及解析(可选) 验证: 确保被导入类型的正确性。 准备:为类变量分配内存,并将其初始化为默认值 解析:把类型中的符号引用转换为直接引用。 3)初始化 :把类变量初始化为正确的初始值

    方法区 java虚拟机中,关于被装载类型的信息存储在一个逻辑上被称为方法区的内存中。当虚拟机装载某个类型时,它使用类装载器定位相应的class文件,然后读入这个class文件。 当虚拟机运行java程序是,它会查存储在方法区中的类型信息。 方法区的大小不必是固定的,虚拟机可以动态调整。也不必是连续的,方法区可以在一个堆中自由分配。虚拟机允许用户或者程序员指定初始大小和最大最小。

    堆 java程序在运行时创建的所有类实例或者数组都放在同一个堆中。而一个JAVA虚拟机实例中只存在一个堆空间,即是说所有线程都共享这个堆。由于一个JAVA程序独占一个JAVA虚拟机实例,因而每个程序都有它自己的堆空间。

    垃圾收集 因为在虚拟机中有一条在堆中分配信对象的指令,却没有释放的指令。正如在JAVA中无法决定何时回收内存,虚拟机把这个任务交给了垃圾收集器。

    转载请注明原文地址: https://ju.6miu.com/read-1309724.html
    最新回复(0)