Java基础知识:Java的基本类型

在随着自己对Java的使用中,发现对于内存的使用掌控月越重要。学习基本类型我们也要掌握内存占用情况,如果以后遇到内存紧张的时刻,在这里就需要使用到基本类型的知识
基本类型包含

数据类型 内存占用 值 域 默认值 虚拟机内部符号
boolean 4 byte 如果是数组形势占用一个字节 false.true false Z
byte 1 byte [0,65535] 0 S
short 2 byte [-32768,32767] 0 B
char 2 byte [0,65535] '\u0000' C
int 4 byte [ -2^31 , 2^31-1] 0 I
long 8 byte [-2^63, 2^63-1] 0L J
float 4 byte [-3.4E38,3.4E38] +0.0D F
double 8 byte [-1.8e308,1.8E308] +0.0F D

在做强制类型转换的 前面的可以直接进行转换到后面的类型。
+0.0F == -0.0F 在Java中返回的是数据为真。
+0.0F 是0 , -0.0F是符号位是1,其他位上均是0的参数 。
浮点数的正无穷,正浮点数除以+0.0F、
浮点数的负无穷,负浮点数除以-0.0F、
NaN (Not-a-Number) 分为标准类型与非标准类型。
内存中计算出来的值,能在内存中存在的是标准的NaN。eg: [0x7F800001]
其他类型称为不标准的NaN.

Java的基本类型大小

调用Java方法,会创建一个栈帧。
栈帧主要包含两个组成部分,局部变量区(包含实例方法的this指针和方法接收的参数)和字节码的操作数栈。
long ,double 在虚拟机规范中采用的是两个数组单元来存储。
其他基本类型以及引用类型的值均占用一个数组单元。简单来说就是 boolean,char,byte,short在栈上占用 的空间与int是一致的,32位系统都是4个字节;64位系统是8个字节。
这是栈系统的字节占用,堆上存储数据跟上面列表展示的占用大小是一致的。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容