zoukankan      html  css  js  c++  java
  • 《深入理解JAVA虚拟机》第三版 第七,八章 要点总结

    本文仅作为复习清单使用

    类生命周期

    加载
    验证
    准备
    解析
    初始化
    使用
    卸载
    

    常量优化

    常量传播
    常量折叠
    

    类的加载

    通过全限定名获取二进制字节流
    将静态存储结构转化为方法区的运行时数据结构
    生成Class对象
    

    验证过程(可关闭)

    文件格式验证
    元数据验证
    字节码验证
    符号引用验证
    

    准备

    分配内存,并将分配的内存全部置零,static final定义的常量除外

    初始化

    调用()方法,此方法由Javac自动生成,包含赋值语句以及静态代码块

    类加载器

    不同的类加载器加载同一个字节码文件,构建出的两个类也是不相同的

    双亲委派模型

    启动类加载器
    扩展类加载器
    应用类加载器
    自定义加载器
    

    双亲委派模型过程:如果一个类加载器收到了类的加载请求,先交给父类处理,父类无法处理在自己处理

    模块化系统

    栈帧

    局部变量表
    操作数栈
    动态连接
    返回地址
    ...
    

    虚方法

    不属于下列方法,即为虚方法
    静态方法
    私有方法
    实例构造器
    父类方法
    final修饰的方法(仍然被invokevirtual调用)

    分派

    静态分派
    动态分派
    单分派与多分派
    

    虚方法表

    用于虚方法查找实际入口地址
    

    这两章没有什么大型知识点,建议老实看书

  • 相关阅读:
    日期和时间
    怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
    数据类型之间的转换:
    类的加载顺序,支出下列程序的输出结果
    内部类
    对象的类型转换
    简单继承
    封装
    计算a+b
    U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法
  • 原文地址:https://www.cnblogs.com/ZGQblogs/p/12586632.html
Copyright © 2011-2022 走看看