Java中设置session的详细解释

Java中设置session的详细解释
Java中设置session的详细解释

Java中设置session的详细解释

一、术语session

在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction和session在某些语境下的含义是相同的。

session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程能称之为一个session。有时候我们能看到这样的话“在一个浏览器会话期间,...”,这里的会话一词用的就是其本义,是指从一个浏览器窗口打开到关闭这个期间①。最混乱的是“用户(客户端)在一次会话期间”这样一句话,他可能指用户的一系列动作(一般情况下是同某个具体目的相关的一系列动作,比如从登录到选购商品到结账登出这样一个网上购物的过程,有时候也被称为一个transaction),然而有时候也可能仅仅是指一次连接,也有可能是指含义①,其中的差别只能靠上下文来推断②。

然而当session一词和网络协议相关联时,他又往往隐含了“面向连接”和/或“保持状态”这样两个含义,“面向连接”指的是在通信双方在通信之前要先建立一个通信的渠道,比如打电话,直到对方接了电话通信才能开始,和此相对的是写信,在你把信发出去的时候你并不能确认对方的地址是否正确,通信渠道不一定能建立,但对发信人来说,通信已开始了。“保持状态”则是指通信的一方能够把一系列的消息关联起来,使得消息之间能互相依赖,比如一个服务员能够认出再次光临的老顾客并且记得上次这个顾客还欠店里一块钱。这一类的例子有“一个TCP session”或“一个POP3 session”③。

而到了web服务器蓬勃发展的时代,session在web研发语境下的语义又有了新的扩展,他的含义是指一类用来在客户端和服务器之间保持状态的解决方案④。有时候session也用来指这种解决方案的存储结构,如“把xxx保存在session里”⑤。由于各种用于web研发的语言在一定程度上都提供了对这种解决方案的支持,所以在某种特定语言的语境下,session 也被用来指代该语言的解决方案,比如经常把Java里提供的javax.servlet.http.HttpSession简称为session⑥。

鉴于这种混乱已不可改动,本文中session一词的运用也会根据上下文有不同的含义,请大家注意分辨。

在本文中,使用中文“浏览器会话期间”来表达含义①,使用“session机制”来表达含义④,使用“session”表达含义⑤,使用具体的“HttpSession”来表达含义⑥

二、HTTP协议和状态保持

HTTP协议本身是无状态的,这和HTTP协议本来的目的是相符的,客户端只需要简单的向服务器请求下载某些文件,无论是客户端还是服务器都没有必要纪录彼此过去的行为,每一次请求之间都是独立的,好比一个顾客和一个自动售货机或一个普通的(非会员制)大卖场之间的关系相同。

然而聪明(或贪心?)的人们非常快发现如果能够提供一些按需生成的动态信息会使web变得更加有用,就像给有线电视加上点播功能相同。这种需求一方面迫使HTML逐步添加了表单、脚本、DOM等客户端行为,另一方面在服务器端则出现了CGI规范以响应客户端的动态请求,作为传输载体的HTTP协议也添加了文件上载、cookie这些特性。其中cookie 的作用就是为了解决HTTP协议无状态的缺陷所作出的努力。至于后来出现的session机制则是又一种在客户端和服务器之间保持状态的解决方案。

让我们用几个例子来描述一下cookie和session机制之间的差别和联系。笔者原来常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微乎其微,这时就需要某种方式来纪录某位顾客的消费数量。想象一下其实也无外乎下面的几种方案:

1、该店的店员非常厉害,能记住每位顾客的消费数量,只要顾客一走进咖啡店,店员就知道该怎么对待了。这种做法就是协议本身支持状态。

2、发给顾客一张卡片,上面记录着消费的数量,一般更有个有效期限。每次消费时,如果顾客出示这张卡片,则此次消费就会和以前或以后的消费相联系起来。这种做法就是在客户端保持状态。

3、发给顾客一张会员卡,除了卡号之外什么信息也不纪录,每次消费时,如果顾客出示该卡片,则店员在店里的纪录本上找到这个卡号对应的纪录添加一些消费信息。这种做法就是在服务器端保持状态。

由于HTTP协议是无状态的,而出于种种考虑也不希望使之成为有状态的,因此,后面两种方案就成为现实的选择。具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上他更有其他选择。

三、理解cookie机制

cookie机制的基本原理就如上面的例子相同简单,不过更有几个问题需要解决:“会员卡”怎么分发;“会员卡”的内容;及客户怎么使用“会员卡”。

正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特别的指示以提示浏览器按照指示生成相应的cookie。然而纯粹的客户端脚本如JavaScript或VBScript也能生成cookie。

而cookie的使用是由浏览器按照一定的原则在后台自动发送给服务器的。浏览器检查所有存储的cookie,如果某个cookie所声明的作用范围大于等于将要请求的资源所在的位置,则把该cookie附在请求资源的HTTP请求头上发送给服务器。意思是麦当劳的会员卡只能在麦当劳的店里出示,如果某家分店还发行了自己的会员卡,那么进这家店的时候除了要出示麦当劳的会员卡,还要出示这家店的会员卡。

cookie的内容主要包括:名字,值,过期时间,路径和域。

其中域能指定某一个域比如https://www.360docs.net/doc/553296732.html,,相当于总店招牌,比如宝洁公司,也能指定一个域下的具体某台机器比如https://www.360docs.net/doc/553296732.html,或https://www.360docs.net/doc/553296732.html,,能用飘柔来做比。

路径就是跟在域名后面的URL路径,比如/或/foo等等,能用某飘柔专柜做比。

路径和域合在一起就构成了cookie的作用范围。

如果不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览器会话期的cookie被称为会话cookie。会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。

存储在硬盘上的cookie能在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存里的cookie,不同的浏览器有不同的处理方式。对于IE,在一个打开的窗口上按Ctrl-N (或从文件菜单)打开的窗口能和原窗口共享,而使用其他方式新开的IE进程则不能共享已打开的窗口的内存cookie;对于Mozilla Firefox0.8,所有的进程和标签页都能共享同样的cookie。一般来说是用javascript的window.open打开的窗口会和原窗口共享内存cookie。浏览器对于会话cookie的这种只认cookie不认人的处理方式经常给采用session机制的web 应用程式研发者造成非常大的困扰。

下面就是个goolge设置cookie的响应头的例子

HTTP/1.1 302 Found

Location: https://www.360docs.net/doc/553296732.html,/intl/zh-CN/

Set-Cookie:

PREF=ID=0565f77e132de138:NW=1:TM=1098082649:LM=1098082649:S=KaeaCFPo49RiA_d8; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=https://www.360docs.net/doc/553296732.html,

Content-Type: text/html

这是使用HTTPLook这个HTTP Sniffer软件来俘获的HTTP通讯纪录的一部分

浏览器在再次访问goolge的资源时自动向外发送cookie

使用Firefox能非常容易的观察现有的cookie的值

使用HTTPLook配合Firefox能非常容易的理解cookie的工作原理。

IE也能设置在接受cookie前询问

这是个询问接受cookie的对话框。

四、理解session机制

session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。

当程式需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识- 称为session id,如果已包含一个session id则说明以前已为此客户端创建过session,服务器就按照session id把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个和此session相关联的session id,session id的值应该是个既不会重复,植蝗菀妆徽业焦媛梢苑略斓淖址???飧?ession id将被在本次响应中返回给客户端保存。

保存这个session id的方式能采用cookie,这样在交互过程中浏览器能自动的按照规则把这个标识发挥给服务器。一般这个cookie的名字都是类似于SEEESIONID,而。比如weblogic 对于web应用程式生成的cookie,JSESSIONID=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764,他的名字就是JSESSIONID。

由于cookie能被人为的禁止,必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL 路径的后面,附加方式也有两种,一种是作为URL路径的附加信息,表现形式为http://...../xxx;jsessionid=ByOK ... 99zWpBng!-145788764另一种是作为查询字符串附加在URL后面,表现形式为http://...../xxx?jsessionid=ByOK ... 99zWpBng!-145788764

这两种方式对于用户来说是没有差别的,只是服务器在解析的时候处理的方式不同,采用第一种方式也有利于把session id的信息和正常程式参数区分开来。

为了在整个交互过程中始终保持状态,就必须在每个客户端可能请求的路径后面都包含这个session id。

另一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。

这种技术目前已较少应用,笔者接触过的非常古老的iPlanet6(SunONE应用服务器的前身)就使用了这种技术。实际上这种技术能简单的用对action应用URL重写来代替。

在谈论session机制的时候,常常听到这样一种误解“只要关闭浏览器,session就消失了”。其实能想象一下会员卡的例子,除非顾客主动对店家提出销卡,否则店家绝对不会轻

易删除顾客的资料。对session来说也是相同的,除非程式通知服务器删除一个session,否则服务器会一直保留,程式一般都是在用户做log off的时候发个指令去删除session。然而浏览器从来不会主动在关闭之前通知服务器他将要关闭,因此服务器根本不会有机会知道浏览器已关闭,之所以会有这种错觉,是大部分session机制都使用会话cookie来保存session id,而关闭浏览器后这个session id就消失了,再次连接服务器时也就无法找到原来的session。如果服务器设置的cookie被保存到硬盘上,或使用某种手段改写浏览器发出的HTTP请求头,把原来的session id发送给服务器,则再次打开浏览器仍然能够找到原来的session。

恰恰是由于关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间,当距离客户端上一次使用session的时间超过这个失效时间时,服务器就能认为客户端已停止了活动,才会把session删除以节省存储空间。

五、理解javax.servlet.http.HttpSession

HttpSession是Java平台对session机制的实现规范,因为他仅仅是个接口,具体到每个web应用服务器的提供商,除了对规范支持之外,仍然会有一些规范里没有规定的细微差异。这里我们以BEA的Weblogic Server8.1作为例子来演示。

首先,Weblogic Server提供了一系列的参数来控制他的HttpSession的实现,包括使用cookie的开关选项,使用URL重写的开关选项,session持久化的设置,session失效时间的设置,及针对cookie的各种设置,比如设置cookie的名字、路径、域,cookie的生存时间等。

一般情况下,session都是存储在内存里,当服务器进程被停止或重启的时候,内存里的session也会被清空,如果设置了session的持久化特性,服务器就会把session保存到硬盘上,当服务器进程重新启动或这些信息将能够被再次使用,Weblogic Server支持的持久性方式包括文件、数据库、客户端cookie保存和复制。

复制严格说来不算持久化保存,因为session实际上还是保存在内存里,不过同样的信息被复制到各个cluster内的服务器进程中,这样即使某个服务器进程停止工作也仍然能从其他进程中取得session。

cookie生存时间的设置则会影响浏览器生成的cookie是否是个会话cookie。默认是使用会话cookie。有兴趣的能用他来试验我们在第四节里提到的那个误解。

cookie的路径对于web应用程式来说是个非常重要的选项,Weblogic Server对这个选项的默认处理方式使得他和其他服务器有明显的差别。后面我们会专题讨论。

关于session的设置参考[5] https://www.360docs.net/doc/553296732.html,/wls/docs70/webapp/weblogic_xml.html#1036869

六、HttpSession常见问题

(在本小节中session的含义为⑤和⑥的混合)

1、session在何时被创建

一个常见的误解是以为session在有客户端访问时就被创建,然而事实是直到某server 端程式调用HttpServletRequest.getSession(true)这样的语句时才被创建,注意如果JSP没有显示的使用关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句HttpSession session = HttpServletRequest.getSession(true);这也是JSP中隐含的session对象的来历。

由于session会消耗内存资源,因此,如果不打算使用session,应该在所有的JSP中关闭他。

2、session何时被删除

综合前面的讨论,session在下列情况下被删除a.程式调用HttpSession.invalidate();或b.距离上一次收到客户端发送的session id时间间隔超过了session的超时设置;或c.服务器进程被停止(非持久session)

3、怎么做到在浏览器关闭时删除session

严格的讲,做不到这一点。能做一点努力的办法是在所有的客户端页面里使用javascript 代码window.oncolose来监视浏览器的关闭动作,然后向服务器发送一个请求来删除session。不过对于浏览器崩溃或强行杀死进程这些非常规手段仍然无能为力。

4、有个HttpSessionListener是怎么回事

你能创建这样的listener去监视session的创建和销毁事件,使得在发生这样的事件时你能做一些相应的工作。注意是session的创建和销毁动作触发listener,而不是相反。类似的和HttpSession有关的listener更有HttpSessionBindingListener,HttpSessionActivationListener 和HttpSessionAttributeListener。

5、存放在session中的对象必须是可序列化的吗

不是必需的。需求对象可序列化只是为了session能够在集群中被复制或能够持久保存或在必要时server能够暂时把session交换出内存。在Weblogic Server的session中放置一个不可序列化的对象在控制台上会收到一个警告。我所用过的某个iPlanet版本如果session中有不可序列化的对象,在session销毁时会有一个Exception,非常奇怪。

6、怎么才能正确的应付客户端禁止cookie的可能性

对所有的URL使用URL重写,包括超链接,form的action,和重定向的URL,具体做法参见[6]

https://www.360docs.net/doc/553296732.html,/wls/docs70/webapp/sessions.html#100770

7、开两个浏览器窗口访问应用程式会使用同一个session还是不同的session

参见第三小节对cookie的讨论,对session来说是只认id不认人,因此不同的浏览器,不同的窗口打开方式及不同的cookie存储方式都会对这个问题的答案有影响。

8、怎么防止用户打开两个浏览器窗口操作导致的session混乱

这个问题和防止表单多次提交是类似的,能通过设置客户端的令牌来解决。就是在服务器每次生成一个不同的id返回给客户端,同时保存在session里,客户端提交表单时必须把这个id也返回服务器,程式首先比较返回的id和保存在session里的值是否一致,如果不一致则说明本次操作已被提交过了。能参看《J2EE核心模式》关于表示层模式的部分。需要注意的是对于使用javascript window.open打开的窗口,一般不设置这个id,或使用独立的id,以防主窗口无法操作,建议不要再window.open打开的窗口里做修改操作,这样就能不用设置。

9、为什么在Weblogic Server中改动session的值后要重新调用一次session.setValue

做这个动作主要是为了在集群环境中提示Weblogic Server session中的值发生了改动,需要向其他服务器进程复制新的session值。

10、为什么session不见了

排除session正常失效的因素之外,服务器本身的可能性应该是微乎其微的,虽然笔者在iPlanet6SP1加若干补丁的Solaris版本上倒也遇见过;浏览器插件的可能性次之,笔者也遇见过3721插件造成的问题;理论上防火墙或代理服务器在cookie处理上也有可能会出现问题。

出现这一问题的大部分原因都是程式的错误,最常见的就是在一个应用程式中去访问另外一个应用程式。我们在下一节讨论这个问题。

七、跨应用程式的session共享

常常有这样的情况,一个大项目被分割成若干小项目研发,为了能够互不干扰,需求每个小项目作为一个独立的web应用程式研发,可是到了最后忽然发现某几个小项目之间需要共享一些信息,或想使用session来实现SSO(single sign on),在session中保存login的用户信息,最自然的需求是应用程式间能够访问彼此的session。

然而按照Servlet规范,session的作用范围应该仅仅限于当前应用程式下,不同的应用程式之间是不能够互相访问对方的session的。各个应用服务器从实际效果上都遵守了这一规范,不过实现的细节却可能各有不同,因此解决跨应用程式session共享的方法也各不相同。

首先来看一下Tomcat是怎么实现web应用程式之间session的隔离的,从Tomcat设置的cookie路径来看,他对不同的应用程式设置的cookie路径是不同的,这样不同的应用程式所用的session id是不同的,因此即使在同一个浏览器窗口里访问不同的应用程式,发送

给服务器的session id也能是不同的。

根据这个特性,我们能推测Tomcat中session的内存结构大致如下。

笔者以前用过的iPlanet也采用的是同样的方式,估计SunONE和iPlanet之间不会有太大的差别。对于这种方式的服务器,解决的思路非常简单,实际实行起来也不难。要么让所有的应用程式共享一个session id,要么让应用程式能够获得其他应用程式的session id。

iPlanet中有一种非常简单的方法来实现共享一个session id,那就是把各个应用程式的cookie路径都设为/(实际上应该是/NASApp,对于应用程式来讲他的作用相当于根)。

/NASApp

需要注意的是,操作共享的session应该遵循一些编程约定,比如在session attribute名字的前面加上应用程式的前缀,使得setAttribute("name", "neo")变成setAttribute("https://www.360docs.net/doc/553296732.html,", "neo"),以防止命名空间冲突,导致互相覆盖。

在Tomcat中则没有这么方便的选择。在Tomcat版本3上,我们还能有一些手段来共享session。对于版本4以上的Tomcat,目前笔者尚未发现简单的办法。只能借助于第三方的力量,比如使用文件、数据库、JMS或客户端cookie,URL参数或隐藏字段等手段。

我们再看一下Weblogic Server是怎么处理session的。

从截屏画面上能看到Weblogic Server对所有的应用程式设置的cookie的路径都是/,这是不是意味着在Weblogic Server中默认的就能共享session了呢?然而一个小实验即可证实即使不同的应用程式使用的是同一个session,各个应用程式仍然只能访问自己所设置的那些属性。这说明Weblogic Server中的session的内存结构可能如下

对于这样一种结构,在session机制本身上来解决session共享的问题应该是不可能的了。除了借助于第三方的力量,比如使用文件、数据库、JMS或客户端cookie,URL参数或隐藏字段等手段,更有一种较为方便的做法,就是把一个应用程式的session放到ServletContext 中,这样另外一个应用程式就能从ServletContext中取得前一个应用程式的引用。示例代码如下,

应用程式A

context.setAttribute("appA", session);

应用程式B

contextA = context.getContext("/appA");

HttpSession sessionA = (HttpSession)contextA.getAttribute("appA");

值得注意的是这种用法不可移植,因为根据ServletContext的JavaDoc,应用服务器能处于安全的原因对于context.getContext("/appA");返回空值,以上做法在Weblogic Server 8.1中通过。

那么Weblogic Server为什么要把所有的应用程式的cookie路径都设为/呢?原来是为了SSO,凡是共享这个session的应用程式都能共享认证的信息。一个简单的实验就能证实这一点,修改首先登录的那个应用程式的描述符weblogic.xml,把cookie路径修改为/appA访问另外一个应用程式会重新需求登录,即使是反过来,先访问cookie路径为/的应用程式,再访问修改过路径的这个,虽然不再提示登录,不过登录的用户信息也会丢失。注意做这个实验时认证方式应该使用FORM,因为浏览器和web服务器对basic认证方式有其他的处理方式,第二次请求的认证不是通过session来实现的。具体请参看[7] secion 14.8 Authorization,你能修改所附的示例程式来做这些试验。

八、总结

session机制本身并不复杂,然而其实现和设置上的灵活性却使得具体情况复杂多变。这也需求我们不能把仅仅某一次的经验或某一个浏览器,服务器的经验当作普遍适用的经验,而是始终需要具体情况具体分析。

声学术语

声学--机器和设备发射的噪声--工作位置和其他指定位置发射声压级的测量的基本标准的使用导则 噪音常用术语 一、声学常用术语 1. absorption coefficient吸音系数:材料吸收的省能与入射声能之比值。 2. acoustical calibrator声学校准器:用来校准麦克风、噪音計的仪器。 3. ambient noise环境噪音:在环境中所有声源产生噪音的总和。 4. anechoic room无响室或称无回音室:边界能几乎吸收所有的入射波而形成室內是自由声场的封闭空间。 5. antinode波腹:驻波內振幅最大的点、线或面。 6. A-Weighting A加权:模擬人耳对各种不同频率的声音感觉不一样的加权方法。 7. background noise背景噪音:在测量系统中,和量测信号无关的一切噪音。 8.band pressure level频带声压位准:在某一特定频带(如八音度频带)从下限频率至上限频率的声压位准。 9. CPB固定百分比频宽:CPB是Constant Percentage Bandwidth的简写,它表示每一个相邻频带的宽度比是固定的百分比。 10. decibel分贝:声音的物理量与参考物理量的比值取对数后乘以10或20。 11. diffuse sound field扩散声场:在各传播方向呈无规则分布且能量密度均匀的声场。 12. diffraction绕射:因为空间形状的改变使得声波传播方向改变的现象。 13. dispersion频散:声音的速度随频率而变化的现象。 14. Leq(equivalent continuous noise level)等效连续声压级:A加权声压位准在某一特定时间內平均值。 15. equal loudness contours等响曲线:在声压位准频率图上各种不同频率但听起来同样响之点所连成的曲线。 16. far field远场:自由场中离声源距离加倍,则声压级減少6分贝的声场。 17. free field自由场:边界对声波的影响可以忽略不計的声场。 18. fast response快档:噪音計的动回应常数为0.125秒。 19. Hertz(Hz)赫茲:频率的单位,代表声波每秒钟振动的次数。 20. impulse response冲击档:噪音計的动回应时间常数为0.035秒。 21. longitudinal wave纵波:传播方向与介质质点振动方向相同的波。 22. loudness响度:人类听声音感觉其响亮的程度。 23. loudness level响度级:某频率的纯音和1000 Hz的纯音相比,听起来一样响时,則1000 Hz纯音的声压为准称为该频率的响度位准。 24. microphone麦克风:将声音转换成电信号的换能器。 25. near field近场:在自由场中,声源附近瞬时声压和质点速度不同相位的声场。 26. node波节:驻波內位移为零的点、线或面。 27. Octave八音度:两个相邻频带带宽、中心频率及上、下限频率比皆为二的一次方。 28. 1/3-Octave 1/3八音度:两个相邻频带带宽、中心频率及上、下限频率比皆为二的三分之ㄧ次方。 29. phon方:响度位准的单位。 30. pink noise粉紅噪音:用正比于频率大小的频宽测量时,频谱连续且均匀的噪音。 31. pitch音調:表示声音的高低。 32. pistonphone活塞式声音校准器:一个已知频率的纯音声源装在一个圆柱腔內,可产生已知的声压来校准麦克风。 33. preamplifier前置放大器:通常和麦克风连在一起,可将麦克风的输出信号放大。 34. pure tone纯音:单一频率的声音。 35. receiver接收者:接受噪音的人或仪器。

书法常用名词和术语.

书法常用名词和术语解释 笔力:从字的点画形态中所体现来的“力”的感受,是从书法艺术的审美角度来理解的,与物理学上的“力“不能混为一谈。 中锋:用笔的关健技法之一。作书时,始终保持笔头的中心锋芒走中路,其走的轨迹在点画的中间。历代书法家多主张写字要做到笔笔中锋,这是因为用中锋行笔,墨汁顺笔尖流注而下,不是上下左右偏斜,而是向四面渗透,点画就息然显得饱满圆润。因此,中锋用笔是学习书法的重要内容,必须在正确的执笔、运腕的基础上反复领会。 侧锋:行笔时,笔的锋芒向点画的一侧。写出来的笔画一边光一边发毛。通常书家认为侧锋用笔是不可取的,但在行草书中使用的例子比较常见,只是初学书法都不宜使用此法。 藏锋:笔锋藏在点画之内而不外露。在起笔和收笔处,凡不露锋芒的皆称为蔵锋。藏锋写出的点画含蓄,力不外露,古人说“藏锋以包其气”,就是指的将笔力蕴藏于点画之内的道理,其写法是,起笔处笔毫逆锋入纸,收笔处往来的方向回锋。 露锋:亦称出锋,无论起筆收笔,凡笔的锋芒露出点画外的都称为露锋。露锋使字的神情外露,增加了字的灵动,同时将字里行间的呼应关系显现出来,给人以流畅的感觉。 抢笔:又称“空抢”。行笔至笔画末端,借笔画下行的力量往反方向一缩,然后提笔离纸,这一瞬间的“回力”动作,笔力已送至笔尖,写出的锋势挺拔劲健,而无“虚尖”之病。 挫锋:又称“挫笔”。运笔时改变行笔方向的动作。一般的写法是,行笔至转角或出钩处,先顿笔然后把笔略提,转动笔锋以改变行筆方向。注意停笔、顿笔和转笔是一气呵成的。太快则交待不清,过慢又疲软失势。

转锋:转锋与折锋相对而言,是写出圆的点画的用笔方法。所谓“转以成圆”,不露锋芒棱角,转的关健处笔不停驻,担笔暗暗转过,有浑然天成之意。 折锋:折锋与转锋相对而言,是写出点画的用笔方法。所谓“折以成方”,易显现锋芒棱角,折笔处顿笔稍停,然后改变行笔方向,古人云:“折欲少驻,驻则有力”。又云:“方者,折法也,点画波起止是也”。 提笔:提笔有二义,一是担笔离纸,接写第二画,二是行笔过程中的提笔,笔不离纸,所出现的线条较细,但极具韧劲。 按笔:与提笔相反,笔往下按。行笔过程中且行且按,出现的线条较粗。应注意下按之力不可过大,否则线条浮肿无力。实际上,写字的过程就是笔在纸上提按交替的过程。一画之内或点画之间,有了提按交替,就有了轻重变化,从而也就有了节奏感和韵律感,所书之字就显得神采飞杨了。 顿笔:与按笔近义,但按下之力略大些,所谓“力透纸背者为顿”。一般有顿下略停的意思,在点画的起止处用得最为普遍。 轻重:历代书家认为用笔应力不过腰,即用笔不要超过笔毫的一半,否则神气涣散,有浮滑之弊.。故用一分笔为轻,用三分笔为重。书法用笔的轻重首先表现在一画之中的轻重变化,其次表现在点画之间的轻重对比,如所书之字无所谓轻重,给人的感觉必然缺乏生气。只是机械的重复而已。 缓急:缓慢急速的用笔方法。缓使其点画凝重,急点画生动,故缓得其形,急得其势,写字是缓与急的有机配合,若是只图快,则点画轻飘,一味地慢又使点画呆滞。清宋曹《书法约言》云:“迟则生妍而姿态毌媚,速则生骨而筯络勿牵,能速而速,故以取神,应迟不迟,反应失势。”初学书法宜慢勿快,特别是,点画中段的行笔过程,应缓慢徐行,即古人所说“留得应笔”。 方圆:方笔和圆笔的用笔方法。点画的起收和转折处出现棱角,顿笔后折锋写出的部份称为方笔。方笔写出的笔画方整峻利。气势开张,精神外溢。故又称为“外

深入理解ServletJSP之Cookie和Session原理

由于H T T P协议的无状态特征,W e b应用中经常使用C o o k i e和S e s s i o n来保存用户在与系统交互过程中的状态数据。下面通过分析H T T P协议对C o o k i e和S e s s i o n的工作原理加以了解。 一、C o o k i e C o o k i e的含义是“服务器送给浏览器的甜点”,即服务器在响应请求时可以将一些数据以“键-值”对的形式通过响应信息保存在客户端。当浏览器再次访问相同的应用时,会将原先的C o o k i e通过请求信息带到服务器端。 下面的S e r v l e t展示了C o o k i e的功能。 ......... p u b l i c v o i d d o G e t(H t t p S e r v l e t R e q u e s t r e q u e s t,H t t p S e r v l e t R e s p o n s e r e s p o n s e) t h r o w s S e r v l e t E x c e p t i o n,I O E x c e p t i o n{ r e s p o n s e.s e t C o n t e n t T y p e("t e x t/h t m l"); P r i n t W r i t e r o u t=r e s p o n s e.g e t W r i t e r(); S t r i n g o p t i o n=r e q u e s t.g e t P a r a m e t e r("o p t i o n"); i f("s h o w".e q u a l s(o p t i o n)){ //获得请求信息中的C o o k i e数据 C o o k i e[]c o o k i e s=r e q u e s t.g e t C o o k i e s(); i f(c o o k i e s!=n u l l){ //找出名称(键)为“c o o l”的C o o k i e f o r(i n t i=0;i"+c o o k i e s[i].g e t N a m e()+":" +c o o k i e s[i].g e t V a l u e()+""); } } } }e l s e i f("a d d".e q u a l s(o p t i o n)){ //创建C o o k i e对象 C o o k i e c o o k i e=n e w C o o k i e("c o o l","y e a h!"); //设置生命周期以秒为单位 c o o k i e.s e t M a x A g e(20); //添加C o o k i e r e s p o n s e.a d d C o o k i e(c o o k i e); }

JAVA常见名词解释

JAVA常见名词解释 面向对象: 面向对象程序设计(Object-Oriented Programming)是一种起源于六十年代,发展已经将近三十年的程序设计思想。其自身理论已十分完善,并被多种面向对象程序设计语言(Object-Oriented Programming Language,以下简称OOPL)实现。对象是对现实世界实体的模拟,由现实实体的过程或信息牲来定义。一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的外界信号的反应。这些对象操作有时称为方法。区别面向对象的开发和传统过程的开发的要素有:对象识别和抽象、封装、多态性和继承。(参见百度百科:面向对象) 面向对象要素:封装、多态、继承 Java名词解释: Abstract class 抽象类:抽象类是不允许实例化的类,因此一般它需要被进行扩展继承。 Abstract method 抽象方法:抽象方法即不包含任何功能代码的方法。 Access modifier 访问控制修饰符:访问控制修饰符用来修饰Java中类、以及类的方法和变量的访问控制属性。 Anonymous class 匿名类:当你需要创建和使用一个类,而又不需要给出它的名字或者再次使用的使用,就可以利用匿名类。 Anonymous inner classes 匿名内部类:匿名内部类是没有类名的局部内部类。 API 应用程序接口:提供特定功能的一组相关的类和方法的集合。

Array 数组:存储一个或者多个相同数据类型的数据结构,使用下标来访问。在Java中作为对象处理。 Automatic variables 自动变量:也称为方法局部变量method local variables,即声明在方法体中的变量。 AWT抽象窗口工具集:一个独立的API平台提供用户界面功能。 Base class 基类:即被扩展继承的类。 Blocked state 阻塞状态:当一个线程等待资源的时候即处于阻塞状态。阻塞状态不使用处理器资源 Call stack 调用堆栈:调用堆栈是一个方法列表,按调用顺序保存所有在运行期被调用的方法。 Casting 类型转换:即一个类型到另一个类型的转换,可以是基本数据类型的转换,也可以是对象类型的转换。 char 字符:容纳单字符的一种基本数据类型。 Child class 子类:见继承类Derived class Class 类:面向对象中的最基本、最重要的定义类型。 Class members 类成员:定义在类一级的变量,包括实例变量和静态变量。 Class methods 类方法:类方法通常是指的静态方法,即不需要实例化类就可以直接访问使用的方法。 Class variable 类变量:见静态变量Static variable Collection 容器类:容器类可以看作是一种可以储存其他对象的对象,常见的容器类有Hashtables和Vectors。 Collection interface 容器类接口:容器类接口定义了一个对所有容器类的公共接口。

淘宝常用专业术语、名词解释

淘宝常用专业术语、名词解释 【基础统计类】 1、浏览量(PV):店铺各页面被查看的次数。用户多次打开或刷新同一个页面,该指标值累加。 2、访客数(UV):全店各页面的访问人数。所选时间段内,同一访客多次访问会进行去重计算。 3、收藏量:用户访问店铺页面过程中,添加收藏的总次数(包括首页、分类页和宝贝页的收藏次数)。 4、浏览回头客:指前6天内访问过店铺当日又来访问的用户数,所选时间段内会进行去重计算。 5、浏览回头率:浏览回头客占店铺总访客数的百分比。 6、平均访问深度:访问深度,是指用户一次连续访问的店铺页面数(即每次会话浏览的页面数),平均访问深度即用户平均每次连续访问浏览的店铺页面数。【月报-店铺经营概况】中,该指标是所选月份日数据的平均值。 7、跳失率:表示顾客通过相应入口进入,只访问了一个页面就离开的访问次数占该入口总访问次数的比例。 8、人均店内停留时间(秒):所有访客的访问过程中,平均每次连续访问店铺的停留时间。 9、宝贝页浏览量:店铺宝贝页面被查看的次数,用户每打开或刷新一个宝贝页面,该指标就会增加。 10、宝贝页访客数:店铺宝贝页面的访问人数。所选时间段内,同一访客多次访问会进行去重计算。 11、宝贝页收藏量:用户访问宝贝页面添加收藏的总次数。 12、入店页面:单个用户每次浏览您的店铺时查看的第一个页面为入店页面。 13、出店页面:单个用户每次浏览您店铺时所查看的最后一个页面为出店页面。 14、入店人次:指从该页面进入店铺的人次。 15、出店人次:指从该页面离开店铺的人次。 16、进店时间:用户打开该页面的时间点,如果用户刷新页面,也会记录下来。 17、停留时间:用户打开本店最后一个页面的时间点减去打开本店第一个页面的时间点(只访问一页的顾客停留时间暂无法获取,这种情况不统计在内,显示为“—”)。 18、到达页浏览量:到达店铺的入口页面的浏览量。 19、平均访问时间:打开该宝贝页面到打开下一个宝贝页面的平均时间间隔。(用户访问该宝贝页后,未点击该页其他链接的情况不统计在内,显示为“—”) 20、全店宝贝查看总人次:指全部宝贝的查看人次之和。 21、搜索次数:在店内搜索关键词或价格区间的次数。

在JSP编程中Application的使用方法详解

Jsp 调用Javeabean 命令UseBean 中有Scope 设置,一般有Application session page 等设置,Page就是每页重新产生uscbcan中的javabean新对象,一般情况是用这种,如果多个Jsp程序间为共享数据,可以使用session 而application的意思,该javabean将一直存在,与session相对用户来说,application 是相对应用程序的,一般来说,一个用户有一个session.并且随着用户离开而消失;而application则是一直存在,类似一个servlet程序,类似整个系统的"全局变量",而且只有一个实例。 MVC中控制功能 因此application这个特性,很适合用来做MVC中的控制功能,一般传统MVC是用servlet 做控制功能,V基本是Jsp页而,21就是中间件Javabean Z类。 但是随着Jsp功能的完善和推广,逐渐有替代servlet之趋势,我们在实践中更多使用的也是Jsp,有时为了省却麻烦的事情,就使用Jsp代替servlet.尤其是英控制功能。 实际上,这个控制功能是封装在一个Javabcan中,Jsp使用scope=application来调用这个Javabean,这样,具备控制功能的javabean就类似servlet常驻内存,并和后台各种中间件交互操作。 “首页”的展现 在实际应用中,我们经常有多个用户要同时访问一个页而,如首页,这个首页中有很多功能要运行,比如目录分类,首页程序要从数据库中读入树形数据并展开,输岀到首页,这个功能是封装在Javabean中的。 那么首页Jsp调用这个Javabean时,使用scope=application,再通过树形数据的缓冲算法,这样,多个用户同时访问首页时,首页JSp就无需每次启动Javabean然后再反复读取数据库了。无疑大大提髙速度。 所以如果你的首页Jsp访问量很髙,那么就应该在这方而多花点时间优化。 更多信息请查看IT技术专栏

声学名词解释

B 波长 声波振动一次所传播的距离,用声波的速度除以声波的频率就可以计算出该频率声波的波长,声波的波长范围为17米至1.7厘米,在室内声学中,波长的计算对于声场的分析有着十分重要的意义,要充分重视波长的作用。例如只有障碍物在尺寸大于一个声波波长的情况下,声波才会正常反射,否则绕射、散射等现象加重,声影区域变小,声学特性截然不同;再比如大于2倍波长的声场称为远场,小于2倍波长的声场称为近场,远场和近场的声场分布和声音传播规律存在很大的差异;此外在较小尺寸的房间内(与波长相比),低音无法良好再现,这是因为低音的波长较长的缘故,故在一般家庭中,如果听音室容积不足够大,低音效果很难达到理想状态。 很多现场调音师都没有理会到音频与波长的关系,其实这是很重要的:音频及波长与声音的速度是有直接的关系。在海拔空气压力下,21摄氏温度时,声音速度为344m/s,而我接触国内的调音师,他们常用的声音速度是34Om/s,这个是在15摄氏度的温度时声音的速度,但大家最主要记得就是声音的速度会随着空气温度及空气压力而改变的,温度越低,空气里的分子密度就会增高,所以声音的速度就会下降,而如果在高海拔的地方做现场音响,因为空气压力减少,空气内的分子变得稀少,声音速度就会增加。音频及波长与声音的关系是:波长=声音速度/频率;λ=v/f,如果假定音速是344m/s时,100Hz的音频的波长就是3.44m,1000hz(即lkHz)的波长就是34.4cm,而一个20kHz的音频波长为1.7cm。 D 对混响时间 声源停止发声后,声压级衰减到人耳听不到的程度所需要的时间。 D 动态范围 音响设备的最大声压级与可辨最小声压级之差。设备的最大声压级受信号失真、过热或损坏等因素限制,故为系统所能发出的最大不失真声音。声压级的下限取决于环境噪声、热噪声、电噪声等背景条件,故为可以听到的最小声音。动态范围越大,强声音信号就越不会发生过荷失真,就可以保证强声音有足够的震撼力,表现雷电交加等大幅度强烈变化的声音效果时能益发逼真,与此同时,弱信号声音也不会被各种噪声淹没,使纤弱的细节表现得淋漓尽致。一般来说,高保真音响系统的动态范围应该大于90分贝,太小时还原的音乐力度效果不良,感染力不足。在专业音响系统的调整过程中,音响师在调音时要主意以下两方面问题:一是调音台的的输入增益量不要调的过小,否则微弱的声音会被调音台的设备噪声所淹没。二是压限器的阈值和压缩比的调整要格外慎重,阈值过小和压缩比过大,都会使声音动态压缩严重,故应该在保证效果的前提下,尽量减少对声音的动态损失。另外,在放大电路和音源中也存在动态范围,此时即可分辨的最小信号和可达到的最大不失真信号之差。 导波模式

最新淘宝之常用专业术语名词解释

淘宝常用名词解释 【基础统计类】 1、浏览量(PV):店铺各页面被查看的次数。用户多次打开或刷新同一个页面,该指标值累加。 2、访客数(UV):全店各页面的访问人数。所选时间段内,同一访客多次访问会进行去重计算。 3、收藏量:用户访问店铺页面过程中,添加收藏的总次数(包括首页、分类页和宝贝页的收藏次数)。 4、浏览回头客:指前6天内访问过店铺当日又来访问的用户数,所选时间段内会进行去重计算。 5、浏览回头率:浏览回头客占店铺总访客数的百分比。 6、平均访问深度:访问深度,是指用户一次连续访问的店铺页面数(即每次会话浏览的页面数),平均访问深度即用户平均每次连续访问浏览的店铺页面数。【月报-店铺经营概况】中,该指标是所选月份日数据的平均值。 7、跳失率:表示顾客通过相应入口进入,只访问了一个页面就离开的访问次数占该入口总访问次数的比例。 8、人均店内停留时间(秒):所有访客的访问过程中,平均每次连续访问店铺的停留时间。 9、宝贝页浏览量:店铺宝贝页面被查看的次数,用户每打开或刷新一个宝贝页面,该指标就会增加。 10、宝贝页访客数:店铺宝贝页面的访问人数。所选时间段内,同一访客多次访问会进行去重计算。 11、宝贝页收藏量:用户访问宝贝页面添加收藏的总次数。 12、入店页面:单个用户每次浏览您的店铺时查看的第一个页面为入店页面。 出店页面:单个用户每次浏览您店铺时所查看的最后一个页面为出店页面。 13、入店人次:指从该页面进入店铺的人次。 14、出店人次:指从该页面离开店铺的人次。 15、进店时间:用户打开该页面的时间点,如果用户刷新页面,也会记录下来。 16、停留时间:用户打开本店最后一个页面的时间点减去打开本店第一个页面的时间点(只访问一页的顾客停留时间暂无法获取,这种情况不统计在内,显示为“—”)。 17、到达页浏览量:到达店铺的入口页面的浏览量。 18、平均访问时间:打开该宝贝页面到打开下一个宝贝页面的平均时间间隔。(用户访问该宝贝页后,未点击该页其他链接的情况不统计在内,显示为“—”) 19、全店宝贝查看总人次:指全部宝贝的查看人次之和。 20、搜索次数:在店内搜索关键词或价格区间的次数。 【销售分析类】 1、拍下件数:宝贝被拍下的总件数。 2、拍下笔数:宝贝被拍下的总次数(一次拍下多件宝贝,算拍下一笔)。 3、拍下总金额:宝贝被拍下的总金额。 4、成交用户数:成功拍下并完成支付宝付款的人数。所选时间段内同一用户发生多笔成交会进行去重计算。 5、成交回头客:曾在店铺发生过交易,再次发生交易的用户称为成交回头客。所选时间段内会进行去重计算。 6、支付宝成交件数:通过支付宝付款的宝贝总件数。 7、支付宝成交笔数:通过支付宝付款的交易总次数(一次交易多件宝贝,算成交一笔)。 8、支付宝成交金额:通过支付宝付款的金额。 9、人均成交件数:平均每用户购买的宝贝件数,即人均成交件数 = 支付宝成交件数 / 成交用户数。 10、人均成交笔数:平均每用户购买的交易次数,即人均成交笔数 = 支付宝成交笔数 / 成交用户数。 11、当日拍下-付款件数:当日拍下、且当日通过支付宝付款的宝贝件数。 12、当日拍下-付款笔数:当日拍下、且当日通过支付宝付款的交易次数。 13、当日拍下-付款金额:当日拍下、且当日通过支付宝付款的金额。 14、客单价:客单价=支付宝成交金额/成交用户数。单日“客单价” 指单日每成交用户产生的成交金额。 15、客单价均值:指所选择的某个时间段,客单价日数据的平均值。如【月报】中,客单价均值=该月多天客单价之和/ 该月天数。 16、支付率:支付宝成交笔数占拍下笔数的百分比,即支付率 = 支付宝成交笔数 / 拍下笔数。 17、成交回头率:成交回头客占成交用户数的百分比。即成交回头率 = 成交回头客 / 成交用户数。 18、全店成交转化率:全店成交转化率=成交用户数/访客数。单日“全店成交转化率” 指单日成交用户数占访客数的百分比。 19、全店转化率均值,指所选择的某个时间段,全店成交转化率日数据的平均值。如【月报】中,全店转化率均值=该月多天转化率之和 / 该月天数。 20、促销成交用户数:参与宝贝促销活动的成交用户数。 21、宝贝页(促销)成交转化率:参与宝贝促销活动的成交用户数占宝贝页访客数的百分比。“按月”、“按周”查看报表时,该指标是所选时间段内日数据的平均值。 22、支付宝(促销)成交件数:买家参与宝贝促销活动产生的支付宝成交件数。 23、支付宝(促销)成交笔数:买家参与宝贝促销活动产生的支付宝成交笔数。 24、支付宝(促销)成交金额:买家参与宝贝促销活动产生的支付宝成交金额。 25、非促销成交用户数:未参与宝贝促销活动的成交用户数。 26、支付宝(非促销)成交件数:买家未参与宝贝促销活动产生的支付宝成交件数。 27、支付宝(非促销)成交笔数:买家未参与宝贝促销活动产生的支付宝成交笔数。 28、支付宝(非促销)成交金额::买家未参与宝贝促销活动产生的支付宝成交金额。 【直通车数据类】 字段名称简称含义 展现量pv 广告被展现的次数 点击量click/uv 广告被点击的次数 点击率ctr 点击量/展现量 消耗REV 直通车点击产生费

Session用法小结

https://www.360docs.net/doc/553296732.html, Session详解及Session莫名丢失的原因及解决办法 作者:YanJun 日期:2007-07-29 字体大小: 小中大 Session模型简介 Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。 这个唯一的SessionID是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有SessionID,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。当然,SessionID还有很多其他的作用,我们会在后面提及到。 除了SessionID,在每个Session中还包含很多其他信息。但是对于编写ASP或https://www.360docs.net/doc/553296732.html,的程序与来说,最有用的还是可以通过访问ASP/https://www.360docs.net/doc/553296732.html,的内置Session对象,为每个用户存储各自的信息。例如我们想了解一下访问我们网站的用户浏览了几个页面,我们可能在用户可能访问到每个的页面中加入: <% If Session("PageViewed") = ""Then Session("PageViewed") = 1 Else Session("PageViewed") = Session("PageViewed") + 1 End If %> 通过以下这句话可以让用户得知自己浏览了几个页面:

java专业术语

1.API:Java ApplicationProgrammingInterface APT(应用程序接口) 2.AWT:Abstract WindowToolkit AWT(抽象窗口工具集) 3.JFC:JavaTM Foundation Classes(JFC)(Java基础类) 4.JNI:JavaTMNative Interface JNI(Java本地接口) 5.JSP:JavaServerTM Pages(Java编程语言代码) 6.J2EETM:JavaTM 2PlatformEnterpriseEdition J2EE(Java2企业版-平台提供一个基于组件设计、开发、集合、展开企业应用的途径) 7.J2METM:JavaTM 2MicroEdition J2ME(Java2精简版-API规格基于J2SETM,但是被修改成为只能适合某种产品的单一要求) 8.JVM:JavaTM VirtualMachinel JVM(Java虚拟机) 9.JDKTM:JavaDeveloper'sKit JDK(Java开发工具集) A: 10.AJAX:Asynchronous JavaScript and XML(异步) 11.annotation:注解 12.Ant 13.AOP:aspect-oriented programming(面向方向编程) 14.application:应用 15.argument:参数 B: 16.B2B:Business-to-Business(业务对业务) 17.BAM:Business Activity Monitoring(业务活动监测) 18.BMP:bean-managed persistence, Bean(管理的持久化) 19.BPEL:Business Process Excursion Language(业务流程执行语言) 20.BPM:Business Process Modeling(业务流程建模) 21.build:建立、编译 C: 22.C2B:Consumer-to-Business(客户对业务) 23.CAD:Computer Aided Design(计算机辅助设计) 24.CAM:Computer Aided Modeling(计算机辅助建模) 25.case-insensitive:大小写不敏感 26.case-sensitive:大小写敏感 27.container:容器 28.cluster:集群 29.CMP:container-managed persistence(容器管理的持久化) https://www.360docs.net/doc/553296732.html,ponent:组件,部件 31.configuration:配置 32.context:上下文,环境 33.control:控件 34.convention:约定 35.CORBA:Common Object Request Broker Architecture(公共对象请求代理体系) 36.COS:Common Object Services(公共对象服务)

影音名词解释大全2

影音名词解释大全2 AC-3 杜比数字(DD)5.1声道数字环绕声格式原先的叫法。 有源分频网络(active crossover) 指可将声频信号中的低频、中频和高频在放大之前便加以分割而分别加到各自的发音单元往的一种有源电子电路。固然有源分频网络多用于超低音音箱中,但在多声道系统中,也可单独使用有源分频网络。 有源超低音音箱(active subwoofer) 指专门用于重放低频、并由内置功率放大器来驱动的那类音箱。 ADD 指CD唱片按模拟方式录音(A),而编辑和制片则均采用数字(D)方式。 模拟/数字变换器(ADC) 将模拟信号变换为数字信号的电路。 邻台选择性(adjacent-channel selectivity) 指接收调谐器能够选择所欲收听的电台并抑止邻近电台干扰的能力。 隔台选择(alternate-channel selectivity) 指接收调谐器能够抑止与所欲接收的电台相隔为二个台的其它电台的干扰的能力。 AES/EBU数字接口(AES/EBU inte*ce)

一种传送数字音频信号的专业接口,AES/EBU信号线为使用XLR插头的平 衡传输线。此外,也在某些消费电子产品中使用。是根据美国AES(声频工程协会)和EBU(欧洲广播同盟)来命名的。 逼人感(aggressive) 用于表示象要把音乐给抛投到聆听者眼前的那种前推型演出的声学术语。 空气感(air) 用于表示高音的开阔,或是声场中在乐器之间有空间间隔的声学术语。此时,高频响应可延伸到15kHz-20kHz。反义词有"昏暗(dull)"和"厚重(thick)"。 气悬式唱臂(air-bearing tonearm) 指LP电唱盘的唱臂系用空气垫来支撑的一种唱臂。 气悬式电唱盘(air-bearing turntable) 指唱盘系由空气垫来托起的那种唱盘。 环绕感(ambience) 也称包围感。指电影伴音所产生的那种有一定规模和空间的包围感。通常 是由环绕音箱来营造的。 安培(ampere) 电流的计量单位,用A表示。 解析(analytical) 指音响器材能巨细无遗的再现录音制品中的每一细节,但却用的是错误的 方式,此种解析方式极缺乏音乐味。 模拟(analog)

架空输电线路150条专用名词术语解释

架空输电线路150条专用名词术语解释(双语) 【名词】电力系统 【英文】electrical power system;electricity supply system 【注释】发电、输电及配电的所有装置和设备的组合。 【名词】电力网 【英文】electrical power system;electrical power network 【注释】输电、配电的各种装置、变电站、电力线路或电缆的组合。 【名词】交流系统 【英文】alternating current system; AC system 【注释】由交流电压供电的系统。 【名词】直流系统 【英文】direct current system; DC system 【注释】由直流电压供电的系统。 【名词】输电 【英文】transmission or electricity 【注释】从发电站向用电地区输送电能。 【名词】(电力)线路 【英文】(electric)line 【注释】在电力系统两点之间输配电的导线、绝缘材料和各种附件组成的设施。 【名词】输电线路 【英文】transmission line 【注释】连接发电厂与变电站(所)的传输电能的电力线路,作为输电系统一部分的线路。 【名词】架空线路 【英文】overhead line 【注释】用杆塔和绝缘材料将导线架离地面的电力线路。 【名词】支线 【英文】branch line ; spur 【注释】连接到主线路中一点上的电力线路。 【名词】T接线路 【英文】ttapped line; teed line 【注释】连接有支线的线路。 【名词】系统标称电压 【英文】nominal coltage system

音响术语解释

音响术语解释(一) 声场设计 a/b试听比较(a/b comparison)指对两种不同的音乐重放方式进行的反复试听比较。 a/v 为audio(音响)与video(视频)的缩写,指兼有视听特性的那些影音产品。 a/v功放接收机(a/v receiver)为家庭影院系统的心脏部分。负责接收由节目源送来的信号,选择需要观看和聆听的信号,控制重放的音量,完成环绕声解码,收听电台节目,并将选定的信号予以放大,以便能推动家庭影院的成套音箱。也称为“环绕声接收机”。 a/v回路(a/v loop)指所用a/v功放接收机和a/v前置放大器上安装的那些a/v 输入与a/v输出对,系用于跟既能录音又能播放音频和视频信号的a/v器材连接的。比如,一台录像机便能跟a/v功放接收机或a/v前置放大器的a/v回路连接。 a/v前置放大器/调谐器(a/v preamplifier/turner)指在同一机箱内装有am(调幅)或fm(调频)接收调谐器的a/v前置放大器。 a/v前置放大器(a/v preamplifier)也称“a/v控制器”,是用来控制音量,选择节目源和完成环绕声解码功放的一种音响器材。 a/v输入(a/v input)指既设置得有音频又设置有视频插座的a/v功放接收机或a/v前置放大器的输入端。 aad 指录音及后期制作皆为模拟(a)方式,而只有制片使用数字(d)方式的cd 唱片制作。 ac-3 杜比数字(dd)5.1声道数字环绕声格式原先的叫法。 ac(alternating current)交流电,指电流方向会作周期性改变的市电供电电源,英美多用60hz,我国则采用50hz的。

jsp复习题

一、单选题 1. Servlet中,HttpServletResponse的(C )方法用来把一个Http请求重定向到另外的URL。 A. sendURL() B. redirectURL() C. sendRedirect() D. redirectResponse() 2. 一个servlet的生命周期不包括( D )方法。 A. init()方法 B. destroy()方法 C. service()方法 D. invalidate()方法 3. session对象的( A )方法用于设置会话的超时时间。 A. session.setMaxInactiveInterval(30); B. session.setMaxTime(30) ; C. session.getMaxInactiveInterval(); D. session.setAttribute(“time”,30) ; 4. 有一JSP页面,需要在页面中定义一个int型的Java全局变量myInt,定义的方法是( D )。 A. <% int myInt %> B. <%! int myInt !%> C. <%int myInt !%> D. <%! int myInt %> 5. 下面哪个不是JSP中和javabean相关的标记( B )。 A. B. C. D. 6. 在客户端浏览器的源代码中可以看到( B )。 A. JSP注释 B. HTML注释 C. JSP注释和HTML注释 D. JA V A注释 7. 以下哪种技术不属于动态网页技术( C )。 A. JSP B. CGI C. DHTML D. Perl 8. 在JSP中,只有一行代码:<%=’A’+’B’%>,运行将输出( C )。 A. A+B B. AB C. 131 D. 错误信息(表达式错误) 9. HttpServletRequest对象的( C )方法能够获取一个表单参数的值。 A. getQuaryString() B. getPathInfo() C. getParameter() D. getAttribute() 10. ( A )被称为一个会话。 A. 从访问者连接到服务器,到访问者关闭浏览器离开该服务器 B. 从服务器启动,到服务器关闭 C. 从访问者连接到服务器,到服务器关闭 D. 从服务器启动,到访问者关闭浏览器离开该服务器 11. 有聊天系统用servlet实现,用户发表言论时,需要对文字的敏感信息自动过滤,采用过滤器来实现,过滤的方法在( C )中实现。 A. init B. doPost C. doFilter D. doGet 12. 关于Filter,下面说法错误的是( D )。 A. 可以处理请求和响应 B. 创建时必须实现Filter接口 C. 必须在web.xml文件中进行配置才能生效 D. 如果没有配置初始化参数,创建Filter时可以不实现init()方法 13. 使用JavaScript语言中Document的( A )方法可以在页面上输出字符。 A. document.write() B. document.print() C. document.out() D. document.flush() 14. page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是( D )。 A. <%@ page %>作用于整个JSP页面 B. 可以在一个页面中使用多个<%@ page %>指令 C. 为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的

声学专业词汇

波长 声波振动一次所传播的距离,用声波的速度除以声波的频率就可以计算出该频率声波的波长,声波的波长范围为17米至1.7厘米,在室内声学中,波长的计算对于声场的分析有着十分重要的意义,要充分重视波长的作用。例如只有障碍物在尺寸大于一个声波波长的情况下,声波才会正常反射,否则绕射、散射等现象加重,声影区域变小,声学特性截然不同;再比如大于2倍波长的声场称为远场,小于2倍波长的声场称为近场,远场和近场的声场分布和声音传播规律存在很大的差异;此外在较小尺寸的房间内(与波长相比),低音无法良好再现,这是因为低音的波长较长的缘故,故在一般家庭中,如果听音室容积不足够大,低音效果很难达到理想状态。 很多现场调音师都没有理会到音频与波长的关系,其实这是很重要的:音频及波长与声音的速度是有直接的关系。在海拔空气压力下,21摄氏温度时,声音速度为344m/s,而我接触国内的调音师,他们常用的声音速度是34Om/s,这个是在15摄氏度的温度时声音的速度,但大家最主要记得就是声音的速度会随着空气温度及空气压力而改变的,温度越低,空气里的分子密度就会增高,所以声音的速度就会下降,而如果在高海拔的地方做现场音响,因为空气压力减少,空气内的分子变得稀少,声音速度就会增加。音频及波长与声音的关系是:波长=声音速度/频率;λ=v/f,如果假定音速是344 m/s时,100Hz的音频的波长就是3.44 m,1000hz(即lkHz)的波长就是34.4 cm,而一个20kHz的音频波长为1.7cm。 动态范围 音响设备的最大声压级与可辨最小声压级之差。设备的最大声压级受信号失真、过热或损坏等因素限制,故为系统所能发出的最大不失真声音。声压级的下限取决于环境噪声、热噪声、电噪声等背景条件,故为可以听到的最小声音。动态范围越大,强声音信号就越不会发生过荷失真,就可以保证强声音有足够的震撼力,表现雷电交加等大幅度强烈变化的声音效果时能益发逼真,与此同时,弱信号声音也不会被各种噪声淹没,使纤弱的细节表现得淋漓尽致。一般来说,高保真音响系统的动态范围应该大于90分贝,太小时还原的音乐力度效果不良,感染力不足。在专业音响系统的调整过程中,音响师在调音时要主意以下两方面问题:一是调音台的的输入增益量不要调的过小,否则微弱的声音会被调音台的设备噪声所淹没。二是压限器的阈值和压缩比的调整要格外慎重,阈值过小和压缩比过大,都会使声音动态压缩严重,故应该在保证效果的前提下,尽量减少对声音的动态损失。另外,

常见电脑名词术语解释

常见电脑名词术语解释——基础术语程序:用汇编语言、高级语言等开发编制出来的可以运行的文件。 软件:从开发商的角度而言,软件就是全部程序和全部开发文档的集合。从用户的角度而言,软件应该是程序、说明书、服务的总合。所以买正版软件就理应得到正规说明书和维护、升级等相关服务。 数制: 虽然计算机能极快地进行运算,但其内部并不像人类在实际生活中使用的十进制,而是使用只包含0和1两个数值的二进制。当然,人们输入计算机的十进制被转换成二进制进行计算,计算后的结果又由二进制转换成十进制,这都由操作系统自动完成,并不需要人们手工去做,学习汇编语言,就必须了解二进制(还有八进制/十六进制)。 数据: 狭义的理解,数据就是数值,即0、1、2、3、4、5、6、7、8、9和符号、小数点组成的数值,广义地讲,计算机所能处理的数据是指计算机能接受、存储、处理的任何信息,除了数值外,还有字符数据、图形数据、音频数据、视频数据、控制信号数据等等。 数据类型: 在处理各种数据时,为了便于处理、查错和充分利用存储空间,许多开发环境都要求对数据类型进行说明,一般有整数型、实数型、字符串型、布尔型、日期型、备注型、浮点型、双精度型等等。 数据运算: 一般指对数据所施加的各种处理,如插入数据、修改旧数据、删除已无用的数据、查找数据、将数据按一定规则排序、打印数据等等。 数据结构:在编程中,除了考虑功能如何实现外,还必须考虑到程序中所涉及到的数据组织方式,其一是为了提高执行效率;其二是在特定的功能中,必须将数据以特殊的结构进行存放。常用的数据结构有线性表、栈、队列、树、二叉树、图、哈希表等结构。 逻辑结构:指对数据的组织形式,如社会生活中的人事组织可用树型逻辑结构表示,选择好逻辑结构对软件的实现有重大意义。常见电脑名词术语解释——操作术语计算机硬件是软件运行的基础,而软件则是发挥硬件作用的关键。许多入门者除了学用各种软件外,还可能尝试着自己编编程序,那么建议最好先熟悉 以下的基础名词,以便尽快进入角色。 操作术语 操作系统: 计算机硬件系统外面加载的第一道软件系统,专门用于管理计算机硬件和其它软件,响应用户对硬件和软件的操作,在微机上常见的有DOS、Windows3.2,Win95/98/NT等。

相关文档
最新文档