系统 2019-08-29 23:17:05 2479
一.模式概述模板方法(TemplateMethod)模式是一种非常简单而又经常使用的设计模式.先创建一个父类,把其中的一个或多个方法留给子类去实现,这实际上就是在使用模板模式.所谓的模板模式可以这样来理解:"在一个类中定义一个算法,但将此算法的某些细节留到子类中去实现.换句话说,基类是一个抽象类,那么你就是在使用一种简单形式的模板模式."更近一步可以这样来理解:"准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.
系统 2019-08-29 22:51:31 2479
c.适配器模式我的笔记本是港货,它的插头与我们常用的插座不一样,所有我出差的时候我必须带一个适配器,才能使用不同地方的插座。这是一个对适配器模式最经典的描述。当我们设计的系统要与其它系统交互,或者我们设计的模块要与其它模块交互时,这种交互可能是调用一个接口,或者交换一段数据,接受方常常因发送方对协议的变更而频繁变更。这种变更,可能是接受方来源的变更,比如原来是A系统,现在变成B系统了;也可能是接受方自身的代码变更,如原来的接口现在增加了一个参数。由于发送方
系统 2019-08-29 22:50:56 2479
Web开发中离不开js,写js免不了要经常查看那个变量是什么值,那个变量是什么数据类型,那个变量中含的字符串是什么,以前老是用alert这个函数,不是很方便,所以才有了写下面这个插件的想法。水平有限,写的代码可能会很乱,当然也可能会包含很多bug,毕竟呢,我的水平一般般,不是很好,js很多东西学的不是很好!!!!查看源码你可以得到下面的知识,以后就不要到处搜索了,直接copy!:1.类似jquery的ready函数了,从别处copy过来的了,你不需要为了这
系统 2019-08-29 22:43:36 2479
欢迎点击此处订阅本Blog
系统 2019-08-29 22:40:47 2479
importjavax.microedition.lcdui.Canvas;importjavax.microedition.lcdui.Graphics;importjavax.microedition.lcdui.Image;importjavax.microedition.lcdui.game.GameCanvas;importjavax.microedition.lcdui.game.LayerManager;importjavax.microed
系统 2019-08-29 22:24:19 2479
<%@pagelanguage="java"contentType="text/html;charset=GBK"%><%@taglibprefix="s"uri="/struts-tags"%>作者李刚的图书作者李刚的图书
在项目中有一个需求,每个物品有一个guid,存在数据库中,而在页面上需要显示一个对应的业务数据值,暂且叫做serverId,serverId是通过guid移位计算得来。serverId只需要显示,后台并不需要使用。因为serverId在后台用不到,所以就没有使用VO字段来存储,项目使用了Freemarker作为view层的模板引擎。了解到Freemarker的一个特点是具有很多内置的功能强大的方法,例如substring、upper_case等。最重要的是
系统 2019-08-29 22:09:49 2479
页面在加载数据的时候,想要实现“load...”的动画过渡,我们选择使用loadMask,在grid的加载数据的时候或出现小小问题,设置loadMask:true或者设置loadMask:{msg:'load...'}或者设置viewConfig:{loadMask:true,loadMask:{msg:'load...'}}都实现不了遮罩层显现出来,那么你需要重写grid的loadMask,不知道这个是不是extjs4.1的bug了。具体重写方法的代码:
系统 2019-08-29 22:06:10 2479
volatile,用更低的代价替代同步为什么使用volatile比同步代价更低?同步的代价,主要由其覆盖范围决定,如果可以降低同步的覆盖范围,则可以大幅提升程序性能.而volatile的覆盖范围仅仅变量级别的.因此它的同步代价很低.volatile原理是什么?volatile的语义,其实是告诉处理器,不要将我放入工作内存,请直接在主存操作我.(工作内存详见java内存模型)因此,当多核或多线程在访问该变量时,都将直接操作主存,这从本质上,做到了变量共享.v
系统 2019-08-29 22:02:41 2479