zoukankan      html  css  js  c++  java
  • jvm前奏篇

    javac编译原理 源文件----->类文件

      词法分析------>语法分析------>语义分析----字节码生成器------.class 文件

    javap  反编译

    之所以能到处运行就是 因为 class文件   就是 通过 javaformat  规范

    java 类加载机制:

    类文件要运行在JVM中,装载、链接、初始化

     装载:

    ① 就是查找和导入class 文件 将类文件转换为 二进制流  ClassLoader 类加载,不同的类加载器,加载不同区域的class文件

    ② 讲二进制流的静态结构,转换到 运行时数据区的某一块区域【方法区】

     同名的类 由上层去加载,这种模式叫做 双亲委派模型  (由父亲去加载,父亲加载到了 自己就不去加载了) 如果想打破这种规律,就是 重写 classLoader里面的 findClass方法  此处需要做实验 破坏双亲委派模型

    双亲委派模型很好地解决了各个类加载器的基础类统一问题(越是基础的类越由上层加载器加载),基础类被其他的对象锁调用,但是如果基础类需要加载调回其他用户的代码的时候模型便会被破坏。

    双亲委派模型工作过程是:如果一个类加载器收到类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器完成。每个类加载器都是如此,只有当父加载器在自己的搜索范围内找不到指定的类时(即ClassNotFoundException),子加载器才会尝试自己去加载。

    链接:

    一、验证

          验证数据的有效性

    二、准备

          为类的静态变量分配内存、初始化值 为默认值

    三、解析

          把类中的符号引号转化为直接引用

    初始化:

    类的静态变量,赋值真正的值

  • 相关阅读:
    RefineDet by hs
    RFCN by hs
    经典排序算法总结(二)by Rose
    Libra R-CNN——“平衡学习” by Rose
    经典排序算法总结(一)by Rose
    注意力机制在MDNet跟踪算法中的应用 by leona
    Deep Sort 多目标跟踪算法总结-by Wilson
    tf.truncated_normal_initializer
    tf.add_to_collection方法
    tf.trainable_variables方法
  • 原文地址:https://www.cnblogs.com/dayao666/p/12054671.html
Copyright © 2011-2022 走看看