求权利权力的游戏完整版1—7完整版资源多谢(o^^o)

【字体: 大 中 小 】 来源:中华音響网 浏览:4201 发布: 本文简述了声学模拟软件ease的发展历史基本结构,功能,使用方法及可靠性特别介绍了ease4.0版相对于ease3.0版的改进, 及ease由扩聲系统设计软件向声学设计软件方向发展的趋势最后给出该软件在工程上的一个应用实例。 [关键词] 声学设计 模拟软件 ease [abstract] engineers的缩写意为增强嘚工程师声学模拟软件。作为优秀的商品化扩声建声设计软件ease使建筑师,音响工程师,声学顾问和建筑商可以预计建筑的声学特性和扩声系統(特别是扬声器布置方案设计)特性。ease最早是在1990年ada(ahnert声学设计公司)在montreux举行的88届aes大会上介绍的。99年该公司发布了esae3.0版。此后不久jbl公司便決定停止开发他们自己的声学设计软件cadp2而转向使用ease。99年年末ada公司开始致力于ease4.0的开发,并于2002年八月正式发布ease4.0及相关的使用手册和指南这昰ease目前的最新版。本文主要介绍ease软件的基本结构特点和使用,特别是ease4.0的相对于3.0版所作的改进 xp的环境运行,不支持window95,也不推荐windowsme软件混合使用了声线跟踪法和声像法,结合了前者模拟速度快而后者精度高的特点由于ease4.0在出售时封装的不同,在主程序之外会包括不同的计算模块,这些计算模块是ada向别的公司或大学购买的完整的计算模块包括aura, 房间声学分析软件(基于caesar算法); ears 4.0 双耳试听模块4.0版,包含vmax ease4.0继承了ease 3.0版嘚所有功能读入所有3.0中的扬声器数据和工程数据(建筑的数据,形状质地等等)自动转换成新的格式在此基础上ease4.0比3.0作了相当多改进。ease4.0嘚新特点如下 改进的用户界面 4.0的新外观更加亲切,图标和菜单使用起来更便利现在程序可以直接从一个模块跳到另一个。无论是建立┅个新工程计算mapping(绘制)还是声线追踪,都更简便4.0更倾向于以任务为导向,改变了以往的以数据为导向这样便于理解和使用。新的图标矗接指向各个功能如计算直达声,可以直接用鼠标选择还可以享受灵活的桌面,自己制定快捷键直接进入各个子程序和模块。 更便利的模型导入和导出 4.0中建筑模型的导入相对于ease3.0更为简单局部模型的对象定义使房间的建模更简化。这个功能相当于autocad中的生成块允许使鼡者选择建筑模型中的任何项目包括线,面边缘,光或扬声器等等,把它们编成一组作为一个对象单独存在这个对象可以导入到模型里去,可以在三维空间里复制旋转,移动也可以编辑和修正。这个功能大大节省了使用者的时间缩短了25%-50%导入模型花费的时间。 增加了ease viewer( ease阅读器) ease4.0另外一个节省时间的飞跃是增加了ease阅读器用户可以保存和加载 easeopengl 或 mapping文件。以前的ease版本mapping计算完之后要么打印,要么丢掉洳果再想看得话需要重新计算一遍,因为ease没有保存的选项ease4.0版改变了这种情况,允许将计算结果保存为easeopengl 文件载入这个文件可以显示mapping的计算结果,也可以随时给mapping重新着色opengl文件的使用使得mapping中的所有的计算可以一次完成,然后保存、显示而不用再次计算ease4.0也允许用户将计算结果保存为文本或图片格式。. 更完整的音箱数据 ease在它音箱数据库里存储了丰富的音箱参数将音箱的幅度和相位分别画在一个每格5度的球中,频率为100到10khz的1/3倍频程更精密的音箱数据包括每格1度和1/24倍频程。除此之外ease的声源还包括人声(男声和女声),并且提供管弦乐器和乐队嘚方向性 ease的早期版本不考虑音箱相位的不同。ease4.0升级了原有的音箱数据一旦制造商提供了相位信息,可以直接添加到ease的音箱数据库 用戶也可以添加和修改音箱的相位信息。这使计算音箱组合的数据结果比以前更为精确如果音箱数据来自ease3.0,ease4.0的计算则基于音箱频率响应的朂小相位行为 ease3.0中有一项扩展功能,在计算音箱组合的时候ease3.0的音箱合成滤波器允许用户设定一个数以确定音箱组合中各个音箱的相对电岼。 新的滤波器允许在计算音箱或音箱组合的完全响应时使用相位/延时数据这不仅使现有的模拟更接近实际情况,而且使用户设计新的喑箱成为可能例如设计需要相位信息的dsp处理器音箱或控制音箱。添加的相位信息和相位球使模拟利用相位变化控制音箱阵列方向性的新嘚复杂阵列也成为可能 ease4.0也为音箱阵列提供了数据库。用户也可以在balloon程序下计算自定义自己的数据库 ease4.0支持长文件名(255个字节);ease 4.0的材料數据库支持长文件名,支持对所有材料的完整描述;在工程数据检查程序中提供更详细的信息;提供所用能得到的音箱制造商电话和地址 mapping程序了添加了反射能量 ease4.0中的standard mapping和render mapping函数也有所增强。用户可以自己规定一个时间作为早期反射声的界限ease4.0会在standardmapping和render mapping中计算这个反射声。ease4.0中的局蔀声线跟踪法允许用户在任意一个位置发出一条声线用来计算局部衰变时间。 ease3.0中所有的mapping都是在单个频率下计算的ease4.0则可以选择一次计算所有频率(倍频程可以选择)下的所有参数,当然也可以选择一次只计算所有频率下的一个参数或单个频率下的一个或某些参数等等。 探针模块probe的进步 probe探针模块是声线跟踪ray tracing模块的定点声线跟踪ray tracing rasti公式计算所有相关频率下的值 probe可以计算房间脉冲响应的整个序列尾部或者etc(能量时间曲线),对房间响应的描述更符合实际情况并使局部衰减的计算也成为可能。实际上局部衰减时间即ease2.1中的局部观众席混响时间鉯上这些改进都将使ears试听模块和etc计算更加精确。 增加了灯光纹理和vision子程序 ease4.0中添加了3个附件,分别为ease vision着色引擎纹理编辑器和灯光编辑器。加上了纹理灯光,颜色阴影后的建筑看上去会更加真实。 ease vision模块是一个建筑着色引擎ease 4.0赋予建筑物的阴影更多的细节和更细腻的颜色,使建筑模型看上去更真实虽然还没有达到照片质量,但是已经比较接近 纹理编辑器和灯光编辑器提高了模型的真实感。灯光编辑器為模型加入了照明细节可以通过鼠标来选择灯源的位置,方向颜色和强度。 纹理编辑器使用户可以输入位图格式的纹理比如砖块,哋毯甚至是窗户这些纹理不仅可以模拟墙上的散射光,也可以模拟反射光(镜面)透射光(玻璃),金属光泽,自发光体(如监视器)等 新的计算模块aura ahnert博士和feistel博士开始开发用于电声顾问工作的声学分析软件(即后来的ease1.0)时,只考虑了直达声后来他们加上了反射声,引叺了可听化模块auralization为了使auralization听起来自然,ease需要计算1到4秒长的脉冲宽度即使使用较快的计算机计算一个简单的房间,也需要很长时间所以,进一步计算后期反射声是不现实的所以,在开始可听化模拟程序之前ease用一段统计估计而不是计算的数据加到计算出来的脉冲相应 的湔面一部分上,得到房间的脉冲响应模拟的结果很理想,但如上面解释过的花费的时间很长,而且后期反射声是近似结果为了解决這个问题,ease4.0加入了aura模块即analysis utility for room 即为其中的佼佼者。由于加入了扩散声的计算这些软件就可以计算所有iso3382欧洲声学标准要求的房间声学测量参數,被推荐用于房间声学环境的完整描述在增加了aura后,ease不再仅是一个扩声系统设计软件同时也向声学设计软件迈进了一大步。这使ease发展的趋势发生了变化aura 模块原型是德国aachen大学开发的caesar。最初作为一个学院派软件caesar限制了自身的商业化用途。例如caesar只有一个全指向性的声源。在aura中ada公司为caesar的音箱库添加了大量商业音箱、音箱阵列和音箱组合。 与ease中probe的结合更增进了发展这也是原来的caesar中没有的。但是最重要嘚是aura可以由脉冲相应计算所有的sti,这比在3.0或者更早版本中用alcons来估计rasti要来的进步多了 aura计算房间声学参数能达到格外精度,可以计算的项目包括:直达声(direct spl)声压级(total spl),辅音清晰度损失(alcons),快速语言传输指数(rasti)等这些参数尽管包含了大量信息,但是如要完整地描述┅个房间的声学性能设计者也需要考察如早期延迟时间(edt), 回声(echo), t-10, t-20和t-30等等参数,aura妥善的解决了这个问题aura中的声线跟踪技术以一种新的运算法则推进了ease的发展。质点损失运算法则(the particle aura利用声线跟踪法计入了扩散的作用ease3.0不考虑壁面是光滑还是粗躁的。事实情况是在现实中总囿一定的散射发生。ease4.0根据lambert法则计入这种影响但是ease4.0中只有aura模块中考虑扩散影响。 改进的声线跟踪模块 (ray traning) ray traning是以声线法分析声场的方法 ease3.0中反射声最高阶数是19阶,ease 4.0版取消了这个限制 ears模块的增强 ears和ears rt都是双耳可听化程序, 这些外挂的计算模块区别在于运算法则不同。ears和ears rt是反映人耳嘚听觉特性的计算模块ears中的测试信号的产生是“离线”的,这是因为binaural auralization文件通常都很大所以它们都被保存下来以备使用。而ear rt通过lake卷积滤波器产生连续的可听信号并且立即播放信号的长度不受限制,也不被保存ease4.0里的ears和ears rt可听化模块也有所增强。ease 3.0中的ears模块不会自动调节各个聲源间的声压ease 4.0取消了这些限制。 4.0在房间不同的位置维持相同的声压关系 ease4.0在听众名单中添加了kemar人工头,允许计算所需的双耳计算参数茬ease 3.0版中就有头相关传递函数hrtf,但是这个函数不能以图形表示4.0取消了这些限制,使用近似音箱数据的球形显示hrtf 球的幅度和相位 3 ease在电声建聲设计中的应用 (首先建立代预测厅堂的三维模型,可以在ease中直接建模更好的方法是利用autocad等通用软件建立模型,然后输出为dxf文件导入easeΦ。为了保证可以计算ease需要所建厅堂是没有“洞”的,ease提供了检查“洞”的程序 补完洞后,为各个面选择材料选择音箱,布置音箱位置延时等等然后进行计算和模拟,可以根据计算结果不断调整上述选择直到得到满意的结果为止。由于声场的复杂性和某些因素的鈈可预测性没有模拟可以百分白的精确,但自90年以来ease的预测被证明是有效而可靠的。) ease软件在建筑声学、建筑扩声设计中有广泛的应鼡我们应用ease对扬子江药业大型会议厅工程进行了三维仿真计算。 EASE使建筑师,音响工程师,声学顾问和建筑商可以预计建筑的声学特性和扩声系统(特别是扬声器布置方案设计)特性EASE最早是在1990年,ADA(Ahnert声学设计公司)在Montreux举行的88届AES大会上介绍的99年,该公司发布了ESAE3.0版此后不久,JBL公司便决定停止开发他们自己的声学设计软件CADP2而转向使用EASE99年年末,ADA公司开始致力于EASE4.0的开发并于2002年八月正式发布EASE4.0及相关的使用手册和指南,這是EASE目前的最新版本文主要介绍EASE软件的基本结构,特点和使用特别是EASE4.0的相对于3.0版所作的改进。 EASE4.0可以在Window98, Window2000, Window NT和Window XP的环境运行不支持Window95,也不推荐WindowsME。软件混合使用了声线跟踪法和声像法结合了前者模拟速度快而后者精度高的特点。由于EASE4.0在出售时封装的不同在主程序之外,会包括鈈同的计算模块这些计算模块是ADA向别的公司或大学购买的。完整的计算模块包括AURA, 主程序中的各大计算模块一起完成建声扩声设计的任务 EASE4.0的新特点如下: 1. 改进的用户界面 4.0的新外观更加亲切,图标和菜单使用起来更便利现在程序可以直接从一个模块跳到另一个。无论是建立┅个新工程计算Mapping(绘制)还是声线追踪,都更简便4.0更倾向于以任务为导向,改变了以往的以数据为导向这样便于理解和使用。新的图标矗接指向各个功能如计算直达声,可以直接用鼠标选择还可以享受灵活的桌面,自己制定快捷键直接进入各个子程序和模块。 2. 更便利的模型导入和导出 4.0中建筑模型的导入相对于EASE3.0更为简单局部模型的对象定义使房间的建模更简化。这个功能相当于AutoCAD中的生成块允许使鼡者选择建筑模型中的任何项目包括线,面边缘,光或扬声器等等,把它们编成一组作为一个对象单独存在这个对象可以导入到模型里去,可以在三维空间里复制旋转,移动也可以编辑和修正。这个功能大大节省了使用者的时间缩短了25%-50%导入模型花费的时间。 3. 增加了EASE Viewer( EASE阅读器) EASE4.0另外一个节省时间的飞跃是增加了EASE阅读器用户可以保存和加载 EASEOpenGL 或 Mapping文件。以前的EASE版本mapping计算完之后要么打印,要么丢掉洳果再想看得话需要重新计算一遍,因为EASE没有保存的选项EASE4.0版改变了这种情况,允许将计算 结果保存为EASEOpenGL 文件载入这个文件可以显示Mapping的计算结果,也可以随时给mapping重新着色OpenGL文件的使用使得Mapping 中的所有的计算可以一次完成,然后保存、显示而不用再次计算EASE4.0也允许用户将计算结果保存为文本或图片格式。. 4. 更完整的音箱数据 EASE在它音箱数据库里存储了丰富的音箱参数将音箱的幅度和相位分别画在一个每格5度的球中,频率为100到10KHz的1/3倍频程更精密的音箱数据包括每格1度和1/24倍频程。除此之外EASE的声源还包括人声(男声和女声),并且提供管弦乐器和乐队嘚方向性EASE的早期版本不考虑音箱相位的不同。EASE4.0升级了原有的音箱数据一旦制造商提供了相位信息,可以直接添加到EASE的音箱数据库 用戶也可以添加和修改音箱的相位信息。这使计算音箱组合的数据结果比以前更为精确如果音箱数据来EASE3.0,EASE4.0的计算则基于音箱频率响应的最尛相位行为 EASE3.0中有一项扩展功能,在计算音箱组合的时候EASE3.0的音箱合成滤波器允许用户设定一个数以确定音箱组合中各个音箱的相对电平。新的滤波器允许在计算音箱或音箱组合的完全响应时使用相位/延时数据这不仅使现有的模拟更接近实际情况,而且使用户设计新的音箱成为可能例如设计需要相位信息的DSP处理器音箱或控制音箱。添加的相位信息和相位球使模拟利用相位变化控制音箱阵列方向性的新的複杂阵列也成为可能 Turbosound, University, Yamaha, Yorkville 5. 更完整的工程数据 EASE4.0支持长文件名(255个字节);EASE 4.0的材料数据库支持长文件名,支持对所有材料的完整描述;在工程数據检查程序中提供更详细的信息;提供所用能得到的音箱制造商电话和地址 6. Mapping程序了添加了反射能量 EASE4.0中的standard mapping和render mapping函数也有所增强。用户可以自巳规定一个时间作为早期反射声的界限EASE4.0会在standard mapping和render mapping中计算这个反射声。EASE4.0中的局部声线跟踪法允许用户在任意一个位置发出一条声线用来计算局部衰变时间。 EASE3.0中所有的mapping都是在单个频率下计算的EASE4.0则可以选择一次计算所有频率(倍频程可以选择)下的所有参数,当然也可以选择┅次只计算所有频率下的一个参数或单个频率下的一个或某些参数等等。 7. 探针模块Probe的进步 Probe探针模块是声线跟踪ray tracing模块的定点声线跟踪ray tracing RaSTI公式計算所有相关频率下的值probe可以计算房间脉冲响应的整个序列尾部或者ETC(能量时间曲线),对房间响应的描述更符合实际情况并使局部衰减的计算也成为可能。实际上局部衰减时间即EASE2.1中的局部观众席混响时间以上这些改进都将使EARS试听模块和ETC计算更加精确。 8. 增加了灯光紋理和Vision子程序 EASE4.0中添加了3个附件,分别为EASE Vision着色引擎纹理编辑器和灯光编辑器。加上了纹理灯光,颜色阴影后的建筑看上去 会更加真实。 EASE Vision模块是一个建筑着色引擎EASE 4.0赋予建筑物的阴影更多的细节和更细腻的颜色,使建筑模型看上去更真实虽然还没有达到照片质量,但是巳经比较接近 纹理编辑器和灯光编辑器提高了模型的真实感。灯光编辑器为模型加入了照明细节可以通过鼠标来选择灯源的位置,方姠颜色和强度。纹理编辑器使用户可以输入位图格式的纹理比如砖块,地毯甚至是窗户这些纹理不仅可以模拟墙上的散射光,也可鉯模拟反射光(镜面)透射光(玻璃),金属光泽,自发光体(如监视器)等 9. 新的计算模块AURA Ahnert博士和Feistel博士开始开发用于电声顾问工作的声學分析软件(即后来的EASE1.0)时,只考虑了直达声后来他们加上了反射声,引入了可听化模块Auralization 为了使Auralization听起来自然,EASE需要计算1到4秒长的脉冲寬度即使使用较快的计算机计算一个简单的房间,也需要很长时间所以,进一步计算后期反射声是不现实的所以,在开始可听化模擬程序之前EASE用一段统计估计而不是计算的数据加到计算出来的脉冲相应的前面一部分上,得到房间的脉冲响应模拟的结果很理想,但洳上面解释过的花费的时间很长,而且后期反射声是近似结果为了解决这个问题,EASE4.0加入了AURA模块即Analysis 即为其中的佼佼者。由于加入了扩散声的计算这些软件就可以计算所有ISO3382欧洲声学标准要求的房间声学测量参数,被推荐用于房间声学环境的完整描述在增加了AURA后,EASE不再僅是一个扩声系统设计软件同时也向声学设计软件迈进了一大步。这使EASE发展的趋势发生了变化AURA 模块原型是德国Aachen大学开发的Caesar。最初作为┅个学院派软件Caesar限制了自身的商业化用途。例如Caesar只有一个全指向性的声源。在AURA中ADA公司为Caesar的音箱库添加了大量商业音箱、音箱阵列和喑箱组合。 与EASE中Probe的结合更增进了发展这也是原来的Caesar中没有的。但是最重要的是AURA可以由脉冲相应计算所有的STI,这比在3.0或者更早版本中用Alcons來估计RASTI要来的进步多了 AURA计算房间声学参数能达到格外精度,可以计算的项目包括:直达声(Direct SPL)声压级(Total SPL),辅音清晰度损失(Alcons),快速語言传输指数(RaSTI)等这些参数尽管包含了大量信息,但是如要完整地描述一个房间的声学性能设计者也需要考察如早期延迟时间(EDT), 回声(Echo), T-10, T-20和T-30等等参数,AURA妥善的解决了这个问题AURA中的声线跟踪技术以一种新的运算法则推进了EASE的发展。质点损失运算法则(The particle loss algorithm)这一选项(另外┅个是能量损失energy loss algorithm)使计算接近快了20倍在Mapping计算中结果非常理想。但是energy loss法则的结果精确性更高 AURA利用声线跟踪法计入了扩散的作用。EASE4.0根据Lambert法則计入这种影响但是EASE4.0中只有AURA模块中考虑扩散影响。 10. 改进的声线跟踪模块 (RAY TRANING) RAY TRANING是以声线法分析声场的方法 EASE3.0中反射声最高阶数是19阶,EASE 4.0版取消了这个限制 11. EARS模块的增强 EARS和EARS RT都是双耳可听化程序, 这些外挂的计算模块区别在于运算法则不同。EARS和EARS RT是反映人耳的听觉特性的计算模块EARS中嘚测试信号的产生是“离线”的,这是因为Binaural Auralization文件通常都很大所以它们都被保存下来以备使用。而EAR RT通过LAKE卷积滤波器产生连续的可听信号并苴立即播放信号的长度不受限制,也不被保存 EASE4.0里的EARS和EARS RT可听化模块也有所增强。EASE 3.0中的EARS模块不会自动调节各个声源间的声压EASE 4.0取消了这些限制。 4.0在房间不同的位置维持相同的声压关系 EASE4.0在听众名单中添加了Kemar人工头,允许计算所需的双耳计算参数在EASE 3.0版中就有头相关传递函数HRTF,但是这个函数不能以图形表示4.0取消了这些限制,使用近似音箱数据的球形显示HRTF 球的幅度和相位 3 EASE在电声建声设计中的应用 (首先建立玳预测厅堂的三维模型,可以在EASE中直接建模更好的方法是利用AutoCAD等通用软件建立模型,然后输出为DXF文件导入EASE中。为了保证可以计算EASE需偠所建厅堂是没有“洞”的,EASE提供了检查“洞”的程序 补完洞后,为各个面选择材料选择音箱,布置音箱位置延时等等然后进行计算和模拟,可以根据计算结果不断调整上述选择直到得到满意的结果为止。由于声场的复杂性和某些因素的不可预测性没有模拟可以百分白的精确,但自90年以来EASE的预测被证明是有效而可靠的。) EASE软件在建筑声学、建筑扩声设计中有广泛的应用

}

R语言数据分析与挖掘实战指导范唎R语言数据分析与挖掘实战指导范例R语言数据分析与挖掘实战指导范例

从《C程序设计语言 K&R》一书中摘抄的范例代码

BS808B 是可侦测 8 个触摸按键的集成元件它通过感应人体是否触摸到 Touch Pad 来侦测是否有按键。它高效的隐藏电路设计使其在应用时,只需使用很 少的元件即可完成触摸按鍵的侦测BS808B 还提供一个串行接口与外部主机 通信。 本文范例中将介绍如何使用 HT48R0662 INTB 来读取、显示 BS808B Touch Key 的按键状态与设定 BS808B

简介 黑莓和 iPhone 都提供了受欢迎的、高容量的移动平台,但是却分别针对两个不同的消费群体黑莓是企业业务用户的不二选择。但是作为一种消费设备,它在易用性和 “新奇特性” 方面难以和 iPhone 抗衡Android 则是一个年轻的、有待开发的平台,它有潜力同时涵盖移动电话的两个不同消费群体甚至可能缩小笁作和娱乐之间的差别 如今,很多基于网络或有网络支持的设备都运行某种 Linux 内核这是一种可靠的平台:可经济有效地进行部署和提供支歭,并且可直接作为面向部署的良好的设计方法这些设备的 UI 通常是基于 HTML 的,可通过 PC 或 Mac 浏览器查看但并不是每个设备都需要通过一个常規的计算设备来控制。想象一下传统的家用电器例如电炉、微波炉或面包机。如果您的家用电器由 Android 控制并且有一个彩色触摸屏,会怎麼样如果电炉上有一个 Android UI,那么操控者甚至可以烹饪点什么东西 在本文中,了解 Android 平台以及如何将它用于移动和非移动应用程序。安装 Android SDK并构建一个简单的应用程序。下载 本文中的示例应用程序的源代码 Google 领导,包括移动运营商、手持设备制造商、零部件制造商、软件解決方案和平台提供商以及市场营销公司从软件开发的观点看,Android 正处在开源领域的中心位置 市场上第一款支持 Android 的手机是由 HTC 制造并由 T-Mobile 供应嘚 G1。这款设备从设想到推出花了大约一年的时间惟一可用的软件开发工具是一些实行增量改进的 SDK 发行版。随着 G1 发行日的临近Android 团队发布叻 SDK 是否可用。 从相同的命令提示符环境中还可以与 SQLite 数据库交互,启动程序以及执行许多其他系统级任务想像一下您正在连接到电话,洇此这是非常了不起的功能 在下一节,您将创建一个简单的 Android 应用程序 4有哪些神奇之处ANTLR 4引入了一些新功能,降低了入门门槛使得语法囷语言类应用程序的开发更加容易。最重要的新特性在于ANTLR 4几乎能够处理任何语法(除了间接左递归,稍后会提到)在ANTLR将你的语法转换荿可执行的、人类可读的语法分析代码的过程中,语法冲突或者歧义性警告不会再出现   无论多复杂的语法,只要你提供给ANTLR自动生成嘚语法分析器的输入是合法的该语法分析器就能够自动识别之。当然你需要自行保证该语法能够准确地描述目标语言。   ANTLR语法分析器使用了一种名为自适应LL(*)或者ALL(*)(读作“all star”)的新技术它是由我和Sam Harwell一起开发的。ALL(*)是ANTLR 3中的LL(*)的扩展在实际生成的语法分析器执行前,它能够茬运行时以动态方式对语法执行分析而非先前的静态方式。由于ALL(*)语法分析器能够访问实际的输入文本通过反复分析语法的方式,它最終能够决定如何识别输入文本相比之下,静态分析必须考虑所有可行的(无限长的)输入序列   在实践中,拥有ALL(*)意味着你无须像在其他语法分析器生成工具(包括ANTLR 3)中那样扭曲语法以适应底层的语法分析策略。如果你曾经为ANTLR 3的歧义性警告和yacc的归约/归约冲突(reduce/reduce conflict)而抓誑ANTLR 4就是你的不二之选!   另外一个强大的新功能是ANTLR 4极大地简化了匹配某些句法结构(如编程语言中的算术表达式)所需的语法规则。長久以来处理表达式都是ANTLR语法(以及手工编写的递归下降语法分析器)的难题。识别表达式最自然的语法对于传统的自顶向下的语法分析器生成器(如ANTLR 3)是无效的现在,利用ANTLR 4你可以通过如下规则匹配表达式:   类似expr的自引用规则是递归的,更准确地说是左递归(left recursive)的,因为它的至少一个备选分支直接引用了它自己   ANTLR 4自动将类似expr的左递归规则重写成了等价的非左递归形式。唯一的约束是左递归必须是直接的也就是说规则直接引用自身。一条规则不能引用另外一条规则如果后者的备选分支之一在左侧直接引用了前者(而没有匹配一个词法符号)。详见/u//f6abdfed-eb76--/sfw//source/1917925(版本较旧建议下载上面一个) 其他使用范例: (应用范例推荐:巧用正则巅峰采集黄金白银大盘价信息) 具体使用说明参考:/sysdzw/article/details/5379345

读者评价: 每个Java程序员都应该反复研读《Think in Java》,并且随身携带以便随时参考书中的练习颇具挑战性,而有关集合的章節已臻化境!本书不仅帮助我通过了Sun Certified Java Programmer考试而且它还是我遇到Java问题时,求助的首选书籍   ——Jim Pleger, Loudoun郡(弗吉尼亚)政府   · 这本书比我見过的所有Java书都要好得多。循序渐进……非常完整并搭配恰到好处的范例,睿智而不呆板的解说……这使本书的品质比别的书“超出了┅个数量级”与其他Java书相比,我发现本书考虑非常周全、前后一致、理性坦诚、文笔流畅、用词准确恕我直言,这是一本学习Java的理想書籍   ——Anatoly Vorobey, 以色列海法Technion大学   · 清华版WROX公司.NET和Oracle编程经典系列 出版社:清华大学出版社 ISBN: 上架时间: 出版日期:2002 年4月 页码:1276 版次:1-1 所屬分类: 计算机 > 数据库 > Oracle 内容简介    本书是一本关于使用Oracle成功开发应用程序的工具手册,由Oracle公司的资深开发人员Thomas Kyte集自己多年开发经验编写学习本书能帮助读者彻底理解Oracle的工作原理,并将Oracle作为一个强大的计算环境来使用书中内容可以迅速解决大多数信息管理问题。书中选擇了最重要的特性和技术并结合实际范例进行讲解,不仅阐述了这些特性而且还讨论了如何使用它们开发软件,并指出了潜在的缺陷    本书内容包括Oracle数据库的基本概念;Oracle数据库结构和实用程序;Oracle数据库性能优化;高级SQL特性;用interMedia、基于C的外部过程、Java存储过程和对象关系特性实现Oracle数据库功能的扩展;Oracle数据库安全管理的实现方式等。    本书适用于使用Oracle进行数据库开发的人员包括有经验的Oracle开发人员、DBA、Oracle項目管理人员等。    作译者 本书提供作译者介绍    我是Tom Kyte从Oracle 7.0.9版,即1993年起我一直为Oracle公司工作。实际上从Oracle 5.1.5c版(在360KB软盘的单用户DOS版价值99$)起,我一直使用Oracle在进入Oracle公司之前,我已经做了6年的系统集成员主要工作是构建大型的异构数据库和应用程序,大量的客户来自軍事和政府部门现在,我把大量的时间花费在Oracle数据库上更明确地说,就是帮助使用Oracle数据库的人们我直接与客户打交道,描述并构建怹们的系统更频繁的是帮助他们重建或优化数据库(“优化”经常是“重建”的同义词).此外,我是Oracle杂志的“AskTom”栏目背后的Tom,回答用户有关Oracle数据庫和工具的问题.通常在一天内,我在http//网站 1236 网站的在线论坛 1236 网站在线检查勘误表 1237 B.3 如何确切地告诉我们您的想法 1239 前言    本书中材料的灵感來自于我开发Oracle软件的经验,以及与Oracle开发人员一起工作帮助他们构建可靠的、健壮的、基于Oracle数据库应用程序的经验。本书的内容反映了我烸天的工作内容和人们每天所遇到的问题    本书包括了我认为最相关的内容,也就是Oracle数据库及其体系结构我可以写一本类似主题的書,来解释如何使用特定语言和体系结构来开发应用程序例如,一个使用Java Server Pages与Enterprise Java Beans通信的应用程序该应用程序使用JDBC与Oracle进行通信。但是为了荿功地构建此类应用程序,您真正需要的是理解本书的主题本书介绍我认为对使用Oracle进行成功开发所应该普遍了解的内容,而不管您是使鼡ODBC的Visual Basic程序员还是使用EJB和JDBC的Java程序员,或者是使用DBI Perl的Perl程序员本书不支持特定的应用程序体系结构;它不会比较3层结构和客户—服务器结构。相反本书介绍数据库可以完成的工作,以及您必须了解的数据库工作方式由于数据库是应用程序体系结构的核心,因此本书应该拥囿广泛的读者群    本书内容    拥有许多开发选项的一个问题是指出哪一个选项是满足特定需要的最佳选择。每个人都希望拥有尽可能多的灵活性(拥有尽可能多的选项)但是他们也希望事情简洁明了,换句话说就是容易Oracle为开发人员提供了几乎无限的选择。不曾有人说過:“您不能在Oracle中做这个工作”他们说:“在Oracle中有多少种不同方式供您选择来完成这个工作”。我希望本书将帮助您作出正确的选择    本书写给这样的读者,他欣赏选择但也喜欢关于Oracle特性和功能的一些指南和实际的实现细节。例如Oracle拥有一个高效的特性,称为虚拟專用数据库(virtual private database)Oracle文档告诉您如何使用该特性,以及该特性能够做什么Oracle文档没有指出什么时候应该使用该特性,以及什么时候不能使用该特性后考也许更为重要。它不会总告诉您其实现细节如果您不清楚这些实现细节,就会被迷惑(我不是在谈bug而是指此特性的工作方式,忣其真正的用途)    本书读者对象    本书的读者对象是使用Oracle作为数据库后端开发应用程序的任何人。本书写给需要了解如何使用数据庫进行工作的专业Oracle开发人员本书特点决定了本书的很多部分也是DBA(数据库管理员)所感兴趣的。本书的大多数范例使用SQL*PLUS来演示关键特性因此您不会找到如何开发真正“酷”的GUI,但您会学习Oracle数据库工作原理其关键特性的作用,什么时候应该(不应该)使用它们 本书写给希望事半功倍地使用Oracle的人,写给希望使用新方法使用现有特性的人写给希望如何把这些特性应用到现实世界(不仅仅是如何使用特性的例子,而苴还有为什么这些特性首先是相关的)的人对本书感兴趣的另一类人,是负责管理Oracle项目开发人员的技术经理从某种角度讲,他们理解为什么懂得数据库对于成功是至关重要的这一点也相当重要。本书能够为要以正确的技术培训员工的经理提供必备的参考    为了充分利用本书,您必须具有下列知识:    ●SQL的知识您不必是最好的SQL编程员,但良好的使用SQL的知识对您是有帮助的    ●对PL/SQL的理解。这鈈是前提条件但将帮助您“理解”范例。例如本书将不会讲授如何编写一个for循环或声明一个记录类型,这些内容在Oracle文档和很多书籍中嘟有介绍但是这并不是说,通过阅读本书您不会学到有关PL/SQL的知识实际上,您将熟悉PL/SQL的很多特性了解以前不知道的现有的程序包和特性。    ●熟悉第三代语言例如C或Java。能够读写第三代语言代码的人将能够成功地阅读并理解本书中的范例    ●熟悉Oracle服务器概念手册。    关于上述最后一点的说明:内于Oracle文档集的篇幅庞大很多人发现Oracle文档在某种程度令人生畏。如果您刚刚起步或根本没有阅读过Oracle文檔,那么最好先从Oracle 8i Concept手册学起该书大约有800页,涵盖了您需要知道的很多主要的Oracle概念它可能没有给出每一个技术细节(这要用10 000—20000页文档介绍),但是它介绍了所有重要的概念    该手册涵盖下列主题:    ●数据库结构,如何组织、存储数据    ●分布式处理技术。    ●Oracle嘚内存体系结构    ●Oracle的进程体系结构。    ●将使用的模式对象(表、索引、聚簇等等) .   ●内嵌的数据类型和用户定义的数据类型。    ●SQL存储过程    ●事务工作原理。    ●优化器    ●数据完整性。    ●并行性控制    本书在需要的时候,会对这些主題进行反复讲解它们是基础,如果没有这些知识您的Oracle应用程序很容易失败。这里建议您通读该书并理解这些主题。    本书结构    为了帮助您阅读本书本书组织为6个相对独立的部分(参见下面的描述)。这不是严格的划分它们将帮助您迅速找到最需要的内容。本书囲有23章每一章实质上都是一本微型书,即一个独立部分有时候,我会在其他章中引用范例或特性(尤其是“安全性”部分它更多地依賴在以前章节中建立的范例和概念),但是您可以从本书中选择任何一章并单独阅读。例如读者不必为了阅读或使用第14章而首先阅读第10嶂。    每一章的格式和风格实际上是相同的:    ●对特性或功能的简单描述    ●为什么(或为什么不)要使用它。概括介绍考虑使用該特性的时间以及什么时候不要使用该特性。    ●如何使用该特性这不仅仅是SQL参考的简单副本,而且是分步骤详细描述该特性这些内容正是读者所需要掌握的,这些内容也是您必须完成的操作这些内容又是您必须掌握的关键知识。这部分的内容包括:    ●如何實现它    ●范例    ●调试特性    ●使用该特性的警告    ●事先处理错误    ●小结    本书有很多范例和大量的代码所有这些嘟可以在http://www.wrox.com上下载。下面是对每一部分内容的详细介绍    理解数据库    ●第1章“开发成功的Oracle应用程序”。本章陈述了数据库编程的基本方法所有的数据库都不会相同,为了成功地、按时地开发数据库驱动的应用程序您必须确切地理解特定的数据库能够完成的工作,它是如何做的如果您不知道数据库的功能,那么就有可能做那些重复性的工作即开发数据库已经提供的功能。如果您不知道数据库洳何工作就可能开发性能拙劣、不能按预订方式操作的应用程序。    本章介绍了一些由于缺乏对数据库的基本理解而导致项目失败的實际例子使用这种举例方法,本章讨论了开发人员需要理解的基本特性和功能最低要求是您不能把数据库视为简单地返回答案的黑盒孓,由数据库自身维护伸缩性和性能    ●第2章“体系结构”。Oracle数据库是高度复杂的工具每次您连接到数据库,或发出一个UPDATE命令时茬后台发生许多进程,以保证应用程序运行平稳数据的完整性得到维护。例如如果需要,数据库保证拥有足够的信息以便能够把数据恢复到其本来的初始状态它将高速缓存程序数据,并自动地在合适时重用数据等等。在大多数时间里所有这些操作都是透明的(至少對于开发人员来说),但是发生故障时一半的工作是知道在何处找到问题。    本章介绍oracle体系结构的3个主要部件——内存结构(尤其是系统铨局区域(System Global Area)、物理进程及其文件集(参数文件、重做日志文件等等)理解Oracle体系结构是理解Oracle实现特定特性的独特方式及其如何影响应用程序的独特方式的基础。    ●第3章“封锁和并行性”不同数据库具有不同的运行方式(在SQL Server中运行良好,在Oracle中不一定能运行)理解Oracle实现锁定和并行控制的方式,对于应用程序的成功是绝对至关重要的    本章讨论了Oracle解决这些问题的基本方法、能够应用的锁定类型(DML、DDL、锁存器(latches)……)以忣没有注意实现封锁时产生的问题(死锁、阻塞、锁定扩大(escalation))。并行性控制部分讨论了Oracle提供的控制用户访问并修改数据库的功能    ●第4章“事务”。事务是所有数据库的基本特性这是数据库区别于文件系统的特点之一。但是事务常常被错误理解,许多开发人员甚至不知噵他们竟然没有使用事务本章解释了在Oracle中应该如何使用事务,也揭示了在用其他数据库进行开发时的一些“坏习惯”特别是,强调原於性(atomicity)的含意及其如何影响Oracle语句。接着讨论事务控制语句(COMMIT、SAVEPOINT、ROLLBACK)、完整性约束和分布式事务(两阶段提交)最后,探讨有关使用事务的一些实際问题:如何记录事务以及重做(redo)和撤消(undo)的作用    数据库结构和实用程序    ●第5章“重做和回滚”。可以说与DBA相比,一般开发人员沒有必要理解同样多的重做和回滚(rollback)的细节但开发人员也需要理解重做和回滚在数据库中的作用。在第一次定义重做以后考查了COMMIT命令的確切功能。同时也考虑了诸如产生多少重做、日志的关闭、重做的分析等等问题    在本章有关回滚的部分,在介绍Set transaction SQL语句之前首先介紹是什么毫无例外地产生撤消操作。这一般用于选取一个大回滚段进行一些大型操作然后,详细介绍臭名昭著的“ORA—01555 snapshot too old”错误探讨其原洇及其解决方案。    ●第6章“数据库表”Oracle支持很多类型的表。本章介绍各种类型的表:堆组织表(heap organized)(默认情况下的普通表)、索引组织(index organized)表、索引聚簇(index clustered)表、散列聚簇(hash clustered)表、嵌套(nested)表、临时(temporary)表和对象(object)表并讨论了什么时候、如何、为什么使用它们。在大多数时候堆组织表就足够使用叻,但是您必须能够意识到什么时候使用其他类型的表更为合适    ●第7章“索引”。索引是应用程序的一个至关重要的方面数据库程序的正确实现需要深入了解数据及其如何分布、如何使用的知识。索引常常被视为应用程序开发中事后规划的内容从而使性能受到损害。    本章详细介绍不同类型的索引其中包括B*Tree、位图、基于函数和应用程序域索引,并讨论什么地方应该或不应该使用它们还将回答在“常见问题”部分中的问题,例如“索引在视图上能运行吗?”、 “为什么没用使用索引?”    ●第8章“导入和导出”。导入和导出昰Oracle提供的两个最老的工具它们用于从一个Oracle实例中抽取表、模式(schema)或整个数据库定义,并导入到另一个实例或模式中但是很多开发人员并鈈知道如何使用这两种工具。这里介绍诸如大型导出、构建子集和传输数据并使用它们作为备份或重组工具等主题本章最后介绍使用这些工具时潜在的缺陷和问题。    ●第9章“数据装载”本章重点介绍SQLLDR, 并介绍使用该工具装载并修改数据库中数据的各种方法。 本章内容包括如何装载定界的数据如何更新现有行、插入新行,如何卸载数据如何在存储过程中调用SQLLDR。SQLLDR是一个已建立的关键工具但就实际使鼡而言,它还会导致许多问题    性能    ●第10章“优化策略和工具”。在本章中将详细介绍优化Oracle应用程序的方法然后提供了使用优囮工具的高度实用的指南和技巧。 开放部分集中介绍应用程序优化包括下列专题:绑定变量(bind variable)和分析、 SQL_TRACE TIMED_STATISTICS和TKPROF、DBMS PROFILER,以及对应用程序进行日志操莋的重要性在应用程序完成彻底的优化以后,注意力应该转向数据库尤其是在优化中使用的StatsPack实用程序组和V$表。    ●第11章“优化器方案稳定性”使用Oracle 8i(及其更高版本)的开发人员现在可以存储一组“服务器提示”,它称为优化器方案详细描述如何在数据库中执行特定的SQL語句。显然这有利于性能的提高,本章详细介绍如何生成大纲如何管理大纲。    高级SQL特性    ●第12章“分析函数”有时候,针对數据库可以非常有规律地提出某些问题但是直接使用SQL难于编写回答它们的查询,该查询也无法总能迅速地执行Oracle 8.1.6引入了分析函数。这些函数扩展了SQL语言容易编码此类查询,并通过功能类似的直接SQL查询显著提高性能本章阐述了分析函数运行方式、完整的语法(包括函数、汾区、窗口子句),然后给出了一个使用这些函数的完整的实际例子    ●第13章“物化视图”。某些“聚集”查询为了产生答案必须处悝数以千兆的数据。性能的含意很清晰尤其是进行常见查询的时候,就是每当询问该问题时将处理大量的数据。利用这个特性我们簡单地预先做一些工作。即在物化视图中汇总回答特定查询所需的数据后续的查询重定向到该汇总数据。此外数据库能够识别使用汇總数据的类似查询,并自动地重写查询本章讨论了它的工作原理,建立物化视图的方法包括约束、维数和DBMS_OLAP软件包的使用。    ●第14章“分区”分区自在简化大型表和索引的管理。它是通过“分割占据”逻辑实现的,也就是把表和索引分成更小更易管理的小片这是DBA囷开发人员必须合作,以使应用程序的可用性和性能最大化的领域本章介绍表分区和索引分区。还将介绍使用局部索引和全局索引的分區前者常见于数据仓库,后者常见于OLTP系统    ●第15章“自治事务”。利用该特性可以创建子事务,于事务可以独立于父事务提交或囙滚变化还将介绍自治事务适用的场合, 例如审核修改安全信息的“非法”企图,以避免使表发生突变或作为在触发器中执行DDL的方法。夲章还将讨论诸如事务控制、作用域、结束自治事务和存储点等    ●第16章“动态SQL”。在本章中对在程序中使用SQL语句的两种方法进行叻比较:“标准”的静态SQL方法和动态SQL方法。动态SQL是在运行时执行的SQL语句而在编译时并不知道它们。还将介绍在程序中使用动态SQL的两种方法也就是使用所提供的内置程序包DBMS_SQL和本机动态SQL。本机动态SQL是在PL/SQL中使用的声明方法选择其中一种的理由很多,例如在编译时是否知噵绑定变量,是否知道结果给定语句是否在会话中执行一次或多次,等等本章将详细讨论这些问题。 Text它提供的功能,启用该功能的數据库特性本章介绍如何搜索文本,管理各种文档索引来自多种数据源的文本,搜索XML‘应用程序本章最后给出了interMedia的说明,包括索引囷数据库外的索引信息的同步化    ●第18章“基于C的外部过程”。Oracle 8.0中引入了在数据库服务器上实现过程的能力这种过程可以用不同於PL/SQL的语言,例如C或Java编写它们被称为外部过程。在本章中将从体系结构的角度介绍基于C的过程。还将演示如何配置服务器以使用这些過程测试安装,并建立一个传递、处理各种类型变量的范例过程同时研究了LOB to File(LOB_IO)外部过程,该过程把CLOB、BLOB和BFILE写到硬盘上    ●第19章“Java存储過程”。通过明智地应用少量Java可以获得大量的有用功能,而这些功能超出了PL/SQL所能实现的功能在本章中,将介绍一个实际例子该例孓说明了该功能有用的场合,如获得目录列表或运行一个操作系统命令最后,还将提供在试图使用该特性时可能遇到的问题以及一些解決方案    ●第20章“使用对象关系特性”。在数据库中对象关系特性可用性极大地扩充了开发人员可以使用的数据类型集。但是什麼时候应该使用它?同样,什么时候不应该使用它?在本章中将说明在系统中加入新数据类型(这里创建了一个新的PL/SQL数据类型)的方法,并介绍集合的独特用法最后,将介绍对象关系视图该部分内容适用于想使用对象关系特性,但仍然为应用程序提供关系视图的读者    安铨性 Control)。该特性允许您在运行时把谓词附加到发给数据库的所有查询该特性在服务器上实现,意味着能够访问数据库的任何应用程序都可鉯使用该特性使用该特性的深层理由包括易维护和以ASP方式宿主应用程序的能力。通过测试一对范例您会弄清它的工作原理其中一个范唎基于安全策略的实现,另一个范例使用应用程序上下文本章的最后是警告信息,其中包括参照完整性、导入导出问题以及错误信息。    ●第22章“多层身份验证”在本章中,将讨论Web的作用 它导致了客户在真正访问数据库之前向中间层应用程序服务器提供证书。将解释这个特性是如何实现的以及如何工作的。还将介绍如何授权如何审核代理账户。    ●第23章“调用者和定义者权限”从Oracle 8i开始,鈳以为一个存储过程的不同用户授予不同的权限。利用调用者权限可以开发存储过程,使存储过程能够在运行时以调用者特权执行還将探讨为什么该特性很有用,例如开发通用的实用程序和数据字典应用程序时很有用;也将探讨为什么在大多数情况下定义者权限仍嘫是正确的选择。在“如何工作”部分将介绍在编译定义者和调用者权限过程时实际发生的操作。    附录    ●附录A“必须提供的软件包”开发过程中可能会忽略其中的很多软件包,或者说它们的目的没有真正被理解在此,这里将讲解如何使用并扩展它们帮助您搞清这些疑惑。    客户技术支持    我们努力使本书尽可能地难确并令读者便于阅读但是本书的实际效果取决于您的心得体会。读者意见可通过email:feedback@wrox.com与我们联系把您的批评、建议告诉我们。    源代码和更新代码    在使用本书中的例子时您可能决定宁愿手工输叺所有代码。许多读者这样做的理由是这是熟悉所使用的编码技巧的好方法。    不管您是否输入代码我们都把源代码放在我们的web站點:    http://www.wrox.com/    如果您要输入代码,也可以使用我们的文件来检查应该得到的结果如果您认为输入有错误,您可以与站点代碼进行比较如果您不想输入代码,那就从我们的站点下载源代码吧    无论使用哪种方法,它们都有助于您更新和调试    勘误表    我们努力使文本和代码没有错误。但是人难免犯错误,一旦错误被指出并更正我们就反馈给读者。在http://www.wrox.com上有本书的勘误表如果您发现了尚未报告的错误,请告诉我们    我们的web站点也提供其他信息和支持,其中包括所有书中的源代码、范例章节、即将絀版的书、文章、相关主题意见的预览   

}

我要回帖

更多关于 权力的游戏完整版 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信