`
文章列表

状态模式

一模式定义 状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来就像是改变了其类。   二模式举例 1模式分析 我们借用文档编辑模式切换这一案例来说明这一模式。   2状态模式静态类图   3代码示例 3.1创建状态接口一IState Java代码  

策略模式

一模式定义 策略模式:定义一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化。   二模式举例 1模式分析 我们借用商场促销商品来说明这一模式。   2策略模式静态类图   3代码示例 3.1 创建策略接口一IStrategy Java代码  

观察者模式

一模式定义 观察者模式,又称为发布/订阅模式。观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。   二模式举例 1 模式分析 我们借用气象局高温预警来说明这一模式。   2观察者模式静态类图   3代码示例 3.1观察者接口一IObserver Java代码  
一模式定义 模板方法模式:定义一个操作中的算法骨架,而将一些实现步骤延迟到子类当中。模板方法使得子类在不改变算法结构的情况下,重新定义算法中的某些步骤。   二模式举例 1模式分析 我们借用每日生活行为来说明这一模式。 2模板方法模式静态类图 3代码示例 3.1建立算法骨架一AbstractPeople Java代码  

访问者模式

一模式定义 访问者模式:是表示一个作用于某对象结构中各个元素的操作,它使用户可以在不改变各元素类的前提下定义作用于这些元素的新操作。   二模式举例 1模式分析 我们借用公司层级结构来说明这一模式。   2访问者模式静态类图   3代码示例 3.1抽象员工一Staff Java代码  
BeanUtil.copyProperties 方法确实很方便,代码写出来非常优美,不会有很多的get set,但由于用到反射,可能存在潜在的性能问题。因此对spring 和 commons的BeanUtil.copyProperties进行了对照测试,代码大致如下: Java代码   @Test        public   void  copyPropertiesTest()  throws  IllegalAccessException, InvocationTargetException {            ...
ShopNc安装过程中会遇到各种问题,现根据个人经历总结如下(本人使用appserver):    1.会遇到install 完成后提示 ZendOptimizer没有安装的情况 ,那么到网上下载ZendOptimizer安装即可    2.提示:mysql_connect不支持请检查mysql模块是否正确加载.        解决办法:1.进入php目录,首先将php-recommend.ini改名为php.ini.                      2.查找extension_dir,看目录是否指向php5/ext 目录.如果不是,要修改.(当时就是这个问题找了半天) ...
不了解注解基础知识的请先看《JDK 5 Annotation\注解\注释\自定义注解》   子类可以继承到父类上的注解吗? ----------------------------------------------------------------- 我们知道在编写自定义注解时,可以通过指定@Inherited注解,指明自定义注解是否可以被继承。但实现情况又可细分为多种。     测试环境如下: ----------------------------------------------------------------- 父类的类上和方法上有自定义的注解-- ...
自定义注解示例 --------------------------------------------- @Transactional  注解示例   Java代码   package  org.springframework.transaction.annotation;   import  java.lang.annotation.Documented;   import  java.lang.annotation.ElementType;   ...
 在命令行使用maven创建web工程:       假设maven安装目录为:D:\software\apache-maven-2.2.1      首先通过cmd 进入工作目录,假设工作目录路径为:D:\workspace   则执行命令:d: cd workspace .执行后如下图:        |---没有配置maven-home的情况(执行命令时要使用全路径):          
原文地址: http://www.khotyn.com/2011/07/22/velocity_sourcecode/   很久之前就接触了Velocity,但是一直只会根据它的模板语法写一些模板,非常惭愧,于是最近看了一下Velocity的源代码,在这里记录一下看了以后的一点心得体会。 一、基本概念 对于Velocity是什么东西,我相信这个不用多说,在说Velocity的源代码之前,先看一下几个看Velocity的源代码之前必须需要了解的东西: JavaCC和JJTree 说到Velocity,不得不谈一下JavaCC,JavaCC是一个用于生成解析器的工具,它可以将一 ...
原文链接 :http://coderj.org/blog/2011/08/19/velocity_overview/ 一、概述 Velocity模板引擎处理机制分为五个基本步骤: 引擎初始化,通过设置的引擎属性初始化引擎,包括国际化支持,ResourceLoader设置,字符编码等。 获取并解析模板文件,首先通过资源加载器(ResourceLoader)将模板文件加载到内存(转化为InputStream),然后通过AST(Abstract Syntax Tree)解析器将InputStream解析为一个AST。 创建一个Context 将模板渲染所需的参数放入context ...
    一般,页面上会分为很多部分,而不同的部分更新的频率是不一样的。如果对整个页面采用统一的缓存策略则不太合适, 而且很多系统的 页面左上角都有一个该死的“Welcome XXX”。这种特定于用户的信息我们是不能缓存的。对于这些情况我们就需要使用片段缓存了。对页面不同的部分(片段)施加不同的缓存策略,而要使用片段缓 存,首先就得对页面进行切分。土一点的办法可以用iframe,用iframe将页面划分为一块块的,不过我总觉得iframe是个邪恶的东西。好点的办 法可以用Ajax单独的请求这个片段的内容然后再填充,看起来挺美好的。不过使用Ajax也有一些限制: 1、如果页面上有许 ...
(转)Java基础知识复习 2012-09-24 00:15 by 横刀天笑, 173 阅读, 0 评论, 收藏 , 编辑 最近准备把java的一些基础知识复习一遍,列了个列表 1 JVM规范    class加载过程    class file大概结构    invoke ...
String 在 JVM 的存储结构 一般而言,Java 对象在虚拟机的结构如下: 对象头(object header):8 个字节 Java 原始类型数据:如 int, float, char 等类型的数据,各类型数据占内存如 表 1. Java 各数据类型所占内存 . 引用(reference):4 个字节 填充符(padding) 表
Global site tag (gtag.js) - Google Analytics