栈和队列放一起说是在数据结构层面讨论,栈是后进先出,队列是先进先出这没什么好说的。
堆和栈一起讨论是在虚拟机层面说的,比如JVM中,但是他们在物理层面都是内存块,没有什么不同,在功能层面,栈用来存储基本类型变量和对象的引用,而堆用来存储复杂变量,如数组,对象。因此很明显,栈的调用速度要更快一点。