在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责。Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明的访问集合内部的数据。提供一种
系统 2019-08-12 09:29:28 2618
有的作者不详1.真正的浪漫求婚应该是这样的:一位风度翩翩的男子请了10位同事吃饭,其中就有他心仪的mm。吃到一半时,他忽然站起来走到mm身旁,然后把mm坐的椅子整个搬了个90度面朝自己,而此刻mm嘴里塞满了各种食物……这时,他突然从兜里掏出4沓钱说:“这是4万元订金,你愿意嫁给我吗?”mm当即就惊呆了,激动的泪水夺眶而出,她呜咽着掏出验钞机,片刻后说:“这些都是真的——我愿意!”(同舟共济)2.刚刚到火车站买票,结果却空手而归,路见一宣传标语:成都是一个来
系统 2019-08-12 09:27:12 2618
oracle高水位http://www.cnblogs.com/chuyuhuashi/p/3548260.htmlhttp://blog.csdn.net/wyzxg/article/details/5631721数据表删除数据或者数据分区后,数据文件并没有减小。这是oracle数据库高数位highwatermark造成的。尽管用delete删除了数据,数据已经不在数据块中,但是,原有的数据块并不会被回收回去,只是被标记为空闲可用的了。就是说空间只要被划
系统 2019-08-12 01:54:35 2618
新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正1看查Oracle执行筹划的几种方法1.1通过PL/SQLDev工具1、直接File->New->ExplainPlanWindow,在窗口中执行sql可以看查筹划结果。其中,Cost表现cpu的耗消,位单为n%,Cardinality表现执行的行数,等价Rows。2、先执行EXPLAINPLANFORselect*fromtableAwhereparaA=1,再select*fromtab
系统 2019-08-12 01:54:11 2618
ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transactionprocessing)当中无法保证数据的正确性,交易过程极可能达不到交易原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结
系统 2019-08-12 01:52:53 2618
如果要插入固定有序的数据,用一个SQL可以用下面的方法selectrownum-1fromdualconnectbyrownum<21但只支持9I或者更高版本,如果是8I就要建立个临时表了:altertableCMES.C_PARAMETER_NUM_Tdropprimarykeycascade;droptableCMES.C_PARAMETER_NUM_Tcascadeconstraints;createtableCMES.C_PARAMETER_NUM
系统 2019-08-12 01:51:31 2618
SET语句选项当创建或更改Transact-SQL存储过程后,数据库引擎将保存SETQUOTED_IDENTIFIER和SETANSI_NULLS的设置。执行存储过程时,将使用这些原始设置。因此,在执行存储过程时,将忽略任何客户端会话的SETQUOTED_IDENTIFIER和SETANSI_NULLS设置。在存储过程中出现的SETQUOTED_IDENTIFIER和SETANSI_NULLS语句不影响存储过程的功能。其他SET选项(例如SETARITHA
系统 2019-08-12 01:34:03 2618
3.修改MySQL字符集3.1修改服务器级别字符集a.临时修改mysql>SETGLOBALcharacter_set_server=utf8;b.永久修改打开/etc/mysql/my.cnf,在[mysqld]后添加character-set-server=utf83.2修改数据库级a.临时更改mysql>SETGLOBALcharacter_set_database=utf8;b.永久更改改了服务器级就可以了3.3修改表级mysql>ALTERTAB
系统 2019-08-12 01:33:41 2618
有许多情况下,我们需要查看一个进程当前打开了哪些文件,反过来我们也希望知道某一个文件正在被哪些进程所读写。在Linux下有许多有用的工具可以帮我们完成这两个工作,下面介绍这两个工具:lsof与fuser。fuserfindfilesorsockets'user格式:fuser[选项]fname-k如果找到打开文件的进程,则发送SIGKILL杀死此进程,通过-i选项,可以为用户提供交互选择-signal用户可以指定使用何种信号去kill进程,如果-k参数指定
系统 2019-08-12 01:33:07 2618
ZevenOS5.0发布了,更新软件包括:Linuxkernel3.5,X.Org7.7和PulseAudio2.1、Audacity2.0,Claws-Mail3.8.1,Firefox17,GIMP2.8,Inkscape0.48.下载地址:zevenos5-desktop.iso(700MB).ZevenOS是一份基于Ubuntu的GNU/Linux发行,它的主旨是提供一份快速易用的系统,并带有类似BeOS的用户界面和对老旧硬件的支持。该发行构建于一
系统 2019-08-12 01:32:44 2618