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

使用Java的代理机制进行日志输出

示例代码如下:
//LogProxy.java
package com.gc.action;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class LogProxy implements InvocationHandler{
 private Logger logger = Logger.getLogger(this.getClass().getName());
 private Object delegate;
 //绑定代理对象
 public Object bind(Object delegate){
  this.delegate = delegate;
  return Proxy.newProxyInstance(delegate.getClass().getClassLoader(),
    delegate.getClass().getInterfaces(),this);
 }
 //针对接口编程
 public Object invoke(Object proxy,Method method,Object[] args) throws Throwable {
  Object result = null;
  try{
   //在方法调用前后进行日志输出
   logger.log(Level.INFO,args[0]+" 开始审核数据...");
   result = method.invoke(delegate, args);
   logger.log(Level.INFO,args[0]+" 审核数据结束...");
  }catch(Exception e){
   logger.log(Level.INFO,e.toString());
  }
  return result;
 }
}
//TimeBookInterface.java
package com.gc.impl;
//针对接口编程
public interface TimeBookInterface {
 public void doAuditing(String name);
}
//TimeBook.java
package com.gc.action;
import com.gc.impl.TimeBookInterface;
public class TimeBook implements TimeBookInterface {
 //审核数据的相关程序
 public void doAuditing(String name){
  System.out.println("审核程序");
 }
}
//TestHelloWorld.java
package com.gc.test;
import com.gc.action.LogProxy;
import com.gc.action.TimeBook;
import com.gc.impl.TimeBookInterface;
public class TestHelloWorld {
 public static void main(String[] args){
  //实现了对日志类的重用
  LogProxy logProxy = new LogProxy();
  TimeBookInterface timeBookProxy = (TimeBookInterface


相关文档:

全面掌握java枚举类型

枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum来定义一个枚举类。下面就是一个典型枚举类型的定义:
Java代码
public enum Color{   
    RED,BLUE,BLACK,YELLOW,GREEN   
}  
public enum Color{
RED,BLUE,BLACK,YELLOW,GREEN
}
显 ......

几种常见的数据结构的JAVA实现

 ITree
package utility.structure.def;
/**
*
* @author odie.tang
*
* @version 1.0 10/30/09
*/
public interface ITree<E>{

E getData();

E remove();

void setData(E e);

int getDepth();

int getLevel();

ITree<E> getRoot();

ITree<E> get ......

Java学习笔记13——正则表达式

 一、功能
     1、字符串的匹配
     2、字符串的查找
     3、字符串的替换
 二、Java中涉及的类
     java.lang.String类、java.util.regex.Matcher类、java.util.regex.Pattern类
三、初步了解
   & ......

Java读取文件(以后继续添加)

package cf.java.study.java.io;
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class FileTests {
@Before
public void set ......

java打包 jar

 发布Java应用程序时你会感到困难?好在Java提供了一系列打包和发布工具,可以显著的简化发布过程该文章提供了打包Java
code的几种方法,我们将会探讨Java manifest
文件,给出用于管理JAR文件所依赖文件、估计跨平台发布所需的CLasspath的合适方法.我也会解释如何使用manifest包版本特性来确认包的
兼容性...
什 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号