- 博客(11)
- 收藏
- 关注
转载 数据库——活锁与死锁
<br /> <br />一、活锁<br /> 如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求,...,T2有可能永远等待,这就是活锁的情形,如图8.4(a)所示。 避免活锁的简单方法是采用先来先服务的策略。<br /> <br />二、死锁<br /> 如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又
2010-06-29 21:10:00 3763
转载 网络操作系统和分布式操作系统
网络操作系统是服务于计算机网络,按照网络体系结构的各种协议来完成网络的通信、资源共享、网络管理和安全管理的系统软件。 分布式操作系统是建立在网络操作系统之上,对用户屏蔽了系统资源的分布而形成的一个逻辑整体系统的操作系统。网络操作系统和分布式操作系统的区别是: (1)分布性。分布式操作系统的处理和控制功能均为分布式的;而网络操作系统虽具分布处理功能,但其控制功能却是集中在某个或某些主机或网络服务器中,即集中式控制方式。 (2)并行性。分布式操作系统具有任务分配功能,可将多个任务分配到多个处
2010-06-13 15:00:00 2175
转载 Java——接口和抽象类
<br />简单来说, 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的,另外,实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法。<br />一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。<br />还有,接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用. <br /><b
2010-06-10 21:19:00 579
转载 JAVA——覆盖和隐藏
<br /> <br />近期复习java时,发觉了自己很多没掌握的知识点,现在每天总结一点点,一点点的积累,一点点的进步。<br />今天的解决问题——java中覆盖和隐藏的问题(方法和变量)<br />参考网址:http://school.cnd8.com/java/jiaocheng/10836.htm<br /> http://heisetoufa.javaeye.com/blog/227345<br /> <br />1.先来总结java中方法的覆盖和隐藏<br />一个大的原则
2010-06-10 20:25:00 990
转载 Linux与Windows在十三方面大对决
<br />Linux是一套免费使用和自由传播的类UNIX操作系统,主要用于基于Intel x86系列CPU的计算机上。Linux系统是由全世界各地的成千上万的程序员设计和实现的,其目的是建立不受任何商品化软件的版权所制约的、全世界都能自由使用的UNIX兼容产品。Windows同样主要用于基于Intel x86系列CPU的计算机上。本文将它们作一个比较。<br /> <br /> <br />(一) 编程篇<br /> 一般人们习惯于认为Linus是Linux的缔造者,在Linux包含的数以千计的文件中
2010-06-10 13:02:00 789
转载 C/C++——全局变量、局部变量、静态全局变量和静态局部变量
<br />C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。<br /><br />从作用域看:<br /><br />全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。<br /><br />静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全
2010-06-09 10:38:00 888
转载 C/C++——虚拟继承
<br />从意义上来看,一个SleeperSofa没有沙发和床两种重量, 如此的继承不是真实的现实世界描述。进一步分析可得,床和沙发都是家具的一种,凡家具都有重量,所以通过分解来考察其关系,如图17—2所示。<br /><br /><br />图17-2 床和沙发的分解 //**********************<br /> //** ch17_2.cpp **<br /> //**********************<br /><br /> #include<
2010-06-07 20:08:00 921
转载 C/C++——memset,memcpy,strcpy 的区别
<br /><br />一.函数原型<br /> strcpy<br /> extern char *strcpy(char *dest,char *src);<br /> #include <string.h><br /> 功能:把src所指由NULL结束的字符串复制到dest所指的数组中<br /> 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。<br /> 返回指向dest的指针<br /> memcpy<br /> exter
2010-06-03 14:04:00 818
转载 第二届中国云计算大会——张亚勤云语录
<br /><br />5月21日,第二届中国云计算大会在北京举行,我在会上做了《新一代计算趋势和核心技术》的主题演讲。IT168的记者洪钊峰总结出了我的十条“云语录”,在此和大家分享这篇报道。<br /><br /><br />1.云计算是被逼出来的。<br />云计算是被逼出来的,计算量越来越大,数据越来越多,越来越要动态,越来越要实时,越来越需要结构化,光有服务器,光有PC客户端已经不够了,所以一定要走向云计算,所以有了搜索,有了电子商务,有了信息的云,云计算是产业催生出来的。<br /> <br /
2010-06-03 10:12:00 1503
转载 C++——深入理解sizeof
最近在论坛里总有人问关于sizeof的问题,并且本人对这个问题也一直没有得到很好的解决,索性今天对它来个较为详细的总结,同时结合strlen进行比较,如果能对大家有点点帮助,这是我最大的欣慰了。一、好首先看看sizeof和strlen在MSDN上的定义首先看一MSDN上如何对sizeof进行定义的:sizeof Operatorsizeof expressionThe sizeof keyword gives the amount of storage, in bytes, associat
2010-06-02 12:59:00 686
转载 C++——inline函数
<br /><br />内联函数<br />函数的引入可以减少程序的目标代码,实现程序代码的共享。但是,函数调用也需要一些时间和空间方面的开销,因为调用函数实际上将程序执行流程转移到被调函数中,被调函数的程序代码执行完后,再返回到调用的地方。这种调用操作要求调用前保护现场并记忆执行的地址,返回后恢复现场,并按原来保存的地址继续执行。对于较长的函数这种开销可以忽略不计,但是对于一些函数体代码很短,但又被频繁地调用的函数,就不能忽视这种开销。引入内联函数正是为了解决这个问题,提高程序的运行效率。<br />
2010-06-02 11:06:00 1011
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人