03 2014 档案
计算一个对象所占内存大小
摘要:主要思路 就是先获取当前占用内存(usedMemory) 然后创建对象 再获取当前占用内存 两次内存差就是该对象所占内存大小 runGC()方法提供垃圾回收在每次获取内存前可以先调用private static final Runtime s_runtime = Runtime.getRuntime();private static void runGC() throws Exception {// It helps to call Runtime.gc()// using several method calls:for (int r = 0; r < 4; ++r)_runGC(); 阅读全文
posted @ 2014-03-19 10:52 你猜呢 阅读(532) 评论(0) 推荐(0)
JsonUtil转换成json格式
摘要:package com.amssy.core.util;import java.lang.reflect.Method;import java.math.BigDecimal;import java.sql.Timestamp;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;im 阅读全文
posted @ 2014-03-18 14:30 你猜呢 阅读(2317) 评论(0) 推荐(0)
CopyUtils 讲一个对象的全部(或部分)属性值copy给另一个对象
摘要:public class CopyUtils {//部分copy需要传属性名称public static void copyAttribute(Object objSrc,Object objTar,String... attributes){for(String attribute:attributes){try{Field f = objSrc.getClass().getDeclaredField(attribute);f.setAccessible(true);f.set(objTar,f.get(objSrc));f.setAccessible(false);} catch (Exc 阅读全文
posted @ 2014-03-18 14:19 你猜呢 阅读(1215) 评论(0) 推荐(0)
电话手机号码正则验证
摘要:Pattern pMobile = Pattern.compile("^(1[3-9][0-9])\\d{8}$");Pattern pTel = Pattern.compile("^(0[0-9]{2,6}-)?([2-9][0-9]{5,10})+(-[0-9]{1,6})?$");boolean mobileOk = pMobile.matcher(_mobile).matches();boolean telOk = pTel.matcher(_tel).matches(); 阅读全文
posted @ 2014-03-18 14:16 你猜呢 阅读(510) 评论(0) 推荐(0)
findbug修复指南
摘要:FindBugs错误修改指南1. EC_UNRELATED_TYPESBug: Call to equals() comparing different types Pattern id: EC_UNRELATED_TYPES, type: EC, category: CORRECTNESS解释:两个不同类型的对象调用equals方法,如果equals方法没有被重写,那么调用object的==,永远不会相等;如果equals方法被重写,而且含有instanceof逻辑,那么还是不会相等。解决方法:应该改为str.toString() 2. IM_BAD_CHECK_FOR_ODDBug: Ch 阅读全文
posted @ 2014-03-18 14:13 你猜呢 阅读(1504) 评论(0) 推荐(0)
数值计算(枚举类型)
摘要:/*** * 数值计算方法 */public enum formula{ADD(){@Overridepublic BigDecimal getResult(BigDecimal price1 ,BigDecimal price2) {return price1.add(price2);}},SUBTRACT(){@Overridepublic BigDecimal getResult(BigDecimal price1 ,BigDecimal price2) {return price1.subtract(price2);}},MULTIPLY(){@Overridepublic BigDe 阅读全文
posted @ 2014-03-18 14:10 你猜呢 阅读(318) 评论(0) 推荐(0)
"asd".equals(s)与s.equals("asd")为什么前者可避免NullPointerException
摘要:下图为String源码讲上图中if ( anObject instanceof Object) 改为if ( this instanceof Object && anObject instanceof Object) 后s.equals("asd")也可以避免NullPointerException以下代码为仿照仿照上图重写的一个方法 :public boolean equals(String str , Object anObject){if (str == anObject) { return true;}if ( str instanceof Obje 阅读全文
posted @ 2014-03-18 14:07 你猜呢 阅读(395) 评论(0) 推荐(0)