最新文章列表

编码最佳实践(6)--那些年,我们一起建的索引

    前几次的编码最佳实践系列,我们都着眼于Java代码,今天我们换个话题,看看另外一个领域,和Java代码大相径庭的SQL。     这次作为素材出场的,是来自项目中的一段SQL,用于BlackWhiteList Adapter,在每次请求时检查一下,看当前用户是否在黑白名单中。     先介绍一下数据库结构,很简单的三张表:BWLIST记录黑白名单信息,BWLISTXADDRESS记录每个 ...
skydream 评论(1) 有1432人浏览 2013-01-04 12:01

编码最佳实践(5)--小心!这只是冰山一角

    本期的案例依然是来自实际项目,很寻常的代码,却意外遭遇传说中的Java"内存溢出"。     先来看看发生了什么,代码逻辑很简单,在请求的处理过程中: 1. 创建了一个ArrayList,然后往这个list里面放了一些数据,得到了一个size很大的list List cdrInfoList = new ArrayList(); for(...) {         ...
skydream 评论(2) 有3248人浏览 2012-09-06 15:06

编码最佳实践(4)--小心LinkedHashMap的get()方法

   这是一个来自实际项目的例子,在这个案例中,有同事基于jdk中的LinkedHashMap设计了一个LRUCache,为了提高性能,使用了 ReentrantReadWriteLock 读写锁:写锁对应put()方法,而读锁对应get()方法,期望通过读写锁来实现并发get()。    代码实现如下: private ReentrantReadWriteLock lock = new Re ...
skydream 评论(4) 有3466人浏览 2012-06-18 12:28

编码最佳实践(3)--尽量重用昂贵的初始化对象

    这里将要讲述的是一系列的类似案例,都是在各个产品进行performance tuning时被发现的,非常具有普适性。可以说在日常开发中,有非常大的概率遇到相同或者类似的情形,因此需要对其保持警惕以便避免陷入类似的性能问题。     我们从JAXBContext这个对象开始,JAXBContext 是JAXB API的入口,典型的代码实现如下:     private void unmar ...
skydream 评论(0) 有1610人浏览 2012-06-17 22:59

编码最佳实践(2)--推荐使用concurrent包中的Atomic类

    这是一个真实案例,曾经惹出硕大风波,故事的起因却很简单,就是需要实现一个简单的计数器,每次取值然后加1,于是就有了下面这段代码: private int counter = 0; public int getCount ( ) { return counter++; }     这个计数器被用于生成 ...
skydream 评论(0) 有1583人浏览 2012-06-16 17:46

最近博客热门TAG

Java(141746) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics