- 浏览: 35423 次
- 性别:
- 来自: 嘉峪关
最新评论
-
NonkeyJiang:
看了大神的作品,收获很大,希望能继续奉献高质量的博文
java内存区域(二) -
NonkeyJiang:
写的很不错啊,看了好多遍,终于有点收获
代理模式 -
刘凯宁:
分型的一些东西
文章列表
本文主要从示例入手介绍代理模式
一、实现代理的方式继承、组合
二、动态代理
一、实现代理的方式继承、组合
1、引入:代理模式的实现类似于装饰者模式,都是对功能的增强。很多模式之间的实现都有类似点,不同点可能也是语义有差别
2、继承方式的代理
2.1、代码示例
说明:Moveable接口,以及Tank实现类为以下所有示例公用
package net.oschina.design.proxy;
/**
* 可移动的事物的接口
*
* @author Freedom
*
*/
public interf ...
本文从以下方面介绍工厂模式
一、总述
二、工厂方法
三、抽象工厂
一、总述
1、分类:
(1)简单工厂(静态工厂)
(2)工厂方法模式
(3)抽象工厂模式
2、工厂模式意义:
将程序中创建对象的部分单独抽取出来,实现与主程序之间的解耦。具有更好的扩展性及维护性。
3、工厂方法模式与抽象工厂模式异同点
(1)相同点:都是将对象(产品)单独抽取形成一个产品族,然后将创建对象的工厂也向上抽取形成一个工厂族
(2)异同点:
①抽象工厂中会有一系列的产品,而工厂方法中只有一个抽象的产品;
② ...
本文从以下几个示例介绍责任链模型
一、概念
责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决 ...
本文从以下方法阐述观察者模式
一、定义观察者
二、观察者模式示例
三、推模型与拉模型
四、JAVA内置观察者
五、总结
一、定义观察者模式
1、定义
观察者模式为对象的行为模式,主要定义一种一对多的对象关系(观察者:主题对象=1:n)。让多个观察者对象去监听同一个主题对象Subject(被依赖的对象),当主题对象的内容状态发生变化时,会通知所有注册过的观察者对象,促使观察者对象的内容更新。
2、观察者模式的结构图
(1)以订报纸业务为例:
报社:Subject(主题类,被依赖的对象)
订阅者:O ...
本文从以下方面介绍策略模式
一、策略模式概念
二、策略模式的示例
三、策略模式的优缺点
四、总结
一、策略模式概念
策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,交给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。
此模式涉及到三个场景:
● 环境(Context)(用于客户端具体实现):持有一个Strategy的引用。
● 抽象策略(Strategy)(行为族):这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。
● 具 ...
本文介绍JAVA SE5中枚举的使用
一、概念
关键字enum可以将一组具名值的有限集合创建为一种新的类型,而这些具名可以作为常规的程序组件使用。
二、向枚举中添加新方法
1、示例
package net.oschina.tkj.chapter19.enumclass;
/**
* 枚举类中添加方法 注意:先定义枚举类实例,最后一个实例要用分号隔开
* name(),toString()方法返回枚举类实例名称,添加枚举类构造器可以返回额外信息
*
* @author Freedom
*
*/
public enum BallT ...
本文主要介绍一下泛型的上限,下限以及通配符?的使用事项:
代码示例如下:
package net.oschina.tkj.chapter15.limit;
/**
* 泛型上下限,?通配符
*
* @author Freedom
*
* @param <T>
*/
public class BasicInfo<T> {
private T var;
...
泛型是JDK5时的技术,主要作用于编译时期,是编译时期的安全技术。
一、元组
1、引入:仅一次方法调用就能返回多个对象,编码中应该会使用到该功能。但是对于一个方法的return来说,一次只能返回一个对象。因此,解决办法就是创建一个对象,让其持有想要返回的多个对象。每次需要该种场景的情况时,我们就创建一个类来完成工作。
2、元组:将一组对象直接打包存储于一个单一的对象中。可以理解为元组为一个容器对象,该容器对象只允许读取其中的元素,不允许向其中存放新的元素。因此,该对象的成员声明时用final修饰。
3、示例如下:
package net.oschina.tkj.chapter15. ...
继承过程中子类重写父类方法的现象
1.如下例
package net.oschina.tkj.chapter8.returntype;
/**
* 协变返回类型
* @author Freedom
*
*/
public class Grain {
public String toString(){
return "grain";
}
}
package net.oschina.tkj.chapter8.returntype ...
看了关于thinking in java的书籍对于多态写一下自己的理解
一.多态时成员变量的特点:
1.不管是静态成员变量,非静态成员变量以及final成员变量都不具备多态性
2.简单理解:即编译时看父类型所对应的类是否有该变量如果有编 ...
SSM框架初探
一.创建一个Maven的项目
新建的maven web项目,创建成功之后出现以下两种错误:
(1)-->webapp下缺少web.xml文件需要手动创建一个
(2)-->编译器的版本为1.5,需要切换到当前JDK的版本。pom.xml文件中需要添加如下内容:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId ...
好久没有写过博客,重拾博客记录自己成长的点滴...
一.笔试题
1.spring的事务有那些类型,分别说明一下作用?
PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED--以非事 ...
window平台NodeJs环境搭建:
由于,这两天项目需要,所以开始学习nodejs的相关知识。
1.由于网速的原因,附件就不上传我搭建时所使用的node.js和npm了。
提供官方下载地址:http://nodejs.org/#download(nodejs)
https://github.com/isaacs/npm/tags(npm)
2.下载完必要的安装包后:
创建D:\nodejs目录,并将nodejs安装到该路径下。并将"D:\nodejs"加入系统环境变量PATH中,便于在任意位置执行node应用。
3.将npm源代码解压到D:\npm ...
相同点:
Get与post(对于“post”除非相应里有cache-control或者
1. 什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识)
什么是ajax:
AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创建交互式网页应用的网页开发技术。
Ajax包含下列技术:
基于web标准(standards-based presentation)XHTML+CSS的表示;
使用 DOM(Document Object Model)进行动态显示及交互;
使用 XML 和 XSLT 进行数据交换及相关操作;
使用 XMLHttpRequest 进行异步数据查询、检索;
...