
Java
迟一刀
专注编程三十年
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用Digester解析XML配置文件
从XML到Java对象在Java项目中经常使用XML配置文件管理后台应用规则、实现程序初始化等操作。Digester便是专门用于从XML映射到Java对象的开源组件。它最初起源于大名鼎鼎的Struts,用于其中的配置解析工作。后来考虑到其实用性,便将其提取为独立的Apache项目,即Digester。 示例1有如下XML(config.xml):root>原创 2011-06-20 16:49:00 · 5238 阅读 · 1 评论 -
Digester fails
通过digester创建对象后,无法设置元素的值dataSize:digester.addBeanPropertySetter ("config/settings/size", "dataSize");class Config{ private int dataSize; public int getDataSize() { return原创 2012-06-13 17:48:09 · 900 阅读 · 0 评论 -
测试一周
项目组Tester休产假,暂代测试一周,记录一下感受:1.测试确实是很轻松的工作。2.测试最头痛的是测试之前的安装过程。3.开发转测试有个特点,就是总下意识先检查源代码,看是否逻辑通过。4.通过检查源代码,会按开发的思路进行测试。5.总想走捷径。原创 2012-02-14 00:36:09 · 647 阅读 · 0 评论 -
Java中的foreach性能差别
在Java代码中,除开需要对循环对象进行特殊操作(如remove、或需要知道当前index),一般碰到for循环我们总会下意识使用foreach;而这时不同的操作对象对性能的消耗却有很大差别。例如,比较一个简单的遍历: { int i=0; for(String s:array){ i++; } }其原创 2012-04-18 14:48:34 · 4974 阅读 · 0 评论 -
Java中BlockingQueue性能瓶颈问题
最近调研一个数据分析模块中的性能问题,花费将近两周时间。期间做了许多Enhancement,而最后关于总线的性能瓶颈定位和处理值得记录一下。首先是场景描述,一个典型的生产者消费者环境。总线Bus接收来自不同方向的数据,根据数据的分类,发送给相关订阅者。在数据交互过程中,使用JDK中的阻塞队列ArrayBlockingQueue:生产者的提供Object存入总线中的BlockingQueue;总原创 2011-11-14 13:04:52 · 8436 阅读 · 0 评论 -
sqlite的Java应用-入门
1.应用DemoJava项目需导入jar包sqlitejdbc-v056.jarimport java.sql.*;public class Test { public static void main(String[] args) throws Exception { Class.forName("org.sqlite.JDBC"); Connection c原创 2011-12-20 10:11:56 · 839 阅读 · 0 评论 -
Eclipse下使用JRat分析Java程序运行性能
JRat(Java Runtime Analysis Toolkits)是一个开源的Java运行时性能分析工具,用于记录各类或方法的运行时性能消耗,从而制定相应的性能优化策略。使用非常简单:1.下载JRat包官方地址http://jrat.sourceforge.net/ 稳定版本StableRelease :http://sourceforge.net/project/原创 2011-09-05 18:18:33 · 6548 阅读 · 1 评论 -
dom4j中通过xpath处理带命名空间的XML文件
1.XML的命名空间:许多XML配置文件中,通常在开头部分带有命名空间,如spring中:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.原创 2011-12-07 11:12:55 · 6497 阅读 · 4 评论 -
常用正则表达式
1.将“/”后带字母的替换为"/bean:",用于xml中带namespace的xpath转换:例: //node1/@attr1 --> //bean:node1/@attr1Java code:string.replaceAll("/(\\w)", "/bean:$1");原创 2011-11-18 21:56:17 · 682 阅读 · 0 评论 -
执行Runtime.exec异常: error=12,Cannot allocate memory
Exception Trace:In the Linux circumstance, when the program executes till this place:Process p = Runtime.getRuntime().exec(cmdArr);it throws an exception like this:java.io.IOException: Cannot run pr原创 2011-06-28 17:08:00 · 8684 阅读 · 1 评论 -
使用Redis实现随机时间任务调度
随机时间任务调度,是指在某个随机时间之后,触发相应的任务。比如某拼团电商场景中,用户发起拼团后,如果超过一小时没有人加入,会由系统强制添加虚拟用户,强制拼团成功。这个调度时间不能是固定的,而是随机散列分布的,否则会产生虚假感。以下是用Redis实现的,利用的是redis中zset的排序功能。首先,需要生成随机时间。在Java中可以用简单的随机算法, public Long ...原创 2018-11-07 18:40:17 · 886 阅读 · 0 评论