- 博客(20)
- 收藏
- 关注
原创 Java编码/乱码小结
经常看到有人写这样的代码:new String(“乱码”.getBytes(“GBK”),”UTF-8”),能写出这种代码其实是对编码原理一点都没有理解,这种写法根本没有任何作用,浪费资源。 Java编码涉及到的就两个对象:string和byte,编码涉及的也就两种转换:1. String转byte,把字符串按照特定的字符集转换为字节流,通常的作法是"helloworld".getBy...
2012-11-10 14:56:44
146
ZooKeeper全局锁WriteLock选举的BUG
最近项目中采用ZK去选择分布式集群的Master/Slave,生产环境运行一段时间中,经常出现同时存在多个Master的问题,然后去阅读了一下ZK扩展包的源码,发现两个BUG: BUG:多机器同时获取WriteLock全局锁时有可能会有多个机器成为Leader。原因分析:WriteLock创建临时自增节点是采用x-session_id-sequece_no的方式,在选举Leader时,...
2012-06-27 23:41:29
189
一键跑完工程中所有单元测试的方法
研究了一下午,费话少说,直接上代码,依赖commons-io,有兴趣的朋友自己深究: package com.carver;import java.io.File;import java.util.ArrayList;import java.util.Collection;import java.util.List;import org.apache.co...
2012-05-28 16:37:11
620
把Unicode转换为原始字符的方法
支持任何Unicode字符串的转换。 源代码: private static final Pattern REG_UNICODE = Pattern.compile("[0-9A-Fa-f]{4}");public static String unicode2String(String str) { StringBuilder sb = new StringBuilde...
2011-08-23 21:07:40
478
JBOSS日志错误解决方案
在JBOSS启动的时候,相信很多人都见到过下面这个日志错误: [STDERR:152] - log4j:ERROR Could not instantiate class [org.jboss.logging.appender.FileAppender].[STDERR:152] - java.lang.ClassNotFoundException: org.jboss.logging...
2011-07-11 14:09:57
915
原创 HashMap学习随笔
今天看了一下HashMap的实现,记录一下心得: 一、HashMap采用普通数组来保存元素 二、HashMap中添加元素的操作步骤 public V put(K key, V value) { if (key == null) return putForNullKey(value); int hash = ha...
2011-07-10 20:25:46
108
原创 JAVA日志丢失终极剖析
TOP生产环境最近频频发生日志丢失事件,上了三拨人去解决,过了一段时间又出现了,太诡异了!具体现象如下:1. 有一半的机器日志正常生成,而另一半的机器几乎没有生成日志。2. 在日志丢失的机器上,所有普通logger配置的日志文件都没有生成,而root logger配置的日志文件却生成了,并且root logger只记录了搜索引擎的日志,其它日志信息一个都没有。同样的机器,同样的代码,同...
2011-03-07 11:37:29
1588
原创 在WindowsXP+IIS5.1下运行ASP.NET MVC3
1. 安装ASP.NET MVC3http://download.microsoft.com/download/1/4/C/14C0533D-2299-42CD-898C-10AA5156E243/AspNetMVC3Setup.exe 2. 注册ASP.NET 4.0到IIS 3. Web共享工程文件夹到IIS站点 4. 配置站点工程的ASP.NET版本为:4.0...
2011-01-07 11:28:28
101
原创 基于Xml Attribute与Jayrock的纯.NET 2.0 JSON解释器实现
经过同样的缓存优化后,JSON解释器在性能上要比微软自带的XML解释器慢10倍左右[XML为0.15ms,JSON为1.56ms],不过由于JSON的返回结果要比XML小一些,相对于网络IO的性能,这个1毫秒级别的性能差距也就可以忽略不计了 /// <summary> /// TOP API响应解释器接口。响应格式可以是XML, JSON等等。 ///...
2010-12-20 20:38:57
129
字符串长度限制终极解决方案
1. 利用String类的length属性int length = "我是字符串".length(); 这种方法只能计算字符串的长度,一般情况下都会比数据库中规定的长度要大。2. 利用正式表达式匹配中英文的字符数 3. 利用String的getBytes方法获得字节数int length = "我是字符串".getBytes("GBK").length; 这种方法常用于...
2010-12-20 20:33:13
2007
1
正则表达式与EndWith的性能比较
性能比较: public static void main(String[] args) throws Exception { System.out.println("======Begin Test======"); test1(); test2(); System.out.println("======End Test======"); } pub...
2010-12-20 20:22:28
769
原创 获取图片文件的真实后缀名
/// <summary> /// 获取文件的真实后缀名。目前只支持JPG, GIF, PNG, BMP四种图片文件。 /// </summary> /// <param name="fileData">文件字节流</param> /// <returns&...
2010-12-20 20:20:39
2129
原创 基于泛型的对象实例构造方法
如何创建泛型空对象实例:default(T) 如何创建泛型对象实例:Activator.CreateInstance(typeof(T)) 如何创建动态泛型对象实例:Type listType = typeof(List<>).MakeGenericType(new Type[] { type });IList listObjs = Activator....
2010-12-16 10:23:44
235
原创 装饰模式
装饰模式概念Decorator模式是构造型的设计模式之一,它可以动态地改变一个对象方法的行为。 装饰模式类图Component原有类的接口ConcreteComponent功能实现类。Component的具体实现类Decorator装饰抽象类。与ConcreteComponent一样都继承了Component接口,但实现的方式与ConcreteCompo...
2009-08-04 23:02:24
112
原创 代理模式
代理模式概念代理(Proxy)模式是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。 代理模式种类- Remote Proxy:远程代理。该代理可以让客户端透明...
2009-08-04 18:32:02
92
简捷强大的单文件XML操作工具类
这个是我以前做项目过程中积累下来的XML操作工具类,只有一个类文件,使用的全部是JDK自带的类,简单易用。这个类主要包含了XML的读,写,验证,转换功能。这个类相比一些开源的XML解释工具(比如:JAXB, JiBX, Digester, Javolution,JDOM)好在,不用写任何配置文件,随到随用,非常方便。适合于项目中XML结构复杂,变化比较快,并且XML文件比较小的解释与生成。...
2009-06-19 14:47:42
170
原创 JVM内存模型以及垃圾回收
JVM内存包含main memory和heap memory。main memory存放对象变量的值,每个线程有自己的工作内存。变量的值对所有线程访问是共享的。 main不是由jvm管理的。 说到main memory,要提到volatile。在变量前面用volatile修饰的话,线程不会把该变量copy到工作内存操作,而是直接访问主存的变量。heap memory结构图示如...
2009-06-08 20:17:53
136
原创 高性能网页开发的14条军规
相信互联网已经越来越成为人们生活中不可或缺的一部分。Ajax,Flex等等富客户端的应用使得人们越加“幸福”地体验着许多原先只能在C/S实现的功能。比如Google机会已经把最基本的Office应用都搬到了互联网上。当然便利的同时毫无疑问的也使页面的速度越来越慢。自己是做前端开发的,在性能方面,根据Yahoo的调查,后台只占5%,而前端高达95%之多,其中有88%的东西是可以优化的。...
2009-06-06 17:37:06
78
原创 UML中常用的几种类间关系
继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;实现指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字implement...
2009-06-04 13:39:51
89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人