JVM虚拟机笔记

目录

内存结构

类加载子系统


  1. 内存结构

    • 高级语言编译--->字节码文件
    • -->类加载子系统(class loader system)
      • 加载(loader)
        • 类加载器
      • 链接(linked)
      • 初始化(init)
    • --->运行时数据区(runtime)
      1. 方法区
      2. 堆(堆数据是多个线程共享的)
      3. pc寄存器
      4. 本地方法栈(和下面的本地方法接口调用有关)
    • --->执行引擎
      1. 解释器
      2. 即时编译器
      3. 垃圾回收器
  2. 类加载子系统

    • 加载(硬盘加载到内存)

      • 之前编译成的class文件都特定的头,加载的类信息放在方法区的内存空间、
      • 通过类的全类名获取类的二级制流加载,类中静态的数据结构加载到方法区,在内存中生成大的clss类
    • 链接

      • 验证
        • 验证字节码文件的格式,比如说java的字节码文件开头
      • 准备
        • 为类变量赋默认初始值(static),初始化是在下一个阶段,但是final就是常量,常量是在类加载的时候就会有值;
      • 解析
    • 初始化

    • 类加载器

      • bootstarp classloader(启动类加载器)
      • extension calssloader(扩展类加载器)
      • appclassloader(系统类加载器)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值