码迷,mamicode.com
首页 > 编程语言 > 详细

Java千百问_06数据结构(023)_基本数据类型在内存中如何存放

时间:2016-07-03 10:33:24      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

点击进入_更多_Java千百问

1、基本数据类型在内存中如何存放

了解基本数据类型看这里:java有哪8种基本数据类型
对于java中的8种基本数据类型,可以通过如下方式赋值给变量赋值。

int a = 3;

float b = 4.0f;

a = a + 2;

8中基本数据是将具体值直接存放在中,在发生变更时,将具体值替换为新的值。具体如下:

了解java如何管理内存看这里:jvm是如何管理内存的
了解java堆和栈的区别看这里:java堆和栈有什么区别

技术分享

对于基本数据类型,并没有基本数据池的概念,每次赋值并不会在栈中进行任何查询,而是直接存储值。

但是,对于基本数据类型的包装器,在一定数值范围内是存放在运行时常量池中的。

了解基本类型包装器看这里:什么是基本类型包装器
了解运行时常量池看这里:运行时常量池是什么

顺便提一句,对于基本数据类型,在内存中都是以二进制储存(当然,内存是以8位二进制作为一个存储单元,也就是一个字节),不同的类型所占用的内存空间(体现为存储单元)也不同。在java中,数值类型都是有符号存储(二进制首位为符号位),浮点类型也是遵循IEEE754、854标准

了解二进制表示整型看这里:[用二进制如何表示整型数值][7]
了解二进制表示浮点型看这里:[用二进制如何表示浮点型数值][8]

对于一些不靠谱的资料或博客会混淆这个概念,认为基本数据类型在存储时首先回去看看栈中是否有该值,如果没有则放入,如果有则指向。这种说法纯属瞎扯,一个简单的道理,如果我分配了2G的栈内存,是否每次简单的int a = 1的赋值时,难道都会去排查一下这2g的空间?java没有这些人想象的这么无聊。

Java千百问_06数据结构(023)_基本数据类型在内存中如何存放

标签:

原文地址:http://blog.csdn.net/ooppookid/article/details/51814050

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!