1. string和stringbuilder区别,内存上的区别? String是固定长度的;stringbuilder是可扩展的,线程不同步的; String分配在栈区,stringbuilder分配在堆区; StringBuffer可扩展,线程安全,效率低; 2. 堆和栈的区别? 首先栈是类似于箱子类型的,先进后出;堆是经过排序的树形的数据结构,根节点大于(小于)子节点,并且左右节点都是堆结构; 栈是操作系统自动的分配和释放内存,用完就释放;堆是程序员主动的去申请内存,并且OS不会自动的去释放内存; 栈是连续的内存空间,大小固定,一般是2M,空...