2008-05-27

CGLIB

  记录CGLIB介绍 1、介绍   GLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。   它底层使用字节码处理框架ASM。其原理是,生产一个要代理类的子类,子类覆盖要代理的类的所有不是final的方法。   它比使用java反射的JDK动态代理要快。通常情况下,你可以使用JDK的动态代理创建代理,当你要代理的类没有实现接   口或者为了更好的性能,CGLIB是一个好的选择。 2、官网 http://cglib.sourceforge.net/ 例子 http:/ ...
总网上搜了些Log4j与common-logging的介绍,记录下。 一.Log4j 1.简介 Log4j是Apache的一个开放源代码项目 使用Log4j,我们可以很方便的来记录日志. 从http://www.apache.org/dist/logging/log4j/1.2.14/下载最新的稳定版本 2.用法 把log4j-1.2.14.jar丢到lib目录下,使用log4j前需要定义配置文件,也可以不使用,而是在代码中配置log4j环境.但是使用配置文件使应用程序更加灵活。 log4j配置文件有三个主要的组件:Logger,Appender和Layout,分别为日志类型,日志输出目的 ...
看了下XFire,记录相关资料。 一.概述 官网http://xfire.codehaus.org/ XFire 是 codeHaus 组织提供的一个开源框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是支持将 POJO 通过非常简单的方式发布成 Web 服务,这种处理方式不仅充分发挥了 POJO 的作用,简化了 Java 应用转化为 Web 服务的步骤和过程,也直接降低了 SOA 的实现难度,为企业转向 SOA 架构提供了一种简单可行的方式。 二.技术架构 XFire框架是一种基于Servlet技术的SOA应用开发框架,要正常运行基于XFire应用框 ...
学习单元测试之道-java版学习笔记 一.单元测试 1.定义 单元测试:实开发者编写的一小段程序. 2.目的: 1)用于检验被测代码的一个很小的,很明确的功能是否正确. 2)从效果上而言,它就像能执行的文档,说明了在你用各种条件调用代码时,你所能期望这段代码完成的功能.. 3.如何进行单元测试 首先要考虑在编写这些测试方法之前,如何测试那些可疑的方法,可以在编写实现代码时,或之前编写测试代码本省 下一步,新写的测试通过,同时不会影响其他测试,确保系统所有测试都能通过. 总结一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为. 你需要确认:在任何情况下,这段代码是否都和你 ...
2006-10-25

JfreeChart学习总结

关键字: jfreechart
自己最近学习了JfreeChart的使用,觉得这个冬冬的功能非常强大,总结一下。主要介绍JfreeChart生成图片的几种方式 先从网上找点介绍。 一、简介 WW 的发展使得基于因特网的应用程序不再局限于静态或者简单的动态内容提供。传统的一些以软件包形式发布应用程序例如报表系统等都在逐渐搬到因特网上。但是这两者之间有着天壤之别,虽然对于数据获取、业务处理等方面基本类似,但是最大的差别在于用户界面。为了能在web浏览器上显示要求用户界面使用 HTML以及图片的方式来展现数据,而传统的一些利用操作系统本身的控件来开发的用户界面无法适应琳琅满目的客户端,因此在这里也变得无能为力。回到本文的 ...
一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。 二.HSSF概况 HSSF 是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”。 也许HSSF的名字有点滑稽,就本质而言它是一个非常严肃、正规的API。通过HSSF,你可以用纯Java代 ...
1、遍历workbook // load源文件 POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filePath)); HSSFWorkbook wb = new HSSFWorkbook(fs); for (int i = 0; i < wb.getNumberOfSheets(); i++) { HSSFSheet sheet = wb.getSheetAt(i); for (int i = sheet.getFirstRowNum(); i < sheet.getLastR ...