java内存
栈内存
1、存放基本的类型变量,对象的引用和方法的调用,遵循先入后出的原则
2、特点
(1)存取速度快,仅次于寄存器
(2)栈内数据可以共享
3、缺点:数据大小和生命周期确定,缺乏灵活性
堆内存
1、堆内存存放所有new出来的对象和数组
2、特点:1、堆内存可以动态的分配空间
2、灵活、空间大
3、缺点:速度慢,易产生内存碎片
两者区别
1、栈内存生命周期短,而堆内存的生命周期到程序运行结束而结束
2、栈内存比堆内存小,但栈内存读取速度比堆内存快
3、堆内存中的对象全局可以访问,栈内存不能被其它线程所访问