java returnaddress_JVM之数据类型

1.概述

Java虚拟机的数据类型可分为两大类:原始类型(Primitive Types,也称为基本类型)和引用类型(Reference Types)。

Java虚拟机用不同的字节码指令来操作不同的数据类型 。

e40960eac1bb4b1ca8e6a9555e1c65fe.png

2.原始类型

原始类型是最基本的元素,用于构成复杂的引用类型。与世间万物一样,都是由最基本的化学元素组合而成。

原始类型又分为三类:数值类型(Numberic Types)、布尔类型(Boolean Type)、ReturnAddress类型;数值类型又可以细化为整型(Integral Types)和浮点型(Floating-Point Types)。

整型

byte:8位 有符号 二进制补码整数,取值范围[-27,27-1],默认值为零;

short:16位 有符号 二进制补码整数,取值范围[-215,215-1],默认值为零;

int:32位 有符号 二进制补码整数,取值范围[-231,231-1],默认值为零;

long:64位 有符号 二进制补码整数,取值范围[-263,263-1],默认值为零;

char:16位 无符号 UTF-16编码Unicode值,取值范围[0,65535]默认值为null('\u0000');

浮点型

float:32位 单精度浮点数集合,默认值正数零;

double:64位 双精度浮点数集合,默认值为正数零;

布尔型

boolean

returnAddress类型

returnAddress [^2]:表示一条字节码指令的操作码,在JVM支持的原始类型中只有returnAddress类型不能直接与Java语言的数据类型对应的。

引用类型

Java虚拟机有三种引用类型:类类型(Class Types)、数组类型(Array Types)、接口类型(Interface Types),分别由类实例、数组实例及实现了某个接口的类实例或数组实例动态创建。此外,还有一个特殊值null,不指向任何对象时,引用类型的值就是null,同时,null也是引用类型的默认值。

对于数组类型,还包含一个单一维度的组件类型(Component Type),组件类型可以是数组、原始类型、类类型或者接口类型。当组件类型是数组类型时,继续重复取这个数组的组件类型,最后一层组件类型一定是非数组,这也是该数组类型的元素类型(Element Type)。这也是多维数组的实现形式。

在Java语言中涉及到boolean类型值的运算,在编译后都是用Java虚拟机的int(32位)数据类型来代替;boolean的数组类型的访问有修改共用byte(8位)类型数组的字节码指令。 ↩

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值