工作总结-002

  1. 异常捕获
    service捕获业务异常,自定义BaseException;
    interface捕获业务异常,以及其他异常,用Exception“兜底”。

  2. 参数校验
    不要觉得别人的代码多可靠,该有的校验要有;“不该有的校验”也要有。
    考虑因素全面,逻辑严谨。
    记录的唯一性可以用唯一索引保证。
    alter table table_name add unique key key_name (column1_name ,column2_name);

  3. 少用int
    在需要数据转换的场景,如VO转为DTO,DTO最好用基础数据类型的包装类。
    如果VO用了Integer,而Dto对应类型是int,当VO的Integer为null时,为Dto相应属性赋值会有问题。

// VO的Integer age
vo.age = null;
// Dto的int age
// ... 下面这行有问题
dto.setAge(vo.getAge());

这里涉及到拆箱问题,通过javap -c 反编译class文件,可看到调用了Integer.intValue()。针对dto.setAge(vo.getAge());会执行vo.getAge(),因为vo.age = null; null.intValue()会报空指针异常。

  1. dubbo接口使用方式
  • 1)用dubbo注解
自动化配置 @EnableDubboConfiguration
consumer的注解 @DubboConsumer
producer的注解 @Service(import com.alibaba.dubbo.config.annotation.Service)

参考 http://www.jianshu.com/p/06bfa92f2e20

  • 2)不用Dubbo注解

consumer:

@Bean("ConsumerInterface")
public ReferenceBean<ConsumerInterface> consumerInterface() {
        ReferenceBean<ConsumerInterface> referenceBean = new ReferenceBean<>();
        referenceBean.setInterface(ConsumerInterface.class);
        referenceBean.setCheck(false);
        referenceBean.setVersion("1.0.0");
        referenceBean.setTimeout(5000);
        return referenceBean;
}

producer:

@Resource
private ProducerInterface producerInterfaceImpl;
@Bean
public ServiceBean<ProducerInterface> producerInterface() {
        ServiceBean<ProducerInterface> serviceBean = new ServiceBean<>();
        serviceBean.setInterface(ProducerInterface.class);
        serviceBean.setRef(producerInterfaceImpl);
        referenceBean.setVersion("1.0.0");
        referenceBean.setTimeout(5000);
        return serviceBean;
}
  1. 不要直接使用线程

阿里巴巴Java开发手册:

使用线程池的好处是减少在创建和销毁线程上所花的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者“过度切换”的问题。
线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,避资源耗尽风险。 Executors返回的线程池对象的弊端如下 :
1)FixedThreadPool和SingleThreadPool: 允许的请求队列长度为 Integer.MAX_VALUE,可能会堆积大量的请求,从而导致 OOM。
2)CachedThreadPool 和 ScheduledThreadPool: 允许的创建线程数量为Integer.MAX_VALUE,可能会创建大量的线程,从而导致 OOM。

自己写线程池工具类 http://note.youdao.com/noteshare?id=30ca03fa9d7f9772e5e8a811089a1fa6

  1. 关于Autowired
    Autowired annotation is not supported on static fields
    Autowired 与 Resource 的区别
    Autowired按类型装配,Resource默认按属性名进行装配

  2. 为什么HashMap初始化时要指定大小?
    避免resize降低效率

  3. 注释
    发布文档,方便其他人了解代码功能。
    方法的注释,说明功能、入参、返参、可能抛出的异常。

/**
 * @author: Ali
 * @date: 2017/12/15
 * @since: java 1.8
 * description: XXXXXX
 * 
 * @param someParam 入参描述
 * @return returnParam 返参描述
 * @throws XXXException XXX异常
 */
  1. maven库引不下来,删掉本地相应仓库,重新import
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容