平常开发老是会看到上下文这三个字,应用上下文,执行上下文,进程上下文等等,刚开始的时候看到这三个字其实也没什么特别的感受,就跟日常吃饭睡觉同样根本不会多想。java
直到有一天,一个可怕的念头忽然出如今了个人脑海中:spring
到底什么是应用上下文?编程
??????????app
当时我就跟早上刚起床时的状态同样,环顾四周,眼睛里充满了疑惑和迷茫,上下文那三个字就像迷雾中的一个影子,我好像知道那是个啥,可是我不知道那到底是个啥,可是我有找不到别的那个啥去解释这个啥。搜索引擎
想到这里,内心不由感叹了一声,汉字文化博大精深。线程
多是本身平时没有了解过这块知识吧,因而我问了问身边的小伙伴们什么是上下文cdn
??????????对象
就是,上下文,就是,,那种,语境啊,很普通的一个概念。 对不起,噗,我想起来可笑的事情(致敬美人鱼梗,怕大家get不到)blog
因而脑子里一团毛线球的我带着深深疑问寄但愿于百度,企图在字里行间发现java编程的真谛。索引
上下文,即语境、语意,是语言学科(语言学、社会语言学、篇章分析、语用学、符号学等)的概念。 语意分析(semantic analysis)技术系指将一长串的文字或内容,从其中分析出该个段落的摘要以及大意,甚至更进一步,将整篇文章的文意整理出来。此项技术能够应用在解读影片、音讯等档案,使得搜索引擎可以搜寻到文字之外的物件,方便使用者省去大量时间观看影片、聆听音讯,同时也能够帮助使用者提早了解影片与音讯的内容。
我,%#¥……¥¥#¥@#%¥¥%……#¥#@
因此到底什么是上下文,它在编程中的具体起什么做用,因而带着这个问题,我踏上了寻找答案的漫长的旅途中,终于,苍天不负有心人,我仍是没有找到具体的解释。
好吧,今天发文章就到这里结束了,虽然上文中说了不少的废话,就像不少事情同样再也没有了下文。
等等,你刚才说了上文对吧,又说了下文对吧(致敬jojo梗)
是啊,合一块儿不就是上下文吗?
卧槽
因此,上下文表明的实际上是一个总体的环境,就好比说这篇文章,咱们能够说下文中,访问到下文所陈述的内容,也能够说上文中,访问到上文中的内容,而咱们这篇文章中每一段文字所表明的意思,都是要根据咱们的上下文来决定的,由于你随便拿出来一句话不去结合总体的语境去理解出来的意思确定不是准确的,因此,咱们这篇文章的上下文就是咱们整篇的中心思想。
举个例子,好比咱们在Spring中的数据源,就是存储在上下文中的,这个时候,不管是哪里的代码,都是能够经过上下文获取到数据链接并进行相关的操做,一样的,咱们能够在任何地方经过spring中的上下文获取到bean和其余的配置信息,固然,这里的任何地方是咱们Spring初始化工做完成以后的地方。
上下文中一般指的是咱们当时运行的环境,好比说一样是break语句,在if里面for里面和在switch里面做用却不同,难道是break这个语句变了吗?固然是没有,是它当时所处的环境发生了变化,也就是上下文环境发生了变化。
再好比咱们应用进行线程切换的时候,切换前都会把线程的状态信息暂时储存在寄存器中,这里的上下文就包括了当时寄存器的值,把寄存器的值都保存起来,等下次该线程又获得CPU时间的时候再恢复寄存器的值,这样线程才能正确的运行。
写到如今,我发现个人思路并无清晰多少,可是对上下文已经有了大概的理解
上下文,上下文表明了程序当下所运行的环境,联系你整个app的生命周期与资源调用,是程序能够访问到的全部资源的总和,资源能够是一个变量,也能够是一个对象的引用。
这大概就是我对上下文的理解了,若是你们有不一样的理解,欢迎留言在本篇文章下方。
我是韩数,关注我,有你好果子吃~
因此,到底什么是上下文?