自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 使用IOUtils和FileUtils

文本输出应该比较常用,以前都是通过反复的创建InputStream, InputReader, OutputStream, OutputWriter等去输入输出文本,比较麻烦。Apache提供了一个commons-io.jar包,里面有很多IO相关的工具,比如输入输出文本等,着实方便了很多。比如读取一个文件: // by FileUtilsList<String> ...

2011-01-04 13:15:51 499

原创 HtmlParser EncodingChangeException: character mismatch

解析HTML,htmlparser是一个不错的选择,但是如果你初次使用,可能会不经意间遇到下面这个问题:org.htmlparser.util.EncodingChangeException: character mismatch (new:  [0xfeff] != old:  [0xefï]) for encoding change from ISO-8859-1 to UTF-8 at...

2011-01-04 11:26:44 182

浅谈线程池

“什么是线程池?”“呃……” “为什么要使用线程池?”“呃……” “什么情况下使用线程池?”“呃……” 这三个问题,说好回答挺容易,说难回答挺难。 “什么是线程池?”“一组创建好的线程。” “为什么要使用线程池?”“提高CPU吞吐量,提升系统性能。” “什么情况下使用线程池?”“同时有多个请求或者多个任务需要处理,并且请求和任...

2010-09-10 15:35:05 111

10个线程同步处理1000行消息

多线程,并发,是经常遇到的问题,平时解决的方案也想过很多,比如说现在有1000行消息,需要开10个线程同时处理。 之前想过两个方案: 方案一: 一次开10个线程,每个线程处理一条消息,等10个线程全部处理结束之后,再开启下10个线程,直到全部处理完毕缺陷:需要等待其他n - 1个线程结束后,才能同时启动下n个线程 方案二: 将1000行消息分割为10份,每100行用一个...

2010-09-06 13:32:48 630

Java: CSVUtils

解析CSV文件,最简单,最直接,最突然的想法就是 "a,b,c,d".split(",") 但是如果复杂一点儿,加上一些特殊字符,比如引号“"”,逗号“,”,那你就会发现split(",")不灵光了。于是今天就闲着没事儿写了一个,没有完全测试,但是应该没问题,哈哈package com.javaeye.terrencexu.csvimport java.util.Lin...

2010-08-03 21:48:19 255

Cron Help Guide

Cron这个词儿来源于希腊的一个表示时间的单词Chronos。在Linux上可以通过Cron设置schedule task,通过这种方式可以让你在每天半夜睡觉的时候自动备份你的文件或者文件夹等等,在自动化测试中可以很好的完成daily build的工作。 Cron把每条schedule设置存储在crontab (cron table)文件中。这个文件通常在/etc目录下。另外每个用户也可以...

2010-07-29 21:22:56 73

Dom4J: Vistor模式替换XML中的正则表达式

今天介绍一个如何通过Dom4J的Visitor模式替换XML文件中正则表达式的方法,感兴趣的话可以看看。 Vistor模式不是本文关注的重点,感兴趣可以看一下本文:http://www.patterndepot.com/put/8/visitor.pdf Dom4J提供了一个接收Vistor的接口,可以通过自定义Vistor实现类对XML文件中的正则表达式进行替换,原理很简单,就不...

2010-07-26 12:50:08 120

使用Cobertura统计单元测试覆盖率

学习Cobertura的起因是前天晚上媳妇儿(终于有出场机会了)突然问我有没有用过一些可以统计单元测试覆盖率的工具,答曰:木有...感觉比较丢人,于是昨天晚上研究了一把,今天顺便share一下。 因为之前没有用过这方面的工具,所以只能Google一下了,发现有很多这方面的工具,看着比较顺眼的有JCoverage, EMMA, Cobertura等等,因为JCoverage收费了,所以最后挑...

2010-07-22 13:55:07 228

使用Apache Commons Discovery查找可插拔接口实现类(Pluggable interfaces)

今天闲着没事儿,研究了一把Apache Commons Discovery包,发现还不错,跟大家分享一下。 Discovery组件被用以查找可插拔接口的实现实例,它提供了一种通用的实例化这些实现的方式,而且可以管理单例(工厂)的生命周期。本质上来讲,就是定位那些实现了给定Java接口的类,并实例化。除此之外,Discovery还可以用以在给定的classpath中查找并加载资源文件。 ...

2010-07-19 13:41:50 443

JBoss Cache: 使用FileCacheLoader示例

从名字上来看JBoss Cache很容易使人联想到JBoss Web服务器,但是实际上,你可以“认为”他们之间没有任何关系,学习使用JBoss Cache时不需要你对JBoss Web服务器有任何了解。 什么是JBoss Cache就像它的名字所显示的那样,它是一种缓存。它被设计用来缓存那些经常被访问的Java对象,这样就可以明显的提高系统的性能,可以很轻松的解决掉数据访问的瓶颈,比如...

2010-07-16 15:21:59 96

工作两周年纪念日 - 随笔 (2)

        接着昨天的继续聊《工作两周年纪念日 - 随笔 (1)》,在工作的这段时间里,经历过很多事情,零零散散的总结过,但从没想过像现在这样把一些散碎的片段记录下来,偶然间写了一点儿之后,才发觉还是蛮想记录下自己的一点点儿过去的,记得多了,以后回头看看,看看现在有点儿傻的想法,或许可以让自己心情愉悦一些。         谈重构        刚开始接触重构是在大四实习的时候,那...

2010-07-09 09:34:23 220

工作两周年纪念日 - 随笔 (1)

        不经意间看了一眼日历,发现今天是2010年07月07日,这个数字突然勾起了我太多的回忆,因为截至到今天我毕业后工作整整两年了,加上之前的实习的话,整2年零358天。          3年的时间经历过多个项目,也接触过很多技术,从最初的Java,到PHP, ASP.NET, Javascript, CSS,到现在又回归Java,其间经历了几多波折,也曾面临过很多程序员面临的...

2010-07-07 19:43:51 476

两种方式格式化字符串

有时候我们希望在字符串中以设置类似变量的方式,替换字符串中需要变化的几个地方 1. 使用MessageFormat String message = MessageFormat.format("My name is {0}, and now I am {1} years old", "Jimy", 24); 将返回:My name is Jimy, and now I am 2...

2010-07-07 15:49:41 122

在Java中如何读取UTF-8格式的XML文件 - How to read UTF-8 XML file in Java

在使用JAXB unmarshal XML的时候碰到了一个异常: Invalid byte 1 of 1-byte UTF-8 sequencepublic static Object unmarshal(InputStream xml, Class<?> clazz) { Object obj = null; try { JAXBCont...

2010-07-06 17:28:11 187

JAXB: 通过schema验证XML文件

接上文 JAXB:使用annotation绑定XML(xmlns) 在使用JAXB解析XML文件的时候我们有时候可能会需要通过schema文件验证XML的格式,接上文的XMLParser.java 示例代码如下:public static Object unmarshal(InputStream xml, Class<?> clazz) throws SAXExce...

2010-07-01 18:21:28 295

XML validation for multiple schemas 验证使用多个XSD schema的XML文件

很多情况下我们为了优化XSD文件的可读性和可维护性,以及复用等问题的时候我们需要将schema文件拆分成多个,本文将着重关注于使用多个schema文件验证单一XML文件的问题(注: XML validation for multiple schemas) 下面将通过以下几个步骤演示如何使用多个schema(XSD)文件验证单一XML文件1. 创建需要被验证的XML文件2. 根据XM...

2010-07-01 18:03:31 243

JAXB:使用annotation绑定XML(xmlns)

在java开发中使用XML几乎是每个程序员都会碰到的,目前可供我们选择的库也有很多,包括,dom4j, jaxen,  SAX等等,本文将介绍如何使用JAXB进行Object-XML mapping. JAXB目前已经集成到了JDK6中,但是还是推荐下载使用最新版的jaxb库, https://jaxb.dev.java.net/ 从JAXB2.0开始,可以通过使用annotati...

2010-06-29 22:23:23 404

原创 [转] 编写跨浏览器兼容的 CSS 代码的金科玉律

作为 Web 设计师,你的网站在各种浏览器中有完全一样的表现是很多人的目标,然而这是一个永远无法真正实现的目标,很多人认为,完美的跨 浏览器兼容并不必要,这样说虽然没错,但在很多情形,一种近似的兼容还是很容易实现的,本文讲的是各种跨浏览器兼容的 CSS 编码准则和技巧 理解 CSS 盒子模型 如果你想实现不需要很多奇巧淫技的跨浏览器兼容的 CSS 代码,透彻地理解 CSS 盒子...

2010-06-09 18:07:55 79

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除