上下文、运行环境、执行环境有什么区别和联系?
这些概念,以英文来表述通常:
Context
Runtime
Execution Context
Runtime
这个通常指程序运行的环境,比如java runtime, android runtime, .net runtime, nodejs, browser
。
Context/Execution Context
,这两个应该是同一个概念,都是指程序内部或者模块内部的状态
,区别于Code
,是程序运行时由调用链、作用域、堆栈信息等构成的内部状态的一种逻辑表示
。这个逻辑表示
通常由执行者
来建立,比如操作系统可以建立进程上下文
,spring建立bean上下文
。
个人理解。
这种专业术语用词,不要使用中文,尽量使用英文,因为即使是英文都可能说不清楚。
前面两个我还能对应给个自己的解释:
上下文一般指的是 执行上下文,Execute Context 执行具体程序时候我们需要关注的是执行内部逻、变量什么的。
运行(时)环境:Runtime Environment 程序运行在什么环境内,这个环境就多了,可以是硬件环境、软件环境,具体的软件环境中还会牵扯到影响因素(系统全局环境变量、关联程序等等,很笼统)
执行是一个相对 细节一点的词,执行一个任务。
运行则显得笼统,运行一套系统。
执行环境,我觉得这个词儿既能用作执行上下文,也能看成是运行环境笼统表达。 汉语“博大精深”
8 回答4.9k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
6 回答3.6k 阅读✓ 已解决
3 回答4.2k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.5k 阅读✓ 已解决
3 回答3.2k 阅读✓ 已解决
不同点:
1.上下文,一般指组件在容器内中,容器内部提供的环境,比如applicationContext,servletContext。
2.运行环境,一般指容器运行依赖的环境,一般指外部环境,比如windows/linuxjdk/jdk/浏览器/node等。
3.执行环境概念很模糊,但我觉得更多的时候指的是运行环境,跟概念二有点类似。
相同点,都是程序或组件能够正常工作的基础,没有这些基础和前置条件,就不能正常运行。