美文网首页
Java虚拟机-数据类型

Java虚拟机-数据类型

作者: 贪睡的企鹅 | 来源:发表于2019-08-01 22:44 被阅读0次

1 JVM的数据类型

我们知道 Java 语言的类型可以分为两大类:基本类型(primitive types)和引用类型(reference types)。

image

1.1 基本类型

Java 的基本类型还包括整数类型 byte、short、char、int 和 long,以及浮点类型 float 和 double,boolean。

1.1.2 Java 基本类型的取值范围

image

Java 的基本类型都有对应的值域和默认值。可以看到,byte、short、int、long、float 以及 double 的值域依次扩大,而且前面的值域被后面的值域所包含。因此,从前面的基本类型转换至后面的基本类型,无需强制转换。

1.1.2 Java 基本类型的大小

栈帧中

在栈帧中除了 long、double 值需要用两个变量槽单元来存储之外,其他基本类型以及引用类型的值均占用一个变量槽单元存储。也就是说,boolean、byte、char、short 这四种类型,在栈上占用的空间和 int 是一样的,和引用类型也是一样的。因此,在 32 位的 HotSpot 中,这些类型在栈上将占用 4 个字节;而在 64 位的 HotSpot 中,他们将占 8 个字节。

堆中

对于 byte、char 以及 short 这三种类型的字段或者数组单元,它们在堆上占用的空间分别为一字节、两字节,以及两字节,也就是说,跟这些类型的值域相吻合。

1.2 引用类型

Java 引用类型将其细分为四种:类、接口、数组类和泛型参数。由于泛型参数会在编译过程中被擦除,因此 Java 虚拟机实际上只有前三种。在类、接口和数组类中,数组类是由 Java 虚拟机直接生成的,其他两种在Class文件中则有对应的字节流。

引用类型只存在于栈或方法区中大小为4个字节

相关文章

  • Java-基本数据类型

    Java虚拟机中基本数据类型实践 参考一Java的基本数据类型在虚拟机中的实现 参考二深入了解Java虚拟机-Ja...

  • 30-类的加载过程(类的生命周期)

    一、概述 Java中数据类型分为“基本数据类型”和“引用数据类型”。 基本数据类型:由虚拟机预先定义 引用数据类型...

  • JVM调优总结(一): 一些概念

    源自:http://pengjiaheng.iteye.com/blog/518623 数据类型 Java虚拟机中...

  • JVM - 数据类型

    与Java程序语言中的数据类型相似,Java虚拟机可以操作的数据类型可分为两类:原始类型(Primitive Ty...

  • 类的生命周期概述

    在Java中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。...

  • java虚拟机是如何加载java类

    java中的语言类型 基本数据类型 java虚拟机预先定义好的 引用类型 1,类(字节流)2,接口(字节流)3,数...

  • 001 JVM调优总结

    [转] 数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表...

  • java之基本类型和引用类型,堆和栈

    >>数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。 基本类型的变量保存原始值,即:他代表的...

  • Class类文件结构

    按照Java虚拟机规范的规定,Class文件结构只有两种数据类型:无符号数和表 无符号数无符号数属于基本的数据类型...

  • Java复习面试指南02-JDK和JRE的区别?程序从源代码到运

    Java虚拟机(Java Virtual Machine) Java虚拟机(Java Virtual Machin...

网友评论

      本文标题:Java虚拟机-数据类型

      本文链接:https://www.haomeiwen.com/subject/ixphdctx.html