JVM之数据类型
1.概述
Java虚拟机的数据类型可分为两大类:原始类型(Primitive Types,也称为基本类型)和引用类型(Reference Types)。
Java虚拟机用不同的字节码指令来操作不同的数据类型 。
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 [1] :取值范围[true,false],默认值为false;
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位)类型数组的字节码指令。 ↩
JVM之数据类型的更多相关文章
- JVM的数据类型
Java虚拟机是通过某些数据类型来执行计算的,数据类型可以分为两种:基本类型和引用类型,基本类型的变量持有原始值,而引用类型的变量持有引用值. Java语言中的所有基本类型同样也都是Java虚拟机中的 ...
- JVM的相关知识整理和学习--(转载)
JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理.冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操 ...
- JVM基础:深入学习JVM堆与JVM栈
转自:http://developer.51cto.com/art/201009/227812.htm JVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题, ...
- 3.1日 重温JVM相关信息
1.JDK.JRE.JVM的关系: JDK是java开发的必备工具箱,JDK其中有一部分是JRE,JRE是JAVA运行环境,JVM则是JRE最核心的部分. 2.JVM的组成: JVM由4大部分组成:C ...
- JVM学习之-栈
JVM栈解决程序的运行问题,即程序如何执行,或者说如何处理数据;JVM堆解决的是数据存储的问题,即数据怎么放.放在哪儿,另外JVM堆中存的是对象.JVM栈中存的是基本数据类型和JVM堆中对象的引用. ...
- jvm栈-运行控制,jvm-堆运行存储共享单元
JVM-栈 2012-09-17 15:43:53 分类: Java 原文转自:http://www.blogjava.net/nkjava/archive/2012/03/15/371971.ht ...
- JVM规范系列第2章:Java虚拟机结构
本规范描述的是一种抽象化的虚拟机的行为,而不是任何一种(译者注:包括 Oracle 公司自己的 HotSpot 和 JRockit 虚拟机)被广泛使用的虚拟机实现. 记住:JVM规范是一种高度抽象行为 ...
- jvm虚拟机原理1
JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理.冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操 ...
- JVM知识(上)
目录 什么是JVM? JVM的生命周期 JVM的体系结构 JVM的数据类型 java虚拟机被称为"虚拟",因为它是一个抽象的计算机定义的规范.要运行一个Java程序,需要一个抽象的 ...
随机推荐
- 最全的CSS浏览器兼容问题
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格 ...
- HTTPURLConnection 发送Post数据
在使用HTTPURLConnection发送POST数据时,通常使用如下方式: byte[] body = new byte[512]; // 需要发送的body数据 URL url = new UR ...
- RealProxy深入
Program.cs class Program { static void Main(string[] args) { NoMethodLogging(); Console.WriteLine(&q ...
- php实现的笛卡儿积
之前在网上找到一个大牛写的版本(网址已经记不得了..),如下 function Descartes1() { //Cartesian product of arrays or strings or s ...
- shell命令
1:操作系统:人--使用-->shell(或应用程序)--呼叫-->kernel(核心)--->硬件2:查看shell的种类:# cat /etc/shells3:而这个登入系统的 ...
- 使用ehcache持久化数据到磁盘 并且在应用服务器重启后不丢失数据
使用ehcache时如何持久化数据到磁盘,并且在应用服务器重启后不丢失数据1.如何持久化到磁盘使用cache.flush(),每次写入到cache后调用cache.flush() ,这样ehcache ...
- Html菜鸡大杂烩
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- JSP学习流程
- js/css在html文档中的引用外部文件方式对比
包含css样式表和js脚本的最好方式是使用外部文件,因为css/js和html标记文档可以清晰地分离. css的外部引用写在<head></head>中: <head&g ...
- Unity全视角跟随鼠标右键转换视角实现——研究笔记
using UnityEngine; using System.Collections; public class CameraMove : MonoBehaviour { public Transf ...