上下文和运行环境、执行环境有什么区别?

上下文、运行环境、执行环境有什么区别和联系?

回复
阅读 641
3 个回答

不同点:
1.上下文,一般指组件在容器内中,容器内部提供的环境,比如applicationContext,servletContext。
2.运行环境,一般指容器运行依赖的环境,一般指外部环境,比如windows/linuxjdk/jdk/浏览器/node等。
3.执行环境概念很模糊,但我觉得更多的时候指的是运行环境,跟概念二有点类似。

相同点,都是程序或组件能够正常工作的基础,没有这些基础和前置条件,就不能正常运行。

这些概念,以英文来表述通常:

  • 上下文:Context
  • 运行环境/运行时:Runtime
  • 执行环境:Execution Context

Runtime这个通常指程序运行的环境,比如java runtime, android runtime, .net runtime, nodejs, browser

Context/Execution Context,这两个应该是同一个概念,都是指程序内部或者模块内部的状态,区别于Code,是程序运行时由调用链、作用域、堆栈信息等构成的内部状态的一种逻辑表示。这个逻辑表示通常由执行者来建立,比如操作系统可以建立进程上下文spring建立bean上下文

个人理解。

这种专业术语用词,不要使用中文,尽量使用英文,因为即使是英文都可能说不清楚。
前面两个我还能对应给个自己的解释:

上下文一般指的是 执行上下文,Execute Context 执行具体程序时候我们需要关注的是执行内部逻、变量什么的。
运行(时)环境:Runtime Environment 程序运行在什么环境内,这个环境就多了,可以是硬件环境、软件环境,具体的软件环境中还会牵扯到影响因素(系统全局环境变量、关联程序等等,很笼统)

执行是一个相对 细节一点的词,执行一个任务。
运行则显得笼统,运行一套系统。

执行环境,我觉得这个词儿既能用作执行上下文,也能看成是运行环境笼统表达。 汉语“博大精深”

推荐问题