1. 工作于JVM其上的数据类型有几种 ?
- primitive types
- reference types
2. 这几种类型的值都有哪些使用场景
- stored in variables
- passed as arguments
- returned by methods
- 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 | |
整型 | short |
0 | 有 | 2 | |
整型 | int |
0 | 有 | 4 | |
整型 | long |
0 | 有 | 8 | |
整型 | char |
null | 无 | 2 | |
浮点型 | 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