JVM 规范小结

1、基础

1. 与 Java 语言

JVM 与 Java 语言没有必然的联系,只与 class 文件格式有关联。编程

2. 与 .class 文件

  1. class 文件包含了 Java 虚拟机指令集(字节码)和符号表,以及其余辅助信息。
  2. JVM 在 class 文件中施加了许多强制性语法和结构化约束。
  3. 凡是能用 class 文件正确表达出来的编程语言均可以在 JVM 中执行。

3. 数据类型

  1. 原始类型(基本类型),如 int、double、long <---> 原始值
  2. 引用类型,如 reference <---> 引用值

JVM 但愿类型检查能在程序运行前(编译阶段)完成。编程语言

(1)基本类型

① 整数类型编码

  1. byte 8位有符号二进制补码整数,默认值为0(下面3个也是)
  2. short 16位...
  3. int 32位...
  4. long 64位...
  5. char 16位无符号整数表示的、指向基本多文种平面(BMP)的 Unicode 码点,UTF-16 编码,默认为 null('u0000')

② 浮点数类型spa

  1. float 32位单精度(IEEE 754标准)
  2. double 64位单精度(IEEE 754标准)
  3. 五个特殊数值:正数0、负数0、正无穷大、负无穷大、NaN
  4. 除了 NaN 以外,其余值都是 有序的
  5. 有且仅有一个值 NaN 与自身比较返回 false
  6. 任何数字与 NaN 比较都会返回 true

③ returnAddresscode

值指向一条虚拟机虚拟机

④ boolean编译

在编译以后通常使用 int 数据类型代替class

相关文章
相关标签/搜索