1.基本数据类型
java中的基本数据类型可以在栈中直接分配内存,它有以下八种:
boolean,byte,char,short,int,long,float,double
2.引用数据类型
除了基本数据类型外,还有例如 String 、Integer、用户自定义的引用数据类型(使用关键字new创建的类型),他们的对象的引用在栈中,对象实际存放在堆中,实际上是将对象的地址赋值了过去
不清楚的可以看下面的例子:
**//定义两个基本数据类型**
int i=10;
double j=2.0;
**//定义三个引用数据类型**
int[] arr={100,200,300};//Java中将数组作为一种特殊的引用类型处理
String str1="hello";
String str2="java";
存储情况如下:

图中的001、002、003是地址,String类型是字符串类型,它里面是字符串常量,存储在常量池中。
栈的小知识点:
1. 局部变量的空间是在栈上分配的;
2.栈上内存的分配规则是先定义的变量分配在更高的地址处。
版权声明:本文为qq_53130059原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。