zoukankan      html  css  js  c++  java
  • 阿里开发规范 注意事项

    1、POJO命名

    数据对象:xxDO(对应于数据表)

    数据传输对象:xxxDTO(业务领域)

    展示对象:xxxVO(一般为网页名称)

    2、服务器设置

    1、高并发服务器高小TCP协议的Time_await时间

    2、调大服务器支持的最大文件句柄数

    3、JVM的 -XX:+HeapDunpOnOutOfMemoryError

    3、@Transactional事务不要滥用,事务影响数据库QPS,使用事务地方考虑各方面的回滚,包括缓存,搜索引擎,消息补偿,统计修正

    4、线程池不允许使用Excutors创建,使用ThreadPoolExecutor或ScheduledExecutorService方式处理

    5、subList用来返回一个list的部分视图

    1、非结构性修改,影响彼此

    2、结构性,如发生在subList,原list发生变化,如发生在list,产生异常

    6、使用list.toArray(T[] array)时,应指定array的大小(list,size())

    7、使用工具类Arrays.asList()转换数组,不可使用集合类的add,remove,clears等方法(适配器)

    8、extends super

    ?extends T 子类型限定,可用于返回类型限定,不能用于参数类型限定

    ? super T 超类型限定,可用于参数类型限定,不能用于返回类型限定

    super超类型限定通配符可以向泛型对象写入,extends子类型限定的通配符向泛型对象读取

    9、jdk7以上,comparator

    1、x>y -> y<x

    2、x>y, y>z -> x>z

    3、x=y -> 则x, z比较结果和y, z的比较结果相同

    10、集合初始化 (要存的个数/(负载因子×0.75)) +  1,无法确定取16

    11、推荐entrySet遍历

    12、

      key能否为NULL value能否为NULL
    Hashtable N N
    ConcorrentHashMap N N
    TreeMap N Y
    HashMap Y Y

    13、jdk8使用Instance代替Date,LocalDateTime代替Calendar,DateTimeFormater代替SimpleDateFormater

    14、并发修改同一个记录时,避免更新丢失,需要加锁,要么在应用层加锁,要么在缓存加锁,要么在数据应用层加锁,使用version作为更新依据

    15、冲突小于20%时,使用乐观锁,重试不小于3次

    16、多线程下使用ThreadLocalRandom

    17、主键索引名 pk_字段名,唯一索引名 uk_字段名,普通索引名 idx_字段名

    18、小数类型使用 decimal

    19、超过3个表不要使用join

  • 相关阅读:
    shiro (java安全框架)
    day13
    自己修改select的样式(修改select右边的小三角)
    如何让2个并列的div根据内容自动保持同等高度
    js定时显示广告代码
    jquery 模块拖拽
    JS获取浏览器可视区域尺寸
    jQuery事件绑定的最佳实践
    flot图插件使用
    计算json的和
  • 原文地址:https://www.cnblogs.com/m2492565210/p/8651954.html
Copyright © 2011-2022 走看看