- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解决方案2:面向对象风格 优点: 某一构件的算法与数据结构的修改不会影响其他构件 构件之间依赖性降低,提高了复用度 缺点: 不适合功能的扩展 为了增加新功能,要么修改已有的模块,要么就加入新的模块 * 传统解释器 解释器直接读取源代码并加以执行; ASP Excel JavaScript MATLAB … … 源代码 解释器 宿主系统 (OS、硬件) 解释执行 * 基于字节码的解释器 在该类解释器下,源代码首先被“编译”为高度压缩和优化的字节码,但并不是真正的机器目标代码,因而与硬件平台无关。 编译后得到的字节码然后被解释器加以解释 例如: Java、Perl、PHP、Python、… … 源代码 (.java) 编译器 字节码 (.class) 宿主系统 (OS、硬件) 编译 解释执行 解释器 * JVM中的解释器 Java的源程序不是直接交给解释器解释,而是先经过一个编译过程,把Java源程序翻译成一种特定的二进制字节码文件(Bytecode),再把这个字节码文件交给Java解释器来解释执行 javac程序将Java源代码编译为字节码 Java编译器所生成的可执行代码可以不基于任何具体的硬件平台,而是基于JVM。 C/C++要的源程序要在不同的平台上运行,必须重新进行编译。 * 实时编译 实时编译JIT中,字节码在运行时被编译为本机的目标代码 第一步是编译得到字节码 字节码被配置到目标系统中 当字节码被执行时,运行环境下的编译器将其翻译为本地机器码 * 实时编译 JIT模糊了解释器、字节码解释器和编译器之间的边界与区分 JIT 也用于.NET和Java平台 源代码 (.java) 编译器 字节码 (.class) 宿主系统 (OS、硬件) 编译 解释执行 解释器 编译器 目标码 (.obj) 执行 编译 * JIT需编译哪些部分? 只有当某个函数要被执行时,才被编译,因此称为JIT 而且,JIT并不是编译全部的代码,而是只编译那些被频繁执行的代码段 被执行多次的方法 包含多次循环的方法 * 问题 针对解释器的三种策略: 传统解释器(traditionally interpreted) 基于字节码的解释器 (compiled to bytecode which is then interpreted) Just-in-Time (JIT)编译器 对比各自的工作原理,并对比分析各自的优缺点。 * 2. 案例分析(Key Word in Context, KWIC) * KWIC(Key Word in Context) KWIC索引是二次文献的辅助索引 这种索引的出现是现代科学技术的发展和科技文献急剧增长的产物 KWIC索引是最早出现的用电子计算机编制的文献索引 1972年,David L. Parnas在论文“On the Criteria To Be Used in Decomposing Systems into Modules”将KWIC索引系统作为一个案例用于模块化设计的研究 KWIC被全世界各个大学的软件设计课程奉为课堂讲义或者作业的经典案例 * KWIC:功能需求 功能需求: 接受一些行 每行有若干词 每个词由若干字符组成 每行都可以循环移位:重复地把第一个词删除,然后接到行末 KWIC把所有行的各种移位情况按照字母表顺序输出 * KWIC:举例 * A third way for styles to be combined is to elaborate one level of A third way for styles to third way for styles to A way for styles to A third for styles to A third way styles to A third way for to A third way for styles be combined is to combined is to be is to be combined to be combined is elaborate one level of one level of elaborate level of elaborate one of elaborate one level A third way for styles to be combined is to combined is to be elaborate one level of for styles to A third way is to be combined level of elaborate one of elaborate one level one level of el
文档评论(0)