JVM数据类型

字数 194阅读 64

1. 工作于JVM其上的数据类型有几种 ?

  1. primitive types
  2. reference types

2. 这几种类型的值都有哪些使用场景

  1. stored in variables
  2. passed as arguments
  3. returned by methods
  4. operated upon: primitive values and reference values

3. JVM 指令集怎么区分操作数的类型 ?

使用特定于类型的指令集, 例如: iadd, ladd, fadd, and dadd 分别作用于int, long, float, and double 类型的操作数, 具体参见 Types and the Java Virtual Machine

4. 基本类型和占用空间大小

大类 小类 默认值 有无符号 占用字节数 值域
整型 byte 0 1 [-2^7,2^7-1]
整型 short 0 2 [-2^{15},2^{15}-1]
整型 int 0 4 [-2^{31},2^{31}-1]
整型 long 0 8 [-2^{64},2^{64}-1]
整型 char null 2 [0,65535]
浮点型 float 正0 4
浮点型 double 正0 8
布尔型 boolean false 4 java中用1表示true, 0表示false, 为int类型
returnAddress pointers to the opcodes of Java Virtual Machine instructions

5. 引用类型及其值

1. 有哪几种引用类型 ?

引用类型 引用的内容
class types class instances
array types arrays
interface types class instances or arrays that implement interfaces

2. 引用类型与null

不引用任何一个对象,被记作null, 在运行时无类型, 但可以转化成任意类型

默认一个引用类型的值为null

ref: Data Types

推荐阅读更多精彩内容