• 重读《深入理解Java虚拟机》三、Java虚拟机执行的数据入口(类文件结构)


    1、Java如何实现平台无关系

    Java要实现平台无关系就需要在Java代码和本地机器之间引入一个中间层,实现Java代码和本地机器的解耦,而这个中间层就是字节码。字节码独立于本地机器,以实现代码的可移植性。Java代

    码通过编译器编译成字节码,字节码又通过虚拟机编译为当前本地机器可识别的本地机器代码并执行。

    sss

    2、如何表示类和接口信息(Class文件的结构)

    虚拟机要做到语言无关性,就需要同一个字节码结构,实现字节码与特定语言的解耦。

    (1)类和接口所具有信息

         1)类和接口的名称、访问修饰符、包名(名称空间)即类和接口的完全限定名称

         2)类和接口内声明的的变量、方法和属性

         3)字段的信息有:字段的作用域、是否为静态、是否为常量、是否为volidate关键字修饰、字段的数据类型、字段的名称等

         4)方法和属性的信息有:方法的名称,方法的访问修饰符,方法的返回类型,方法的参数,方法是否为静态方法等

        Class文件要对应一个类或者接口,就一定是包含上述类和接口的所有信息的。

    (2)Class文件的数据类型

          无符号数:用来描述数字、索引引用、数量值、UTF-8字符串值

          表:用于表示具有层次关系的复合结构的数据

    (3)Class文件如何存储类和接口的信息

    image

  • 相关阅读:
    Servlet3.0-使用注解定义Servlet
    poj 1256 Anagram—next_permutation的神奇应用
    poj 1664 放苹果 (划分数)
    poj 1011 Sticks
    poj和hdu部分基础算法分类及难度排序
    Notepad++支持jQuery、html5、css3
    Codeforces Round #395 (Div. 2) C. Timofey and a tree
    Codeforces Round #390 (Div. 2) D. Fedor and coupons
    bazel-编译动态库
    bazel-编译多目标
  • 原文地址:https://www.cnblogs.com/wshcn/p/7050824.html
Copyright © 2020-2023  润新知