JAVA 代理模式
动态代理:
public interface Qingke {
void qk();
}
public class dsz implements Qingke{
public void qk() {
System.out.print("dsz qk");
}
}
public class Secretary implements InvocationHandler {
private Object pro;
private dsz dsz;
public Object bind(Object deledate){
this.pro = deledate;
return Proxy.newProxyInstance(deledate.getClass().getClassLoader(), deledate.getClass().getInterfaces(), this);
}
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
method.invoke(pro, args);
return null;
}
}
test:
public class ProxyTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
dsz dsz1 = new dsz();
Qingke se = (Qingke)new Secretary().bind(dsz1);
se.qk();
}
}
相关文档:
1. Java 命名约定
除了以下几个特例之外,命名时应始终采用完整的英文描述符。此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。
1.1 一般概念
* 尽量使用完整的英文描述符
* 采用适用于相关领域的术语
* 采用大小写混合使名字可读
* 尽量少用缩写,但如果 ......
服务器端:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class ThreadSocketServer extends Thread {
private Socket client;
&n ......
John O'Hanley 的这篇文章列举了四个有害的java编码习惯,并提出了改正方案。
这四个习惯普遍存在于java程序员中,并且已经被广泛接受,大家都习以为常,流毒甚远。
1.对局部变量(local variables),字段(fields),参数(method arguments)这三种变量的命名没有区分,造成了代码的阅读困难,增加了代码的维护成本。
作者 ......
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)
Package的命名
Package的名字应该都是由一个小写单词组成。
Class的命名
Class的名字必须由大写字母开头而其他字母都小写的单词组 ......
项目中有的文件夹原来是svn版本控制的,现在不想控制了,就像把这个文件夹传给别人或者自己备份,但是看到那么多.svn文件夹实在不舒服,写了下面的简单程序用来删除这些文件,以后需要删除的话,设置好文件夹路径和要删除的文件夹名字跑一下就行了。
import java.io.File;
/*
* To change this template, choose Tools ......