`
GavinZheng
  • 浏览: 15265 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
类包的问题1.edu/emory/mathcs/backport/java/util/concurrent/BlockingQueue 解决方法:backport-util-concurrent.jar该类包说明:- Dawid Kurzyniec's JSR-166 backport, version 3.0 (http://dcl.mathcs.emory.edu/util/backport-util-concurrent)- required for building the framework- required at runtime when using Spring's backp ...

java泛型

泛型:本质是参数化类型,即将操作的数据类型指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 好处是安全简单。   规则和限制 1、 泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。 eg.〈T〉所传递的类型只能为类类型,不能为基本类型。 2、 同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。 eg. ArrayList〈String〉, ArrayList〈Integ
Java 对象序列化(Serializable):Java对内存中对象状态的保存机制。保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。   什么情况下需要序列化 a)当你想把的内存中的对象保存到一个文件中或者数据库中时候 ...
装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责。就是增加功能,装饰模式相比生成子类更加灵活。 继承与装饰模式比较:继承是静态给类增加功能,而装饰者是动态给类增加功能。 优点: a. 装饰类和被装饰类互不耦合。 b. 装饰模式是一种继承关系的替代,不管装饰多少层,最终返回的对象都是一个Component,实现的还是is-a的关系。 c. 装饰模式可以动态扩展一个实现类的功能。 缺点: 多层装饰比较复杂,减少装饰类的数量,降低系统复杂度。 使用场景: a. 扩展一个类的功能,或者给一个类增加附加的功能。 b. 动态给一个对象增加功能,这些功能能够动态 ...
适配器模式(Adater Pattern) 适配器模式又叫变压模式,也叫做包装模式,但包装模式不止一个,装饰者模式也是包装者模式的一种:将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 实现的核心思想:通过类的继承或者关联。 因此可以分成两类: 1. 类适配器:通过类间的继承实现。 2. 对象适配器:通过类间的关联实现。 优点: 1. 使两个没有任何关系的类在一起运行。 2. 增加类的透明性,高层模块只需要调用Target目标角色,对于具体的业务实现不需要关心,交给源角色Adapee处理。对高层模块来说是透明的。 3. 提高 ...
系统级别准备工作 1.安装Oracle所需要的依赖包,依赖包有: binutils-2.17.50.0.6-2.el5 compat-libstdc++-33-3.2.3-61 elfutils-libelf-0.125-3.el5 elfutils-libelf-devel-0.125 glibc-2.5-12 glibc-common-2.5-12 glibc-devel-2.5-12 glibc-headers-2.5-12 gcc-4.1.1-52 gcc-c++-4.1.1-52 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.1-5 ...

Spring AOP

AOP Spring AOP:面象切面编程,即织入增强,以子类的形式去扩展及重写。核心通过代理类去实现,例如服务层中的一个Server类中有几个方法添加用户,删除用户,更新用户,查询用户信息,分别调用Dao层中添加用户,删除用户,更新用户,查询用户信息的方法,但在调用前需要做性能测试,日志记录,事务启动等动作。结束后需要做性能测试结果报告,日志结束,事务的提交等操作,发生异常时需要使用异常处理逻辑,此时将性能测试,日志记录,事务,及异常处理逻辑抽取出来,交由代理,还服务层一块纯净的空间,在调用Server类中的方法时,先由代理将事务等方法织入并执行。 实现核心:JDK动态代理和CGLib代理组 ...
[root@localhost ~]# groupadd mysql  //添加用户组 [root@localhost ~]# useradd -g mysql mysql  //添加用户并指派用户组 [root@localhost tmp]# tar -xzvf mysql-5.0.95 //解压mysql-5.0.95.tar.gz安装源文件包 [root@localhost tmp]# cd mysql-5.0.95  //跳转到解压目录下 [root@localhost mysql-5.0.95]# ./configure --prefix=/usr/local/mysql / ...
//查看运行权限 [root@localhost tmp]# ls -l jdk-6u31-linux-i586-rpm.bin -rw-r--r-- 1 root root 80812741 02-17 23:12 jdk-6u31-linux-i586-rpm.bin //设置运行权限 [root@localhost tmp]# chmod u+x jdk-6u31-linux-i586-rpm.bin [root@localhost tmp]# ls -l jdk-6u31-linux-i586-rpm.bin -rwxr--r-- 1 root root 80812741 02-1 ...
观察者模式(Observer Pattern):定义对象间一对多的关系。当对象的状态发生改变时,使其所依赖的对象得到通知并自动更新。 优点: a. 观察者和被观察者之间抽象耦合。 b. 建立一套触发机制。 缺点: a. 开发效率和运行效率。 b. 调试复杂,消息的通知是按顺序的,如果有一个观察者卡壳,会影响到整体效率,考虑使用异步解决。 使用场景: a. 关联的行为场景。 b. 事件多级触发。 c. 跨系统的消息交换。如消息队列处理机制。 注意事项: a. 广播链的问题:一个观察者有可能是被观察者,在观察者模式中最多只能出现一对既是观察者又是被观察者。 b. 异步处理的问题。 项目中真实的观察 ...
责任链设计模式:使多个对象都有处理请求的机会,目的使请求的发送者和处理者解耦。将这些对象连成一条链,沿着这条链传递请求,直到有对象处理为止。 具体实现的核心: 一. 对定义一个处理请求的方法handleMessage 二. 定义下一处理者的方法setNext(Handler _handler) 三. 两个供子类实现的抽象方法: 一个是定义级别protected abstract String getHandlerLevel(); 一个具体实现的业务方法protected abstract Response echo(Request request); 优点:请求的发送者不必知道处理者,而 ...
状态模式(State Pattern) 状态模式:当一个对象内在状态改变时允许其行为改变,这个对象看起来像改变其类。 思想:采用你中有我,我中有你的方法,将Context类中的逻辑方法到具体的State子类中实现。传递的过程中,交由子类的方法执行,如A-B的过程中,首先给Context定义一个状态A,使用MethodA激A当前的状态,交由SateA处理。A可走的流程只有B,在A中首先将Context状态设置为B,然后交由SateB处理。以下代码围绕着下面的状态转换图去实现。 package org.state; public abstract class State { ...
工厂方法(Factory mothod Pattern) 工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 代码: Product.java产品抽象类 package org.factoryMethod; public abstract class Product { // 公用的方法 public void menthod1(){ } // 抽象方法 public abstract void menthod2(); } ConcreteProduct1.java具体产品类1 package o ...
原型设计模式(Prototype Pattern)    不通过 new 关键字来产生一个对象,而是通过对象拷贝来实现的模式就叫做原型模式。(实现接口Cloneable,重写clone()方法)   代码: Prototype.java   package org.prototype; public class Prototype implements Cloneable { @Override protected Prototype clone() { // TODO Auto-generated ...
Global site tag (gtag.js) - Google Analytics