高并发场景下System.currentTimeMillis()的性能问题
System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右),然而该方法又是一个常用方法,有时不得不使用,比如日志,在高并发情形下怎么做才好呢?
System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右),然而该方法又是一个常用方法,有时不得不使用,比如日志,在高并发情形下怎么做才好呢?
年末大家闲的蛋疼,有同事抛出一个题目切磋切磋。
给定一个包含有一亿随机整数的数组,要求对其排序,越快越好,请给出算法。(随意发挥,对内存无要求)
先从List说起,Guava包中只有一种List,即【abstract class】ImmutableList,其有四个实现类:EmptyImmutableList,SingletonImmutableList,RegularImmutableList,【abstract class】ImmutableAsList,如下图(红色背景属于JDK,黄色背景属于Guava):
Guava项目是Google Java工程的核心基础类库,主要包括:集合,缓存,原始类型扩展,并发,注解,字符串处理,IO等等。谷人希不愧是人类的希望,Guava不大五脏俱全,里面有很多令人赞叹的代码,读后有种原来Java也可以这么优雅的感觉。现在我做项目Apache的一些包可以不要,但是Guava和Junit必不可少。
Above All,建立maven java工程,将Guava包和Junit包引入就可以玩单元测试了。
<dependency> |