Java的数据类型两大类:

1、基本数据类型:定以后直接分配内存空间,存储在栈中。

又可细分为:

数值型:整数byte/short/int/long及浮点float/double;

字符型char;

布尔型boolean;

2、引用数据类型:栈中存储引用指针地址,指向实际存放的堆;

又可分为:

类class;

接口interface;

数组array;

=================================================================

Java内存管理与数据类型关系 学习

根据上面,需要了解Java内存,以下内容斜体字摘至:

http://www.cnblogs.com/whgw/archive/2011/09/29/2194997.html

Java内存分两类:栈内存和堆内存。

简单说,程序操作基本数据类型是直接操作栈内存中的数据,操作引用数据类型是通过栈中的地址访问其指向的堆内存。而管理堆内存由java 的虚拟机负责。

“堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量,这个变量的取值等于数组或者对象在堆内存中的首地址,在栈中的这个特殊的变量就变成了数组或者对象的引用变量,以后就可以在程序中使用栈内存中的引用变量来访问堆中的数组或者对象,引用变量相当于为数组或者对象起的一个别名,或者代号。引用变量是普通变量,定义时在栈中分配内存,引用变量在程序运行到作用域外释放。而数组&对象本身在堆中分配,即使程序运行到使用new产生数组和对象的语句所在地代码块之外,数组和对象本身占用的堆内存也不会被释放,数组和对象在没有引用变量指向它的时候,才变成垃圾,不能再被使用,但是仍然占着内存,在随后的一个不确定的时间被垃圾回收器释放掉。这个也是java比较占内存的主要原因”

**

阅读全文 »