堆与栈的区别 面试 内存中栈,堆,静态区到底有什么区别?
内存中栈,堆,静态区到底有什么区别?通常,我们定义一个基本数据类型的变量、一个对象的引用、函数调用的现场存储都使用内存中的堆栈空间;而new关键字和构造函数创建的对象放在堆空间中;程序中的文字值,如直
内存中栈,堆,静态区到底有什么区别?
通常,我们定义一个基本数据类型的变量、一个对象的引用、函数调用的现场存储都使用内存中的堆栈空间;而new关键字和构造函数创建的对象放在堆空间中;程序中的文字值,如直接写的100、“hello”和常量放在堆空间中静态区域。堆栈空间是最快的操作,但堆栈非常小。通常在堆空间中放置大量对象。理论上,其他进程不使用的整个内存空间,甚至硬盘上的虚拟内存都可以用作堆空间。