`
pan_java
  • 浏览: 286145 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
工厂模式定义,创建一个对象接口,但由子类决定要实例化的类是哪一个.工厂方法让类把实例化推迟到子类. 抽象的比萨商品类 public abstract class PiazzStore { public Piazz getPiazz(String name){ Piazz piazz = createPiazz(name); piazz.make(); return piazz; } //让子类去实现 public abstract Piazz createPiazz(String name); ...
所有饮料抽象类 public abstract class Beverage { String description = "unknown beverage"; public String getDescription() { return description; } public abstract double cost(); } 装饰者抽象类 public abstract class CondimentDecorator extends Beverage { public abstract String ge ...
利用java api 实行观察者模式 1.推模式(主题将一样数据发生给所有的观察者) 主题 public class WeacherData extends Observable { private int data1; private int data2; public void update(){ this.setChanged(); //这里将WeacherData 对象传递给观察者属于推模式 this.notifyObservers(this); } public int getDat ...
Duck 的抽象类 public abstract class Duck { public abstract void color(); public abstract void weight(); } RedDuck(红色的鸭子) public class RedDuck extends Duck { @Override public void color() { // TODO Auto-generated method stub System.out.println("I'M color is red"); } ...

备忘程序

    博客分类:
  • java
                  String key = "-an1d"; int hashcode = key.hashCode(); if(hashcode<0) hashcode=-hashcode; int module = hashcode%10;

方法上使用泛型

    博客分类:
  • java
public class Test { public <T extends List> T getConnection(String className){ T obj = null; try{ Class classobj = Class.forName(className); obj = (T)classobj.getConstructor(new Class[]{int.class}).newInstance(1); }catch(Exception e){ e.printStackTrace(); } ret ...
junit 4x 相比 junit3.8大量使用了 annotation . 主程序 public class Compalbe { public int add(int a,int b){ return a+b; } public int div(int a,int b) throws Exception{ return a/b; } } 测试程序 测试方法在junit4.x中必顺是public void ,但测试方法不做要求,不像3.8一样以test开头.类也不用继承TestCase 1.简单测试 public c ...
Problem Statement A permutation A[0], A[1], ..., A[N-1] is a sequence containing each integer between 0 and N-1, inclusive, exactly once. Each permutation A of length N has a corresponding child array B of the same length, where B is defined as follows: B[0] = 0 B[i] = A[B[i-1]], for every i between ...
Problem Statement If X and Y are two Strings of equal length N, then the difference between them is defined as the number of indices i where the i-th character of X and the i-th character of Y are different. For example, the difference between the words "ant" and "art" is 1.  You ...
介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题 1         概念 1.1   缓存能解决的问题 · 性能——将相应数据存储起来以避免数据的重 ...
学习 java5 里面的多线程很值得一读.见附件
1.多线程中有主内存和工作内存之分, 在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在JVM的stack区和heap区。   2.线程的状态有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'几个状态, 'Ready' 表示线程正在等待CPU分配允许运行的时间。   3.线程运行次序并不是按照我们创建他们时的顺序来运行的,CPU处理线程的顺序是不确定的,如果需要确定,那么必须手工介入,使用setPriority()方法设置优先级。   4.我们无从知道一个线程什 ...
下面先整理一下与多线程相关的知识: JDK5中的一个亮点就是将Doug Lea的并发库引入到Java标准库中。Doug Lea确实是一个牛人,能教书,能出书,能编码,不过这在国外还是比较普遍的,而国内的教授们就相差太远了。 一般的服务器都需要线程池,比如Web、FTP等服务器,不过它们一般都自己实现了线程池,比如以前介绍过的Tomcat、Resin和Jetty等,现在有了JDK5,我们就没有必要重复造车轮了,直接使用就可以,何况使用也很方便,性能也非常高。 package concurrent; import java.util.concurrent.ExecutorService; i ...
静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是这样:import static com.....ClassName.*;这里的多了个static,还有就是类名ClassName后面多了个 .* ,意思是导入这个类里的静态方法。当然,也可以只导入某个静态方法,只要把 .* 换成静态方法名就行了。然后在这个类中,就可以直接用方法名调用静态方法,而不必用ClassName.方法名 的方式来调用。 这种方法的好处就是可以简化一些操作,例如打印操作System.out.println(...);就可以将其写入一个静态方法prin ...
今天学习了一下swing 确定做一个工具. 以前开发经常会碰到这样的问题就是不知道指定的Jar包中是否存在我要的文件.所以要用IDE 才要搞定.或者一个目录一个目录去看. 所以确定开发这样一个工具,便于以后的开发和加深刚学的知识! 不多说工具和原代码在附件中
Global site tag (gtag.js) - Google Analytics