易截截图软件、单文件、免安装、纯绿色、仅160KB

java 动态代理


1、首先必须有个接口
package reflection;
public interface HelloWorld {
    void sayHelloWorld();
    void testHello(String hello);
}
2、接口的实现类
package reflection;
public class HelloWorldImpl implements HelloWorld {
 public void sayHelloWorld() {
  System.out.println("Hello World!");
 }
 
 public void testHello(String hello) {
  System.out.println(hello);
 }
}
3、实现动态代理类,此类必须实现接口InvocationHandler,实现洗接口的方法
invoke(Object proxy, Method method, Object[] args)
在实际使用时,第一个参数obj一般是指代理类,method是被代理的方法,args为该方法的参数数组。
package reflection;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class HelloWorldHandler implements InvocationHandler {
 // 要代理的原始对象
 private Object objOriginal;
 /**
  * 构造函数。
  * @param obj 要代理的原始对象。
  */
 public HelloWorldHandler(Object obj) {
  this.objOriginal = obj;
 }
 public Object invoke(Object proxy, Method method, Object[] args)
   throws Throwable {
  Object result;
  // 方法调用之前
  doBefore();
  // 调用原始对象的方法
  result = method.invoke(this.objOriginal, args);
  // 方法调用之后
  doAfter();
  return result;
 }
 private void doBefore() {
  System.out.println("before method invoke!");
 }
 private void doAfter() {
  System.out.println("after method invoke!");
 }
}
Proxy:该类即为动态代理类,作用类实现了InvocationHandler接口的代理类,其中主要包含以下函数。
protected Proxy(InvocationHandler h):构造函数,用于给内部的h赋值。
static Class getProxyClass (ClassLoader loader, Class[] interfaces):获得一个代理类,其中loader是类装载器,interfaces是真实类所拥有的全部接口的数组。
static Object newProxyInstance(


相关文档:

Java中关于package的总结

由于大家对package的使用存在太多困惑,我在这里将自己对于package的使用的领悟进行一点总结:
  package中所存放的文件
  所有文件,不过一般分一下就分这三种
  1,java程序源文件,扩展名为.java。
  2,编译好的java类文件,扩展名为.class。
  3,其他文件,其他任何文件,也称为resource
  例如图片 ......

Java垃圾回收器工作原理


垃圾回收器是如何工作的?我现在就简单的介绍一下
首先要明确几点:
Java是在堆上为对象分配空间的
垃圾回收器只跟内存有关,什么IO啊,网络连接啊,管它P事
当可用内存数量较低时,Sun版本的垃圾回收器才会被激活
在垃圾回收器回收垃圾之前,我们先来了解一下Java分配对象的方式,Java的堆更像一个传送带,每分配一 ......

java打包jar,以及manifest文件使用说明

http://20921556.javaeye.com/blog/263974
关键字: java jar 
 Java的一种文档格式,JAR文件非常类似ZIP文件,也是一个压缩文件。JAR文件与ZIP文件惟一的区别就是在JAR文件的内容中,它包含了一个meta-inf/manifest.mf文件,这个文件是在生成JAR文件的时候自动创建的。需要注意的是,JAR文件不需要进 ......

exe4j生成java可执行文件

今天写了一个定时删除文件的小程序,用exe4j将其转换成exe格式的可执行文件。
package egtl.test;
import java.io.File;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class FileDeleter extends TimerTask {
    private stati ......

Java进阶学习:jar打包详解


jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布。
为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java存档文件。这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号