- 博客(89)
- 资源 (3)
- 收藏
- 关注
原创 berkeleydb的使用
在napoli的代码中发现这个berkeleydb,版本为3.2.43,使用代码如下接口定义如下:/** * Project: napoli.client * * File Created at Sep 15, 2009 * $Id$ * * Copyright 2008 Alibaba.com Croporation Limited. * All righ...
2011-10-24 20:05:40 308
原创 Redis的安装与使用
今天看了下redis相关的东东,做个备忘。 Redis 服务端:http://cocos.iteye.com/blog/1050291下载地址见:http://redis.io/download Redis 客户端:http://redis.io/clients推荐使用 jedis ,地址为https://github.com/xetorthio/j...
2011-10-24 20:04:08 127
原创 参数断言工具
见代码:public final class Argument { private Argument() {} public static void notNull(Object object, String message, Object... args) { if (object == null) th...
2011-07-31 12:58:07 191
原创 使用Emma进行单元测试覆盖率统计
1 为什么使用Emma万恶的Cobertura,只能支持test代码和java代码在一个工程下的单元测试覆盖率统计。之前,由于Morgan单独建了一个工程来进行单元测试,导致单元测试覆盖率使用统计不全。在网上寻觅良久之后,终于找到eclemma解决该问题,此为emma比较Cobertura的第一个优点。emma的另外一个优点是对于语句中的多分支判断的严谨性。对于if(a||b)这样的语句,...
2011-06-28 00:10:03 317
原创 如何检测线上代码的运行情况---BTrace使用分享
(1)你是否有时发现线上的代码运行效率不高,但却无法定位到底具体是哪一段代码?(2)你是否有时在测试环境中苦苦测试,最后却发现测试环境和生产环境差距太大而导致测试结果不可信?恭喜你,本文恰好符合你的需求。 1什么是BTraceBTrace是sun推出的一款java性能监控工具,利用java agent 和 jvm attach技术来实现运行时java程序的跟踪和替换,可以不停机的情况下监控线上情况...
2011-04-10 17:36:07 259
遍历大容量map的正确方法
首先,遍历map有以下方法:import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class MapTest { public static void main(String[] args) { Map<String, String> map = n...
2010-10-08 13:20:52 356
多线程书写及code review规范
1. 不允许将Calendar用于类的静态成员 Calendar是天生的多线程不安全的类,将其用于类的静态成员可能导致错误的在多线程中访问。2. DateFormat以及SimpleDateFormat非线程安全,不允许将DateFormat用于类的静态成员。3. 延迟初始化的类成员应声明为volatile 延迟初始化的类静态成员,如果没有用sy...
2010-08-31 10:09:53 122
原创 如何使用反射访问类的private域和方法
如何使用反射访问类的private域和方法?非常简单,由于Field和Method均继承AccessibleObject,只需要调用AccessibleObject的public void setAccessible(boolean flag) throws SecurityException 方法设置为setAccessible(true)即可。具体见下列代码 import ...
2010-08-17 21:44:53 169
如何解决跨域问题
跨域问题总是很难缠,很多时候开发人员都是不自觉间就遇到了跨域,在此晒晒我的解决之道。 1 避免跨域在最近一个需求中,有一个网页会出现在两个域名下,开始完全没想到这个问题,导致跨域问题产生,出问题代码如下 <form id="form1" method="post" action="http://www.anotherDomain.com/a.htm?_i...
2010-05-13 09:30:42 150
原创 如何编写兼容各主流邮箱的HTML邮件
最近一个需求中遇到了发送邮件的功能,发现很多css在邮件里是有限制的,通过对以前的各位达人总结的学习,解决了这个问题,现转载如下。 几乎每个会员制网站都需要通过后台发送邮件来与会员进行沟通,如注册确认、营销推广。这些由站方发给会员的信件,往往纯文本格式已不能满足界面和交互的要求,这时候我们就需要发送HTML页面。由于HTML邮件不是独立的HOST在本站的页面,是寄人篱下的。所以编...
2010-05-12 09:29:05 2557
FindBugs插件的安装与使用
1 什么是FindBugsFindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式来鉴别代码是否符合一些固定的规范。 2 如何安装FindBugs?作为Eclipse的一个插件,可以...
2010-04-21 10:54:31 102
JAVA调用ICE接口实践
最近刚开发了一个需求,使用ICE调用服务器端的接口,过程如下:1 首先是准备环境,通过下载得到安装包,这次我用的是3.1版本(目前最新是3.4)2 接着使用bin目录下slice2java将得到的ice文件转化为Java类,命令为slice2java ****.ice3 将lib目录下Ice.jar引入Java工程内,开始编写客户端代码...
2010-04-01 11:37:58 1654
理解和应对IE内存溢出类型
过去,内存溢出并没有对前端开发工程师造成很大的麻烦。页面都相对简单,并且在一个站点内,页面之间的相互跳转是一个主要的解决溢出内存的方式。就算有溢出,也是小到可以忽略。 但是新的web应用达到了更高的标准。我们可能会在一个页面上停留数个小时,而不会跳转到其他页面并且动态的从web服务器获取数据(AJAX)。Web的实现语言被使用到了极致,复杂的复合性事件机制,面向对象的JS,以及整体用闭包实现的...
2010-04-01 10:41:58 458
原创 Java版俄罗斯方块
转载于:http://www.iteye.com/topic/595321程序经过稍微的修改如下:import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Terris extends JFrame implements Runnable, KeyListene...
2010-02-21 14:41:24 102
原创 Table样式css样例
由于需要,在网上找了个table的样式稍微改了下。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtm...
2010-02-21 14:34:46 318
原创 ibatis的批处理
(1)spring模式:尽管spring已经配置了事务,但以下代码中还是要设置事务,不然batch不会起作用;另外这里虽然设了一下事务处理,但对全局事务并不会造成影响;注:不启用事务将建立多次连接,这表示batch没起作用,建立事务后一次连接就搞定了.public void batchAddExamlog(List examlogList) throws SQLException{ ...
2010-02-21 14:27:33 133
原创 HtmlParser爬取气象信息实例
闲来无事,搞搞htmlParser,本想将内容发到手机上,后来未成,只是将杭州的天气情况拼装好了。import java.util.HashMap;import java.util.Map;import org.apache.log4j.Logger;import org.htmlparser.Node;import org.htmlparser.NodeFilter;...
2010-01-27 17:11:27 118
原创 如何弹出遮罩层屏蔽页面所有操作
这次项目中需要使用在弹出窗口时使用遮罩层来屏蔽页面上其他的操作,所以参考资料写了一个可复用的: BRMMS = {},BRMMS.BackDiv = {}; /**弹出一个底部的层遮住页面,禁止用户进行当前层外的其他操作 */ BRMMS.BackDiv.popBackDiv=function(){ var bWidth=parseInt(doc...
2010-01-25 20:08:12 541
原创 使用tesseract破解checkCode
tesseract是一个非常强大的图片识别工具,有较大的几率将图片中的字符抓取出来,在对付验证码上,有较好的效果。使用批处理命令结合这个工具,我们就可以再程序中破解得到我们想要的图片了。 import java.awt.image.BufferedImage;import java.io.BufferedReader;import java.io.File;import jav...
2010-01-25 19:46:50 245
原创 使用URLConnection获得网页内容
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.HttpURLConnection;import jav...
2010-01-25 19:09:55 559
原创 lucene3.0入门实例
lucene3.0已于2009-11-25发布啦,但网上的入门实例都是针对lucene3.0以前的,相对于以前的版本,貌似改动不小。 本人从头开始学习lucene,现在用的是《lucene in action中文版》,结合lucene3.0文档写了个入门实例,可供像我一样直接从lucene3.0开始学习的新手参考! 入门实例: 1.预处理:先把网上下载的一个《三国演义》电子书“三国演义...
2010-01-18 21:19:12 124
原创 动态执行Java脚本
1 背景在我们的项目中,有时候在需要运行时获取一段脚本并执行其逻辑以灵活地实现业务需求。有人的第一想法就是脚本语言,我们当然可以在程序中内嵌一个Python解释器,然后在需要灵活变动的地方使用Python脚本实现我们的逻辑。但是这样做太“重量级”了,况且身为一个Java程序员,你不一定懂得Python的语法,又或者你忠于Java根本不愿把项目交托给其他语言。如果能够使用符合Java语法的脚本,而且...
2010-01-18 20:20:12 590
ApacheBench学习
ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求。一般开发人员在进行真正的压力测试之前可以使用这个工具来进行自测,从而更好地掌握性能。 ab的参数有:Options are: -n requests ...
2009-12-07 19:12:36 86
Introspector(内省)学习
反射比内省更容易理解一点。用一句比较白的话来概括,反射就是让你可以通过名称来得到对象 ( 类,属性,方法 ) 的技术,这种技术比内省机制使用范围更广泛。例如我们可以通过类名来生成一个类的实例;知道了方法名,就可以调用这个方法;知道了属性名就可以访问这个属性的值。 内省是 Java 语言对 Bean 类属性、事件的一种缺省处理方法。例如类 A 中有属性 name, ...
2009-12-03 15:57:35 134
使用Javascript进行drag&drop操作
使用Javascript进行drag&drop操作,示例代码如下: 这是drag&drop图片的例子:<html><head><title>System Drag And Drop Example</title><script >function handleDragDropEvent(...
2009-12-02 21:48:58 314
使用Javascript、div层进行title等信息浮出显示
使用Javascript、div层进行title等信息浮出显示,示例代码如下: <html><head> <style type="text/css"> .xstooltip { visibility: hidden; position: absolute; top: 0; left:...
2009-12-02 21:40:38 294
使用Javascript进行错误定位
使用Javascript进行错误位置定位,示例代码如下: <script>window.onerror = function(sMessage,sUrl,sLine){ var str = ""; str += " 错误信息:" + sMessage + "\n"; str += " 错误地址:" + sUrl + "\n"; str += "
2009-12-02 21:21:24 235
使用Javascript根据table中的列值进行排序
使用Javascript根据table中的列值进行排序,示例代码如下 <html><head><script>function generateCompareTRS(iCol){ return function compareTRS(oTR1, oTR2){var sValue1= oTR1.cells[iCol].fi...
2009-12-02 21:17:46 253
垃圾回收算法
按照基本回收策略分引用计数(Reference Counting):比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark-Sweep): 此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记...
2009-11-23 12:49:56 82
原创 mysql存储引擎:InnoDB和MyISAM的区别与优劣
MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录 和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全 的,而且也不支持外键。如果事物回滚将造成不完全 回滚,不具有原子性...
2009-11-19 17:35:38 111
原创 JVM原理学习笔记(三) —— 类的初始化
最近在阅读 《Inside the JVM》 这本书,结合一些日常工作学习中的感想,随便写一些东西,蜻蜓点水,不必有章法。 类的初始化工作,主要是将静态变量、常量初始化为“正确”的值(也就是程序员希望设定的特定值而非其类型的默认值),以及其它一些需要在初始化类的时候需要做的工作(如读取配置文件等)。通常我们可以这样做:class A extends B { publi...
2009-11-10 11:28:53 83
原创 一篇关于web.xml配置的详细说明
1 定义头和根元素部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版本(如2.2或2.3)并指定管理此文件其余部分内容的语法的DTD(Document Type Definition,文档类型定义)。所有部署描述符文件的顶层(根)元素为we...
2009-11-06 10:37:35 73
原创 介绍一个PDF的生成方案
在Java世界,要想生成PDF,方案不少。最近一直在和这个东西打交道,所以简单做一个小结吧。 在此之前,先来勾画一下我心中比较理想的一个解决方案。在企业应用中,碰到的比较多的PDF的需求,可能是针对某个比较典型的具备文档特性的内容,导出成为PDF进行存档。由于我们现在往往使用一些开源框架,诸如ssh来构建我们的应用,所以我们相对熟悉的方案是针对具体的业务逻辑设计实体,使用开源框架来实现我们的业务逻...
2009-11-04 20:11:34 122
MINA学习笔记
1.MINA框架简介 MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。MINA框架的应用比较广泛,应用的开源项目有Apache Directory...
2009-10-22 15:25:55 129
原创 NIO代码实例分享
(1)server主要是读取client发过来的信息,并返回一条信息 /** * @author Jeff */public class HelloWorldServer { static int BLOCK = 1024; static String name ...
2009-10-20 16:50:27 94
原创 java中文解决大全
1、中文问题的来源 计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程式最初都是以单字节编码的英文为准进行处理。随着计算机的发展,为了适应 世界其他民族的语言(当然包括我们的汉字),人们提出了UNICODE编码,他采用双字节编码,兼容英文字符和其他民族的双字节字符编码,所以,目前,大 多数国际性的软件内部均采用UNICODE编码,在软件运行时...
2009-10-19 16:54:39 748
原创 JMock 2.0 初探
JMock资料本来就少, JMock2.0更是少之又少,官方那可怜巴巴的几个连接,似乎并不能说明一个简单的例子应该怎么运行。我结合官方那个例子,简单的写了一个最简单的JMock实例。废话少说,先把jar包加上,我试了一下,下面似乎是必须的:jmock.jar, jmock-junit.jar, junit.jar, hamcrest-core.jar, hamcrest-library...
2009-10-15 13:44:33 101
原创 去掉重复值IO操作
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; ...
2009-10-14 16:45:09 104
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人