乐观锁和悲观锁
摘要:1、乐观锁,自己去修改记录的时候都认为没有任何其他程序修改数据。可以加version进行控制 2、悲观锁,自己每次操作都认为有其他程序修改数据,所以操作前锁定数据,避免其他程序修改,适于冲突概率比较高的应用。
阅读全文
posted @
2017-08-11 00:17
_故乡的原风景
java规范 控制语句
摘要:1、在一个switch里面,必须有一个default放在最后,即使什么逻辑也没有。 2、表达异常分支时,少用if else,这种可以改成: if (condition) { return; } 如果非得使用if else避免超过三层。否则维护很困难。可以使用为语句或者状态模式来替换。 3、不要在条件
阅读全文
posted @
2017-08-11 00:07
_故乡的原风景
java并发处理规则
摘要:1、创建线程或者线程池的时候指定线程名,以便有问题时回溯。 2、线程资源必须通过线程池提供,不允许在应用中自行显示地创建线程。 3、线程池不允许通过Executors去创建而是通过ThreadPoolExecutor去创建。 4、SimpleDateFormat是线程不安全类,一般不允许定义为sta
阅读全文
posted @
2017-08-10 23:50
_故乡的原风景
java规约 集合处理
摘要:1、关于hashcode和equals的处理: 1)只要重写equals就要重写hashcode; 2)如果一个对象要用set进行存储,那么必须重写这两个方法。 3)如果自定义对象用来作为Map的键,必须重写这两个方法。 2、ArrayList的subList不可以强转为ArrayList,返回的是
阅读全文
posted @
2017-08-10 08:09
_故乡的原风景
对数据库进行先查询后插入的解决方案
摘要:场景: 多线程高频率请求插入某一条数据,要求这条数据不能被重复插入。应该如何做?
阅读全文
posted @
2017-08-04 00:46
_故乡的原风景
java编程规约
摘要:一、命名风格 1、代码中的命名不能以下划线和美元符号开始和结束。 2、代码中严禁使用拼音和英文混合的方式,更加不能使用中文。 3、类名必须使用驼峰形式(UpperCamelCase),一下例外:BO、DO、DTO。 4、方法名、参数名、成员变量名、局部变量名都统一使用lowerCamelCase。
阅读全文
posted @
2017-08-02 23:54
_故乡的原风景
ORM规约
摘要:1、查询的时候一律不要使用*,会增加解析器的成本,有可能和resultMap不一致。 2、POJO类的布尔属性一律不要is,数据库字段名字一定要is_xxx。 3、不要用resultClass作为返回参数,配置映射关系,使字段和DO类解耦。 4、sql xml参数使用#{value} #param#
阅读全文
posted @
2017-08-02 23:08
_故乡的原风景