1. JVM内存模型:JVM内存模型将运行时数据区域分为堆(Heap),用于存放对象实例,是垃圾回收的主要区域;方法区(Method Area),存储类信息、常量、静态变量等,JDK 8后被元空间(MetaSpace)替代;程序计数器(Program Counter Register),记录当前线程执行字节码的行号;虚拟机栈(Java Virtual Machine Stack),每个线程私有,存储局部变量表、操作数栈等;本地方法栈(Native Method Stack),为Native方法服务。各区域分工明确,共同保障Java程序的内存管理与运行。 2. 类加载过程,字节码加载过程:类加载过程分为加载、验证、准备、解析和初始化五个阶段。加载阶段负责通过类的全限定名获取字节码二进制流,并创建Class对象;验证阶段校验字节码文件的安全性和合法性;准备阶段为类变量分配内存并设置初始值;解析阶段将符号引用转为直接引用;初始化阶段执行类构造器 <clinit>() 方法,初始化静态变量和执行静态代码块。字节码加载属于加载阶段,通过类加载器(启动类加载器、扩展类加载器、应用程序类加载器)按双亲委派模型从文件系统、网络等途径获取字节码,确保类加载的安全性与唯一性 。
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务