平常開發老是會看到上下文這三個字,應用上下文,執行上下文,進程上下文等等,剛開始的時候看到這三個字其實也沒什麼特別的感受,就跟日常吃飯睡覺同樣根本不會多想。java
直到有一天,一個可怕的念頭忽然出如今了個人腦海中:spring
到底什麼是應用上下文?編程
??????????app
當時我就跟早上剛起牀時的狀態同樣,環顧四周,眼睛裏充滿了疑惑和迷茫,上下文那三個字就像迷霧中的一個影子,我好像知道那是個啥,可是我不知道那到底是個啥,可是我有找不到別的那個啥去解釋這個啥。搜索引擎
想到這裏,內心不由感嘆了一聲,漢字文化博大精深。線程
多是本身平時沒有了解過這塊知識吧,因而我問了問身邊的小夥伴們什麼是上下文cdn
??????????對象
就是,上下文,就是,,那種,語境啊,很普通的一個概念。 對不起,噗,我想起來可笑的事情(致敬美人魚梗,怕大家get不到)blog
因而腦子裏一團毛線球的我帶着深深疑問寄但願於百度,企圖在字裏行間發現java編程的真諦。索引
上下文,即語境、語意,是語言學科(語言學、社會語言學、篇章分析、語用學、符號學等)的概念。 語意分析(semantic analysis)技術係指將一長串的文字或內容,從其中分析出該個段落的摘要以及大意,甚至更進一步,將整篇文章的文意整理出來。此項技術能夠應用在解讀影片、音訊等檔案,使得搜索引擎可以搜尋到文字之外的物件,方便使用者省去大量時間觀看影片、聆聽音訊,同時也能夠幫助使用者提早了解影片與音訊的內容。
我,%#¥……¥¥#¥@#%¥¥%……#¥#@
因此到底什麼是上下文,它在編程中的具體起什麼做用,因而帶着這個問題,我踏上了尋找答案的漫長的旅途中,終於,蒼天不負有心人,我仍是沒有找到具體的解釋。
好吧,今天發文章就到這裏結束了,雖然上文中說了不少的廢話,就像不少事情同樣再也沒有了下文。
等等,你剛纔說了上文對吧,又說了下文對吧(致敬jojo梗)
是啊,合一塊兒不就是上下文嗎?
臥槽
因此,上下文表明的實際上是一個總體的環境,就好比說這篇文章,咱們能夠說下文中,訪問到下文所陳述的內容,也能夠說上文中,訪問到上文中的內容,而咱們這篇文章中每一段文字所表明的意思,都是要根據咱們的上下文來決定的,由於你隨便拿出來一句話不去結合總體的語境去理解出來的意思確定不是準確的,因此,咱們這篇文章的上下文就是咱們整篇的中心思想。
舉個例子,好比咱們在Spring中的數據源,就是存儲在上下文中的,這個時候,不管是哪裏的代碼,都是能夠經過上下文獲取到數據鏈接並進行相關的操做,一樣的,咱們能夠在任何地方經過spring中的上下文獲取到bean和其餘的配置信息,固然,這裏的任何地方是咱們Spring初始化工做完成以後的地方。
上下文中一般指的是咱們當時運行的環境,好比說一樣是break語句,在if裏面for裏面和在switch裏面做用卻不同,難道是break這個語句變了嗎?固然是沒有,是它當時所處的環境發生了變化,也就是上下文環境發生了變化。
再好比咱們應用進行線程切換的時候,切換前都會把線程的狀態信息暫時儲存在寄存器中,這裏的上下文就包括了當時寄存器的值,把寄存器的值都保存起來,等下次該線程又獲得CPU時間的時候再恢復寄存器的值,這樣線程才能正確的運行。
寫到如今,我發現個人思路並無清晰多少,可是對上下文已經有了大概的理解
上下文,上下文表明瞭程序當下所運行的環境,聯繫你整個app的生命週期與資源調用,是程序能夠訪問到的全部資源的總和,資源能夠是一個變量,也能夠是一個對象的引用。
這大概就是我對上下文的理解了,若是你們有不一樣的理解,歡迎留言在本篇文章下方。
我是韓數,關注我,有你好果子吃~
因此,到底什麼是上下文?