首页  >  问答  >  正文

linux - 求科普:TCP/IP协议栈,技术栈,函数栈等等各种栈到底是在说什么?

以下是摘抄的例句:
“每当声明了一个函数,它就产生了一个闭包域(可以解释为每个函数都有自己的函数栈)”
“七层负载均衡工作在OSI模型的应用层,因为它需要解析应用层流量,所以七层负载均衡在接到客户端的流量以后,还需要一个完整的TCP/IP协议栈。”
……
我在看一些技术文章的时候经常会被这些词语搞懵圈,还请诸位师兄们帮我科普一下。

这些文章里面所说的各种栈,应该不是指数据结构里面的栈和计算机内存里面的栈内存,还来个后进先出吧?

PHP中文网PHP中文网2715 天前920

全部回复(4)我来回复

  • 阿神

    阿神2017-04-17 16:32:14

    一个一个解释吧

    TCP/IP协议栈,指的是TCP/IP中的四层协议栈,就像计算机网络课程里面的OSI七层模型一样,具体的可以参考百度。

    技术栈指的是一个项目用到的一系列技术体系(编程领域的科技产品的集合),比如说百度里面用LNMP用的多,新浪微博则是php,redis等技术用的多,淘宝则是JAVA等用的多。

    函数栈指的是从main函数开始,一步一步调用各种模块,各种模块里面又调用其他依赖模块,一层一层的嵌套调用,最终调用完了又要一层一层的return回main函数,这个执行流程如果用图形来表示就很像数据结构里面的栈结构。

    这三个栈都是不同的含义,建议查询新华字典了解更多详情。

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 16:32:14

    比方说招聘要求里的需要的技术栈,全栈,我觉得这里说的“栈”有点类似于机器猫的口袋,里面有好多好东西,掏出来就能用。

    回复
    0
  • 阿神

    阿神2017-04-17 16:32:14

    函数栈就是指的栈内存那个栈。。
    其他的是抽象意义的栈,就是一层层的意思。。。

    回复
    0
  • PHPz

    PHPz2017-04-17 16:32:14

    函数栈,是说函数内部的局部变量在内存中存储为栈的数据结构,函数调用后这个数据结构会被销毁。
    编程语言内部的变量存储大概分为两种数据类型,堆内存和栈内存。函数栈是栈内存使用的一个例子,此外还有其他使用栈的例子,比如每个线程都有一块专有的栈空间。
    TCP/IP协议栈跟内存就扯不上关系了,这个栈可以理解为栈是指一个集合,类似于我们常说的技术栈,是一个道理。

    回复
    0
  • 取消回复