01 2012 档案

摘要:1.javascript的数组APIJs代码//定义数组 varpageIds=newArray(); pageIds.push('A'); 数组长度 pageIds.length;//shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefinedvara=[1,2,3,4,5];varb=a.shift();//a:[2,3,4,5]b:1//unshift:将参数添加到原数组开头,并返回数组的长度vara=[1,2,3,4,5];varb=a.unshift(-2,-1);//a:[-2,-1,1,2,3,4,5]b:7//注:在IE6.0... 阅读全文
posted @ 2012-01-29 17:34 rason2008 阅读(143) 评论(0) 推荐(0)
摘要:</head><body><div class="one" id="one"> id为one,class为one的div <div class="mini">class为mini</div></div><div class="one" id="two" title="test"> id为two,class为one,title为test的div <div class="mini& 阅读全文
posted @ 2012-01-29 16:40 rason2008 阅读(240) 评论(0) 推荐(0)
摘要:一、基础1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sqlserver---创建备份数据的deviceUSEmasterEXECsp_addumpdevice'disk','testBack','c:\mssql7backup\MyNwind_1.dat'---开始备份BACKUPDATABASEpubsTOtestBack4、说明:创建新表createtabletabname(col1type1[notnull][primarykey],col2 阅读全文
posted @ 2012-01-22 18:32 rason2008 阅读(282) 评论(0) 推荐(0)
摘要:工厂方法工厂方法模式经常用于以下情景:1.客户类不关心使用哪个具体类,只关心该接口所提供的功能。2.创建过程比较复杂,例如需要初始化其它关联的资源类,读取配置文件等等。3.接口有很多具体实现或者抽象类有很多具体子类时,你可能需要为客户代码写一大串if-else逻辑来决定运行时使用哪个具体实现或者具体子类。4.不希望给客户程序暴露过多此类的内部结构,隐藏这些细节可以降低耦合度。5.优化性能,比如缓存大对象或者初始化比较耗时的对象。工厂方法模式定义:为创建对象定义一个接口,让子类决定实例化哪个类。工厂方法让一个类的实例化延迟至子类。工厂方法模式是对实例化过程进行封装而形成的,客户对象无需关心实例化 阅读全文
posted @ 2012-01-21 17:51 rason2008 阅读(193) 评论(0) 推荐(0)
摘要:单例模式:如果要保证系统里一个类最多只能存在一个实例时,我们就需要用单例模式。这种情况在我们应用中经常碰到,例如缓存池,数据库连接池,线程池,一些应用服务实例等。最简单的单例:PublicclassSingleton{PrivatestaticSingletoninstance=newSingleton();PrivateSingleton();PublicstaticSingletongetInstance(){Returninstance;}}此实现是线程安全的,使用也非常简单:Singletonsingleton=Singleton.getInstance();延迟创建:Publiccl 阅读全文
posted @ 2012-01-15 18:25 rason2008 阅读(241) 评论(1) 推荐(0)
摘要:模板方法春节回家,我们首先需要购买火车票,然后乘坐火车,最后才能和家人团聚。我们来模拟一下这个过程:PublicclassHappyPeople{PublicvoidcelebrateSpringFestival(){System.out.println("Buyingticket");System.out.println("Travellingbytrain");System.out.println("HappyChineseNewYear");}}后来我们发现,有人需要坐火车回家,有人需要坐飞机回家,而有人坐大巴回家。但是不管你乘 阅读全文
posted @ 2012-01-15 16:35 rason2008 阅读(364) 评论(2) 推荐(0)
摘要:委派模型上一篇提过BootstrapLoader所做的初始工作中,除了做一些基本的初始化动作之外,最重要的就是载入定义在sun.misc命名空间底下的Launcher.java之中的ExtClassLoader,并设定其parent为null,然后BootstrapLoader再载入定义在sun.misc命名空间底下的Launcher.java之中的AppClassLoader,并设定其parent为之前产生的ExtClassLoader实例。这就产生了所谓的类加载器阶层体系,如下图:而之所以有阶层体系的存在,是为了实现委派模型。所谓的委派模型,用简单的话来说,就是类加载器有载入类的需求时,会 阅读全文
posted @ 2012-01-08 23:01 rason2008 阅读(404) 评论(1) 推荐(0)
摘要:一切都是由BootstrapLoader开始:类加载器的阶层体系Java程序在编译之后会产生许多的执行单位(.class),当我们执行主类时(publicstaticvoidmain(Stringarg[])方法的类),才由虚拟机一一载入所有需要的执行单位,变成一个逻辑上为一体的Java应用程序。下面将细部讨论这整个流程。当我们在命令行输入javaxxx.class时,java.exe根据我们之前所提过的逻辑找到JRE,接着找到在JRE之中的jvm.dll(真正的Java虚拟机),最后载入这个动态连结函数库,启动Java虚拟机。虚拟机一启动,会先做一些初始化的动作,比方说抓取系统参数等。一旦初 阅读全文
posted @ 2012-01-07 22:55 rason2008 阅读(1372) 评论(1) 推荐(1)
摘要:了解了类加载器的来龙去脉,你将可以让你的程序具有强大的动态性----在Java虚拟机不重启的情况下做出具有载入新类的功能;不关闭Java虚拟机的情况下,释放类所占用的记忆体,记忆体不会因为充满了同一个类的多个版本而面临记忆体不足的窘境。类加载器的功能,就是把类从静态的硬盘里(.class文件),复制一份放到记忆体之中,并做一些初始化的工作,让这个类“活起来”,其他人就能够使用它的功能。类加载器是构成JRE的其中一个重要成员。自己编写的类只会在用到的时候才载入,称为依需求载入;基础类库是一次性载入的,称为预先载入,这是因为基础类库里头大多是Java程序执行时必备的类,所以为了不要老师做浪费时间的 阅读全文
posted @ 2012-01-01 23:51 rason2008 阅读(4837) 评论(1) 推荐(0)