
开发规范
朱四龙
做IT界的雷锋,分享,分享,分享
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【并发处理】避免Random实例被多线程使用
避免Random实例被多线程使用,虽然共享该实例是线程安全的,但会因竞争同一seed 导致的性能下降,JDK7之后,可以使用ThreadLocalRandom来获取随机数解释一下竞争同一个seed导致性能下降的原因,比如,看一下Random类的nextInt()方法实现:public int nextInt() { return next(32);}调用了next(int bits)方法,这是一个受保护的方法:protected int next(int bits) {原创 2020-07-19 10:44:42 · 955 阅读 · 0 评论 -
【并发处理】必须回收自定义的ThreadLocal变量
ThreadLocal详细源码解析1.初始化是一个懒加载的过程,只有在调用get的时候才会获取当前线程内部的ThreadLocalMapmap存在则获取当前ThreadLocal对应的value值map不存在或者找不到value值,则调用setInitialValue,进行初始化public T get() { Thread t = Thread.currentThread(); //通过当前对象去map中寻找 ThreadLocalMap map = getMap(t);.原创 2020-07-19 10:36:58 · 1857 阅读 · 0 评论 -
【并发处理】创建线程或线程池时请指定有意义的线程名称,方便出错时回溯
代码示例首先我们看一下如果线程没有命名的话,发生异常的错误日志:/** * @Author: maochenfei * @Date: * @Description: */public class ThreadNoName { public static void main(String[] args) { //订单模块 Thread threadOne = new Thread(new Runnable() { @O...转载 2020-07-19 10:26:28 · 2352 阅读 · 0 评论 -
开发规范-数据库规约
(一) 建表规约【强制】表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsigned tinyint( 1表示是,0表示否)。 说明:任何字段如果为非负数,必须是unsigned。 正例: 表达逻辑删除的字段名 is_deleted,1表示删除, 0表示未删除。 表示未删除。【强制】表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字。数据...原创 2019-03-19 20:02:04 · 888 阅读 · 0 评论 -
开发规范-安全规约
【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。 说明:防止没有做水平权限校验就可随意访问、修改、删除别人的数据,比如查看他人的私信内容、修改他人的订单。【强制】用户敏感数据禁止直接展示,必须对展示数据进行脱敏。 说明:查看个人手机号码会显示成:1589119,隐藏中间4位,防止隐私泄露。【强制】用户输入的SQL参数严格使用参数绑定或者METADATA字段值限定,防止SQL注入,禁止...原创 2019-03-19 20:03:10 · 1681 阅读 · 0 评论 -
开发规范-编码规约
(一) 命名风格【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用。正例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。反例...原创 2019-03-19 20:03:56 · 589 阅读 · 0 评论 -
开发规范-单元测试
【强制】好的单元测试必须遵守AIR原则。 说明:单元测试在线上运行时,感觉像空气(AIR)一样并不存在,但在测试质量的保障上,却是非常关键的。好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。A:Automatic AutomaticAutomatic Automatic Automatic (自动化) (自动化)I:Independent IndependentIndepend...原创 2019-03-19 20:04:39 · 920 阅读 · 0 评论 -
开发规范-异常处理
(一) 异常处理【强制】Java 类库中定义的一类RuntimeException可以通过预先检查进行规避,而不应该通过catch 来处理,比如:IndexOutOfBoundsException,NullPointerException等等。说明:无法通过预检查的异常除外,如在解析一个外部传来的字符串形式数字时,通过catch NumberFormatException来实现。 正例:i...原创 2019-03-19 20:05:16 · 472 阅读 · 0 评论