1. 堆和栈的区别是什么?栈由编译器自动管理,存放局部变量、函数参数、返回地址,空间有限(一般几 MB),分配和释放速度极快堆由程序员手动管理,通过 malloc/new 申请,空间大(受物理内存限制),但分配释放开销更大栈是连续内存,向低地址增长;堆是离散内存,由内存分配器管理栈上的对象生命周期随函数结束自动销毁;堆上的对象需要显式释放,否则造成内存泄漏2. TCP 三次握手的过程是什么?为什么不能是两次?过程:第一次:客户端发送 SYN,进入 SYN_SENT 状态第二次:服务端收到后回复 SYN+ACK,进入 SYN_RCVD 状态第三次:客户端回复 ACK,双方进入 ESTABLISH...