aoxiaojian
码龄20年
关注
提问 私信
  • 博客:65,663
    问答:535
    66,198
    总访问量
  • 10
    原创
  • 998,367
    排名
  • 6
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2004-08-20
博客简介:

敖小剑的博客

博客描述:
敖小剑的博客-CSDN同步版本
查看详细资料
个人成就
  • 获得9次点赞
  • 内容获得5次评论
  • 获得30次收藏
创作历程
  • 1篇
    2014年
  • 2篇
    2013年
  • 7篇
    2012年
  • 6篇
    2011年
  • 51篇
    2010年
  • 59篇
    2009年
  • 37篇
    2008年
  • 15篇
    2007年
  • 1篇
    2005年
TA的专栏
  • 旧文章
    46篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

353人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

新博客网站

开始启用新的博客网站,基于hexo,搭载在github上。请点击这里访问 "[url=http://skyao.github.io/]Sky's blog[/url]".现在的iteye上的blog不再更新。
原创
发布博客 2014.04.22 ·
333 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用javap命令查看编译版本信息

之前遇到几次现场故障,都是和class文件有关,比如版本不兼容造成Bad Version错误之类,需要检查class文件的编译版本信息。 一般的方法都是下载回来class文件,用jd打开反编译,这个还是比较方便的,偶尔遇到手头没有jd的情况,就直接找个16机制文件编辑器打开class文件,直接看minor version 和 major version。 今天无...
原创
发布博客 2013.02.17 ·
485 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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

前几次的编码最佳实践系列,我们都着眼于Java代码,今天我们换个话题,看看另外一个领域,和Java代码大相径庭的SQL。 这次作为素材出场的,是来自项目中的一段SQL,用于BlackWhiteList Adapter,在每次请求时检查一下,看当前用户是否在黑白名单中。 先介绍一下数据库结构,很简单的三张表:BWLIST记录黑白名单信息,BWLISTXADDRES...
原创
发布博客 2013.01.04 ·
334 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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

本期的案例依然是来自实际项目,很寻常的代码,却意外遭遇传说中的Java"内存溢出"。 先来看看发生了什么,代码逻辑很简单,在请求的处理过程中:1. 创建了一个ArrayList,然后往这个list里面放了一些数据,得到了一个size很大的listList cdrInfoList = new ArrayList();for(...) { c...
原创
发布博客 2012.09.06 ·
199 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

遭遇drupal keyword search模块bug,不能添加新的页面关键字

这是个非常无聊而无奈的问题,昨晚在解决globalrediect模块的重定向循环问题,我的drupal终于可以开发seo相关的各个功能。 第一时间跑去设置各个页面的关键字,结果立即被打击的不行,只要一点击Add page keyword,立即报错:Notice: Undefined variable: keyword 在 kwresearch_page_keywor...
原创
发布博客 2012.07.11 ·
220 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

解决drupal的globalrediect模块的重定向循环问题

昨晚继续折腾俺的小站http://www.javauniversity.net,准备给它加上SEO支持,安装了SEO tools模块和相应的依赖模块。 结果安装完成之后就陷入重定向循环了,每个页面都被重定向到新地址,然后新地址再次被重定向。chrome浏览器会稍后报错说太多重定向,而ie则傻傻的一直在死循环。 google了一圈,很快定位到问题发生在global...
原创
发布博客 2012.07.11 ·
162 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

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

这是一个来自实际项目的例子,在这个案例中,有同事基于jdk中的LinkedHashMap设计了一个LRUCache,为了提高性能,使用了 ReentrantReadWriteLock 读写锁:写锁对应put()方法,而读锁对应get()方法,期望通过读写锁来实现并发get()。 代码实现如下:[code="java"]private ReentrantReadWrit...
原创
发布博客 2012.06.18 ·
382 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

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

这里将要讲述的是一系列的类似案例,都是在各个产品进行performance tuning时被发现的,非常具有普适性。可以说在日常开发中,有非常大的概率遇到相同或者类似的情形,因此需要对其保持警惕以便避免陷入类似的性能问题。 我们从JAXBContext这个对象开始,JAXBContext 是JAXB API的入口,典型的代码实现如下: [code="java"]...
原创
发布博客 2012.06.17 ·
161 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

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

这是一个真实案例,曾经惹出硕大风波,故事的起因却很简单,就是需要实现一个简单的计数器,每次取值然后加1,于是就有了下面这段代码:[code="java"] private int counter = 0; public int getCount ( ) { return counter++; ...
原创
发布博客 2012.06.16 ·
107 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

编码最佳实践(1)--小心"数据溢出"

最近在公司内部做了一些收集和整理的工作,关于trouble shooting和performace tuning 中遇到并解决的典型问题,做了一些内部分享。我整理了一下,准备陆续放上来分享给大家。 这些问题,单个看每个问题都不算复杂或高深,但是都是在实际项目开发中出现并一度造成困扰的,而且带有一定的普适性,具体表现为不知道这些问题的同学很容易在日常开发中中招。因此我们开了一个...
原创
发布博客 2012.06.09 ·
127 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

搜索maven依赖的网站推荐

使用maven填写依赖的时候,常会遇到需要查一下groupId/artifactId和version,有时候还要看看有没有新的版本更新。 原来一直用http://mvnrepository.com/ 这个网站来搜索,最近发现maven官网也提供了类似的功能,http://search.maven.org/。 简单试用了一下search.maven.org,功能基...
原创
发布博客 2011.12.02 ·
491 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

目前那个js框架比较好?

发布问题 2011.06.16 ·
0 回答

cloudfoundry介绍-(1)申请试用

cloudfoundry是vmvare新推出来的开源PaaS平台,我试用了一下,发现还是很不错的。发出来分享给大家。(1) 申请 目前接受申请,要求非常简单,近乎于没有: 1. 打开http://www.cloudfoundry.com/ 2. 点击 Free Sign Up for Cloud Foundry 3. 输入你的email地...
原创
发布博客 2011.06.11 ·
264 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

解决gradle与sonar集成过程中的版本问题

初学gradle,一切都还在摸索的过程中。今天刚刚试图将之前基于ant + ivy的一个小项目转移到gradle下,结果在和sonar集成时出现问题。 gradle中支持sonar的方式很简单,gradle提供了一个sonar的plugin,简单的在build.gradle中配置一下就好了:[code="java"]apply plugin: 'sonar's...
原创
发布博客 2011.05.15 ·
1505 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

解决junit4.4和jmockit的冲突

今天开发中遇到的问题,代码提交到svn上去之后,hundson很快就红了。 检查hundson,发现该项目下所有的junit测试案例都失败了,所以的case都是一个错误:[code="java"]java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInsta...
原创
发布博客 2011.04.25 ·
615 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

写在qcon beijing 2011前夜

在酒店里上网,无聊又来到je,sorry,我还是习惯这么称呼,不习惯用ie。 上一次来北京,是去年12月底,参加javaOne Beijing 2010。实话说非常的失望,回去之后告诉boss,以后的javaOne可以不用继续参加了。 这次,时隔数月,再次被派出来参加qcon,依然还是北京,坐在这个京仪大酒店里面,依稀和上次参加javaOne呆坐在马可波罗很是类...
原创
发布博客 2011.04.07 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ubuntu10.10 + vista双启动的grub2设置

新安装了ubuntu10.10版本在公司笔记本上,结果在系统启动方面遭遇很多问题。记录下来以备用。 背景:公司笔记本,安装有vista,必须保留。因此只能考虑vista + ubuntu的双系统。由于vista所在分区是有pointsec软件作硬盘加密,造成ubuntu的grub无法通过正常的方式发现C盘安装的操作系统,必须手工修改。 ubuntu10.10中默...
原创
发布博客 2011.04.05 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

javaOne归来后对java未来的看法和担忧

上周参加北京的javaOne,今天回到办公室,刚刚在msn上和YHC同学交流了一下对这次javaOne的看法。 我个人对java未来颇有些担忧,尤其在这次javaOne之后。和YHC同学交流后感觉应该不是我一个人有类似的想法,好吧,在征得YHC同学的同意后,我将这段聊天内容贴出来。 有兴趣的同学,一起来聊聊吧。---------- 以下为具体的聊天内...
原创
发布博客 2010.12.20 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

easymock教程-自定义参数匹配器

    虽然easymock中提供了大量的方法来进行参数匹配,但是对于一些特殊场合比如参数是复杂对象而又不能简单的通过equals()方法来比较,这些现有的参数匹配器就无能为力了。easymock为此提供了IArgumentMatcher 接口来让我们实现自定义的参数匹配器。     我们还是用例子来说话:    public interface Service {        ...
原创
发布博客 2010.11.30 ·
999 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

easymock教程-改变同一个方法调用的行为

    在easymock中,对于mock对象的同一个方法,可以为每一次的调用定制不同的行为。在record阶段easymock会精确的记录我们录入的行为,基于每一次的方法调用。     这里有一个官网文档中的例子:    expect(mock.voteForRemoval("Document"))        .andReturn((byte) 42).times(3)   ...
原创
发布博客 2010.11.30 ·
244 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多