釋意:Context(上下文)

以上文章內容來源:http://binpeter.yo2.cn/articles/%EF%BC%88zt%EF%BC%89%E5%90%8D%E8%AF%8D%E9%87%8A%E6%84%8F%EF%BC%9Acontext%EF%BC%88%E4%B8%8A%E4%B8%8B%E6%96%87%EF%BC%89.html

最近學習中經常看到Context,沒能明白中文含義,一番搜索後看到此文,頗爲實在,特轉之

Context在Java中的出現是如此頻繁,但其中文翻譯“上下文”又是如此詭異拗口,因此導致很多人不是很瞭解Context的具體含義是指什麼,所以很有必要來深究一下這詞的含義。先來舉幾個JAVA中用到Context的例子 (1)JNDI的一個類javax.naming.InitialContext,它讀取JNDI的一些配置信息,並內含對象和其在JNDI中的註冊名稱的映射信息。請看下面的代碼

InitialContext ic=new InitialContext();
RMIAdaptor server
=(RMIAdaptor)ic.lookup("jmx/invoker/RMIAdaptor"
);

這是一段JBoss中獲取MBean的遠程調用類的代碼。在這裏面通過InitialContext中JNDI註冊的名稱“jmx/invoker/RMIAdaptor”來獲得RMIAdaptor
對象。這和JAVA集合中的MAP有點象,有一個String的key,key對映着它的對象。
(2)再來看看下面Spring中最常見的幾句代碼。ApplicationContext 是內含configuration.xml配置文件的信息,使得可以通過getBean用名稱得到相應的註冊對象。

ApplicationContext ctx= new FileSystemXmlApplicationContext("configuration.xml");
Object obj
= ctx.getBean("Object_Name");

從上面的代碼,我很能體會到Context所代表的意義:公用信息、環境、容器....。所以我覺得Context翻譯成上下文並不直觀,按照語言使用的環境,翻譯成“環境”、“容器”可能更好。 把Context翻譯成“上下文”只是不直觀罷了,不過也沒大錯。我們來看看中文的“上下文”是什麼意思。我們常說聽話傳話不能“斷章取義”,而要聯繫它的“上下文”來看。比如,小麗對王老五說“我愛你”,光看這句還以爲在說情話呢。但一看上下文--“雖然我愛你,但你太窮了,我們還是分手吧”,味道就完全變了。從這裏來看“上下文”也有“環境”的意思,就是語言的環境。

PS:

上下文其實是一個抽象的概念。我們常見的上下文有Servlet中的pageContext,訪問JNDI時候用的Context。寫過這些代碼的人可能比較容易理解,其實他們真正的作用就是承上啓下。比如說pageContext他的上層是WEB容器,下層是你寫的那個Servlet類,pageContext作爲中間的通道讓Servlet 和Web容器進行交互。再比如訪問JNDI的Context,他的上層是JNDI服務器(可能是遠程的),下層是你的應用程序,他的作用也是建立一個通道讓你能訪問JNDI服務器,同時也讓JNDI服務器接受你的請求,同樣起到交互作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章