Java的基本数据类型,
分享于 点击 45929 次 点评:220
Java的基本数据类型,
Java的基本数据类型
类型 | 意义 | 取值 |
---|---|---|
boolean | 布尔值 | true或false |
byte | 8位有符号整型 | -128~127 |
short | 16位有符号整型 | -pow(2,15)~pow(2,15)-1 |
int | 32位有符号整型 | -pow(2,31)~pow(2,31)-1 |
long | 64位有符号整型 | -pow(2,63)~pow(2,63)-1 |
float | 32位浮点数 | IEEE754标准单精度浮点数 |
double | 64位浮点数 | IEEE754标准双精度浮点数 |
char | 字符型 | 16位不带符号,Unicode字符 |
JVM本地对应的类型
typedef unsigned char jboolean;
typedef signed char jbyte;
typedef short jshort;
typedef int jint;
typedef long long jlong;
或
typedef __int64 jlong;
typedef double jdouble;
typedef float jfloat;
typedef unsigned short jchar;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
Java的boolean在jvm中对应unsigned char类型(0为false而非0为true);byte对应signed char类型;short对应short类型;int对应int类型;long对应long long或者_int64类型;double对应double类型;float对应float类型;char对应unsigned short类型。
执行时的类型
在指令执行时JVM并不需要指明类型,因为指令已经包含了类型信息,但由于bytecode指令只用1个字节来表示,所以指令数量需要控制,并不是每种基础数据类型都有对应的操作指令,比如iload
lload
fload
dload
对应int
long
float
and
double
。类似还有ireturn
lreturn
freturn
dreturn
。
所以执行引擎只要根据不同的指令做不同的类型处理即可。
Java调本地
如果某个java对象调用了native方法,此本地方法由编译器编译后access flags 会生成ACC_NATIVE
标识,执行引擎执行bytecode时,根据java-jvm类型的映射也可能会涉及到类型处理。
相关文章
- 暂无相关文章
用户点评