寄存器使用和并行性之间的折衷与代码调度阶段之间的顺序

我们将假设源程序的机器无关中间表示形式使用了无限多个伪寄存器(pseudoregister)。 这些伪寄存器代表了可以分配到寄存器的变量。这些变量包括源程序中不能通过任何其他名字访问的标量,也包括由编译器生成的用于存放表达式的部分结果的临时变量。和内存位置不同,寄存器的命名是唯一的。因此可以很容易地为寄存器访问生成精确的数据依赖约束。

在中间表示形式中使用的无限多个伪寄存器最终必须被映射到在目标机器上可用的少量物理寄存器。把几个伪寄存器映射为同一个物理寄存器有一个副作用。这种映射会生成人为的存储依赖,这限制了指令级的并行性。反过来,并行执行指令产生了更多的存储需求,以便存放同时计算出来的值。因此,尽量降低寄存器使用数量的目标和最大化指令级并行性的目标直接冲突。

使用BDD的Datalog的实现

二分决策图(Binary Decision Diagram,BDD)是一个用图来表示布尔函数的方法。因为对n个 变量有22n个布尔函数,没有哪种表示方法能够很简洁地表示所有的布尔函数。但是,在实践中出现的布尔函数常常具有很多规律。因此,人们常常可以找到一个BDD来简洁地表示他们想要表示的布尔函数。

我们为了分析程序而开发了一些Datalog程序。事实表明,用这些Datalog程序描述的布尔函数也不例外,也可以使用BDD简洁地表示。BDD方法在实践中是相当成功的,虽然我们需要通过商业BDD操作程序包中的一些启发式规则或技术才可以找到用以表示程序信息的简洁的BDD。值得一提的是,它比使用传统数据库管理系统的方法具有更好的性能,因为传统数据库管理系统是为了在典型商业数据中出现的更加不规则的数据模式而设计的。

组件的使用

组件的使用在我们网站建设编程中广泛应用,有了组件,我们把放在服务器或客户机的一个特定位置的代码库进行编译,编译生成的文件可以被多个应用程序同时使用。这样就不会浪费磁盘空间或者使存储器过载。

组件按照执行类型可以有两个基本形式,既可以是进程内组件也可以是进程外组件。进程内组件就像动态链接库一样,他们与调用组件的应用程序运行在同一块存储空间当中。也就是说当asp应用程序调用dll是,dll和该asp是处于同一存储空间的。可以从两个方面来说明这样做是有好处的,首先内部调用范围不会超出系统给应用程序分配的存储空间,所以程序将会执行得更快一些。另外既然是在同一存储空间,那么组件也就不大可能去破坏其他正在运行的进程,这样进程间就有很好的独立性。第二个优点是如果你有许多组件程序,那么这些物理文件就只需要一次性装载到内存当中就够了。

数据库中session对象的使用

Session指的是访问者从开始访问一个web站点到离开为止的那段时间,而web服务器为每个访问者单独保存一个session对象。通过session可以来存储访问者的一些喜好,例如:访问者是喜好新闻还是专题文章?访问者是否喜欢下载音乐等等,这些信息都可以依据session来跟踪。Session还可以创建电子商务站点的物流篮。无论什么时候用户在网站中选择了一种产品,那么这种产品就会进入购物篮,当准备离开时,就可以立即进行所选择产品的订购。另外,session还可以用来跟踪访问者的习惯,可以跟踪访问者从一个页面到另一个页面,对于站点的更新和定位是非常有好处的。

使用数据存储过程

我们已经知道如何使用SQL语句直接从数据源提取数据。而在实际的应用程序中,更好的办法是使用数据仓库中的存储过程来返回所需的数据集。这样可为用户提供一个更好的性能,同时能更好地控制访问许可,而且还有助于在那些好奇的用户面前隐藏数据仓库表的具体内容。

在传统的ADO中,.NET数据访问类能够像处理SQL语句那样轻而易举地处理存储过程。最简单的存储过程只需要我们指定过程的名称,它们就会返回一组无法由ASP代码控制的结果。不过存储过程是可写的,这样它们就可以接受参数。而这就允许由设定参数值和调用过程的ASP代码来控制所返回行集的实际内容。

使用一个存储过程和一个Command对象

在网站建设编码过程中通常更倾向于使用数据存储中定义一个存储过程来实现数据的更新。存储过程能够提供更高的性能,能够对那些好奇的用户实现数据库表结构的隐藏,并对安全权限进行更有效的管理,利用一个存储过程而不是一个SQL语句来实现。在从数据存储中提取数据的时候使用一个存储过程和一个Command对象与使用一个SQL语句从根本上来说是一个相似的过程。

在使用一个Command对象来运行一个用来更新源数据的存储过程中,这个名为AddNewBook的存储过程是利用我们所提供的SQL脚本在数据库WroxBooks中创建的。它使用为存储过程提供的参数的值想BookList表中插入一个新行,如果这个操作成功实现,则返回零值。

网站建设之JSP中cookie的使用

持续性客户端数据存储最常用的技术包括HTTP cookie。一个cookie是一个小的、已命名的数据元素。服务器使用set-cookie头标将之作为HTTP响应的一部分传送到客户端。客户端被要求保存cookie,在对同一服务器的后续请求使用一个cookie头标将之返回到服务器。连同名字和取值,cookie还包括:1、终止日期,该时间后,客户端不在要求保留此cookie。如果未指定日期,一旦浏览器会话结束,则cookie终止。2、域名,如servername.com,它限制了设置cookie有效的URL的子集。如果未指定,则返回所有请求初始web服务器的cookie。3、更深一步限制URL子集的路径名。4、secure属性,如果给出,表明连接使用了一个安全隧道,如SSL,则只返回cookie。

Private的使用权限

Private关键词的意思是,除非是用这个类(包括这个成员的类)的方法,否则一律不得访问。同一个package里的其它类也不能访问private成员,所以这就有点像是在作茧自缚。但是另一方面,一个package很可能是由好几个人合作开发的,因此private能让你根据自己的需要修改那些成员,而不用担心这么做会不会对别的类产生影响。

默认的package权限通常已经提供了一中较为合适的隐藏效果;记住,从客户程序员的角度来看,package权限的成员也是不能访问的。这样正好,因为默认的权限就是你经常要用的那个(而且还是你忘了设置的时候会用那个的)。于是通常情况下,你只要把那些要对客户程序员开发的成员设成public就行了。结论是,可以先不考虑大量地使用private,因为即使不用,也还过得去。(这点同C++是截然不同。)但是,始终如一地使用private还是很重要的,特别是遇到多线程的时候。

文章照妖镜的正确使用方法

所谓文章照妖镜就是一种检验文章论文是否是网络抄袭的一种工具。但凡抄袭的句子,在文章照妖镜能显现出来,成为各位站长保证文章原创的一种利器。

文章照妖镜作为一种工具,是被人使用的,而不是限制人的文章思路的。为了保证原创,很多站长一看到照妖镜上有抄袭率就立马毙掉文章是草率的。经常使用文章照妖镜的人都明白,引用一句名言,或者断句稍短,或者使用了特殊标点符号都会导致出现搜索结果很小的抄袭率。其实从实际意义上说,这些问题并不会影响网站推广或者是网站内部原创文章更新,所以没有必要再让写手或者负责更新文章的人员进行重写修改。过分依照文章照妖镜来反倒会抹杀文章原有的出彩之处。

«123»
最近发表
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
搜索
Tags列表
网站收藏
图标汇集
  • 订阅本站的 RSS 2.0 新闻聚合
友情链接

热门搜索: 外链域名 高外链域名 高收录域名

Copyright www.thyst.cn. Some Rights Reserved.