功能方面:对象存储在堆上;基本数据类型的变量(int、short、long、byte、float、double、boolean、char等)以及对象的引用变量存储在栈上。
共享性:堆是线程共享的,栈是线程私有的。
空间大小:堆大小远远大于栈。
补充:栈帧的知识 https://www.cnblogs.com/frankcui/p/14135978.html#_label3_1_2_0