`
Frederic
  • 浏览: 53724 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java Context(上下文)释义

阅读更多

最近学习中经常看到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服务器接受你的请求,同样起到交互作用。

以上文章内容来源: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

----------------------------------------------------------------------------------------------------------------------------------

本人现就职于广州思普计算机科技有限公司,欢迎咨询!

公司简介

思普科技,Java培训官方网站—Java培训,软件培训,人才外包服务

|全国Java培训和技术服务的领导者

|旨在循序渐进将零基础的人用最短的时间最有效的方法打造为 Java领域的顶级开发与创新型人才

分享到:
评论

相关推荐

    【Java设计模式-源码】上下文对象模式:简化上下文数据的访问

    在Java设计模式中,上下文对象模式用于封装与用户或正在处理的请求相关的上下文(状态和行为),以将Java应用程序组件与环境的复杂性解耦。本文将详细介绍该模式的意图、解释、编程示例、适用场景、实际应用、优点和...

    设计模式之解释器模式Java版本实现

    这些类之间的关系可以通过继承和关联来表示,比如`AddExpression`和`MultiplyExpression`继承自`Expression`,`Context`与`Expression`之间可能存在关联,表示解释器在解析时会用到上下文信息。 总的来说,解释器...

    上下文无关文法求FIRST集FOLLOW集(java语言版)

    本主题关注的是上下文无关文法(Context-Free Grammar, CFG)的两个关键概念:FIRST集和FOLLOW集。这些集合对于实现解析器,特别是自顶向下解析器如LL(1)解析器至关重要。 首先,我们要明确什么是上下文无关文法。...

    CMM解释器java版语法分析器

    这通常涉及创建一个上下文无关文法(Context-Free Grammar,CFG)的表示,并基于此编写解析函数。 “第二次作业-朱丽霞”可能是这次作业的具体实现文件,包含了解析器的源代码和可能的测试案例。为了完整地理解和...

    java常用设计模式-解释器模式

    4. 上下文(Context):包含了解释器需要的一些全局信息,例如变量、函数等。 5. 解释器(Interpreter):使用上述组件来解释语言表达式,并执行相应的操作。 下面是一个简单的 Java 解释器模式示例代码: ...

    JAVA自动执行任务

    JAVA自动执行任务是指在WEB工程中实现自动执行任务的功能,通过使用Servlet上下文相关的侦听器和Java定时器来实现。下面是相关知识点的详细解释: 1. Servlet上下文相关的侦听器 在WEB工程中,Servlet上下文相关...

    各种程序名称生成算法的Java实现,包括组合辅音元音上下文无关语法和马尔可夫链.zip

    1. **组合辅音元音上下文无关语法(Consonant-Vowel Context-Free Grammar)**: 上下文无关语法是一种形式语言理论,用于描述字符串的生成规则。在这个场景中,它被用来组合辅音和元音生成有意义的单词。这种算法...

    Java解释器模式.docx

    3. **上下文(Context)**:包含了所有表达式需要访问的外部信息,如变量、数据源等。上下文对象在解析过程中会被传递给每个表达式,提供必要的环境信息。 4. **终端表达式(Terminal Expression)**:处理语言中的...

    《Menu详解(三):使用上下文菜单》对应源码

    本篇文章将深入解析如何使用上下文菜单(Context Menu),这是Menu的一种特殊形式,通常在长按操作后出现。上下文菜单提供了针对特定视图或数据项的操作,为用户提供了一种直观的方式来执行与当前环境相关的动作。 ...

    context thread interpreter

    标题中的"context thread interpreter"指的是上下文线索解释器的概念,这是一种用于虚拟机解释器的技术,它通过改进分支预测来提升性能,并解决硬件与虚拟机状态的对齐问题。这一技术通过将线性虚拟指令与本机调用和...

    解析Java的设计模式编程之解释器模式的运用.pdf

    在类图中,通常包括抽象表达式接口、终结符表达式类、非终结符表达式类以及上下文类。 优点: 1. 扩展性:解释器模式允许方便地修改或扩展语法规则,只需改动相应的非终结符表达式类即可。 2. 灵活性:对于需要动态...

    安卓SlidingMenu各种菜单侧滑菜单相关-上下文菜单.zip

    4. "Context-Menu.Android-master":这看起来是一个Git仓库的名称,可能包含了实现上下文菜单功能的源代码。开发者可以克隆或下载这个仓库,然后在本地环境中研究和运行代码。 综上所述,这个资源包为Android开发者...

    Handlebars.java逻辑简单支持语义扩展的Java模板引擎

    5. **上下文(Context)**:Handlebars 模板的数据绑定基于上下文。当你渲染模板时,会传入一个对象或JSON数据,模板中的变量将在这个上下文中查找对应的值。这意味着你可以嵌套上下文,从而实现更复杂的数据结构。 ...

    跟我学习javascript的执行上下文

    执行上下文栈(Execution Context Stack, ECS)是JavaScript引擎处理代码执行的逻辑结构,它以栈的形式管理执行上下文。全局上下文始终位于栈底,每次函数调用都会将新的执行上下文压入栈顶。当函数执行完毕,上下文...

    解析Java的设计模式编程之解释器模式的运用.docx

    // 上下文类 public class Context { private String data; public String getData() { return data; } public void setData(String data) { this.data = data; } } // 测试类 public class Test { public ...

    语法分析器 Java

    这个过程是基于一套预定义的语法规则,通常由上下文无关文法(CFG,Context-Free Grammar)来描述。 在Java中,语法分析通常使用自底向上或自顶向下的方法进行。自底向上方法如LL解析(Left-to-Right,Leftmost ...

    2022年基于Java的解释器设计模式Java教程.docx

    4. **上下文角色**:提供了解释器之外的全局信息,如变量的值或环境设置。 5. **客户角色**:创建抽象语法树并调用解释器来解释特定的句子或表达式。 二、解释器模式的实现步骤 - 首先,定义抽象表达式接口或抽象...

    java策略模式

    3. **上下文角色**:上下文是使用策略的对象,它知道如何与策略进行交互,但不知道具体策略的实现细节。上下文可以持有一个策略接口的引用,调用接口方法来执行策略。 ```java public class Context { private ...

    java web开发复习

    **知识点概述**:`context.xml` 文件主要用于配置 Tomcat 的上下文参数,如数据源等。 **详细说明**: - **路径**:`context.xml` 文件通常位于 `WebRoot/META-INF` 目录下。 - **示例配置**: ```xml <Context...

    java 语法分析器

    在实现Java语法分析器时,首先需要定义Java的上下文无关文法(Context-Free Grammar, CFG)。这个文法定义了Java程序的所有合法结构,包括类定义、方法定义、变量声明、表达式等。然后,根据这个文法生成First集和...

Global site tag (gtag.js) - Google Analytics