当前位置: 首页 > news >正文

织梦网站程序模板下载学做吃的网站

织梦网站程序模板下载,学做吃的网站,网店美工教案,青岛建设集团有限公司阿里巴巴Java开发手册学习记录 一、编程规约 1.命名风格 严禁使用英文 拼音混合使用 类名应所有单词的首字母大写#xff0c;除了#xff08;UserDO#xff0c;XxxDTO, XxxPo等#xff09; 常量的命名应该是大写 单词间用下划线连接 抽象类的应以Abstract/Base开头 …阿里巴巴Java开发手册学习记录 一、编程规约 1.命名风格 严禁使用英文 拼音混合使用 类名应所有单词的首字母大写除了UserDOXxxDTO, XxxPo等 常量的命名应该是大写 单词间用下划线连接 抽象类的应以Abstract/Base开头 POJO类中的布尔变量都不要以is前缀否则某些框架解析会引起序列化错误, 。 (之前看一个文章就是因为XxxDTO方法的命名为isXxxXxx(),导致方法被错误的序列化造成了线上事故文章https://mp.weixin.qq.com/s/994BAkKPEeBz_gs_6LN2DQ) 如果模块、接口、类、方法使用了设计模式应体现在命名中 领域模型命名规约 数据对象xxxDO xxx为数据表名 数据传输对象xxxDTO xxx为业务领域相关 展示对象xxxVOxxx为网页名称 POJO是DO/DTO/BO/VO的统称禁止使用xxxPOJO 如果变量值仅在一个固定范围内变化用enum声明 2.代码格式 单行字符限制不超过120各超出要换行 第二行相对于第一行缩进4个空格运算符与下文一起换行例如“.”方法调用中多个参数在逗号后换行 可以插入一个空行将不同的逻辑、语义、谈业务分隔开提高可读性。 3.OOP规约 所有重写父类的方法都需要加Override可以判断是否重写成功接口过时必须加Deprecated并说明新接口的位置。不使用过时的类和方法在使用equals时应使用常量或者确定有值的对象的equals的方法所有的POJO类属性必须使用包装类型RPC方法的返回值和参数必须使用包装类型如果完全不兼容升级避免反序列化混乱要修改serialVersionUID构造方法中不加任何业务逻辑禁止在POJO类中同时存在一个属性的isXxx和getXxx()方法 因为在序列化时不确定优先调用哪个方法对于is开头的枚举型变量会在序列化调用isXxx的时候会把属性的is吃掉导致序列化出错。案例https://zhuanlan.zhihu.com/p/265869701解决方案1.遵循开发规范不要用is开头的变量。2.使用JSONFieldname “anotherName”来定制属性名。3.可以手动修改getter和setter。 类内方法定义顺序公有方法私有getter/setter方法对象的clone方法默认时浅拷贝若想要实现深拷贝需要重写clone方法。工具类不允许有public和default构造方法 4.集合处理 只要重写equals就必须重写hashcode使用set存储自定义对象时自定义对象需要重写equals、hashcode 方法在使用sublist方法时对原集合的增加或删除均会导致子列表遍历、增加、删除产生并发修改异常。在进行list的toArraysize方法转数组时应该传入list.size()作为参数这样返回的就是当前类型的数组如果直接使用无参toArray方法时返回值是Object类型的数组。Arrays.asList()把数组转换成集合时,不可以使用add等修改方法否则抛异常。PECS(Producer Extends Consumer Super)原则频繁往外读取内容的适合用? extends T。经常往里插入的适合用? super T。不用在foreach里进行元素的remove/add操作remove可以使用iterator方式如果并发操作需要对Iterator对象加锁。这里虽说foreach本质也是迭代器实现但是反编译以后会发现最后删除时是通过list直接remove而迭代器删除的是通过迭代器的remove方法删除的 5.并发处理 获取单例对象时需要保证线程安全应该使用ThreadPoolExecutor创建线程池SimpleDateFormat线程不安全如果定义为static必须加锁也可以使用DateUtils如果是 JDK8 的应用可以使用 Instant 代替 DateLocalDateTime 代替 Calendar DateTimeFormatter 代替 SimpleDateFormat对多个资源表、对象同时加锁时应该保持加锁顺序的一致性避免死锁。并发修改同一记录时避免更新丢失可以在应用层、缓存加锁或者数据库层使用乐观锁。如果每次访问冲突概率小于20%推荐使用乐观锁否则使用悲观锁。乐观锁的重试次数不得小于3 次。避免多个线程使用一个RandomRandom或Math.random会导致性能下降,可以使用ThreadLocalRandom在多线程场景下计数volatile无法应对多写的场景一般我们会选择AtomicInteger但是在竞争比较激烈的场景下可以使用LongAdder性能更好空间换时间内部将数组分段计数最后求和但是只使用计数场景下。ThreadLocal 建议使用static修饰只需要创建一次一个线程内的所有对象都已操作这个变量。 6.控制语句 高并发场景中避免使用等于作为中断或者退出的条件如果并发条件没有处理好会出现等值“击穿”的情况所以应该使用大于或者小于避免在if条件判断中使用复杂的方法getXxx/isXxx除外循环体内要考虑性能所以一些不必要的操作应该放到循环体外进行 7.注释规约 注释的主要作用能精确反应设计思想和代码逻辑、描述业务含义。代码逻辑修改的同时注释也要进行相应的修改尤其是参数、返回值、异常、核心逻辑所有的枚举类型的字段必须要有注释 8.异常处理 catch异常时对于非稳定代码来说catch尽量区分异常类型再做对应的异常处理不要对一大段代码做try-catch处理捕获了异常就应该处理它应该严格避免NPE 9.日志规约 应用中不可直接使用日志系统Log4j、Logback中的Api而应该依赖日志框架SLF4J中的Api。应用中的扩展日志命名方式appName_logType_logName.log对trace/debug/info级别的日志输出应该使用条件输出或者使用占位符slf4j支持占位符对于warn等不满足的日志级别即使不输出但也会准备参数浪费系统资源。生产环境禁止输出debug级别日志有选择地输出info日志写日志输出语句时思考有人看吗看到这条日志能做什么能不能给排查问题带来好处可以使用warn日志级别来记录用户输出参数错误。 持续更新…
http://www.dnsts.com.cn/news/90222.html

相关文章:

  • 网站建设哪家好采用苏州久远网络wordpress牛站
  • wordpress会员破解版广州seo推荐
  • 什么网站可以接设计方案国内免费自建网站
  • 网站cdn+自己做简约大气网站首页
  • ps ui做响应式网站要求网站建设桔子科技
  • 网站推广优化建设方案wordpress 加入引导页
  • 基本信息型网站有哪些360投放广告怎么收费
  • 一般可以建些什么种类的网站做网站公司 陕西渭南
  • 好的营销网站百度网站收录提交
  • 杭州高端响应式网站外卖优惠券网站怎么做
  • 江苏建设人才是官方网站wordpress中文安全插件
  • 济南建设网站 概况如何建设文化企业网站
  • 深圳企业网站建设设计公司网店美工的岗位职责
  • 站长之家综合查询工具成都cms建站
  • 淄博网站备案wordpress 前台上传图片
  • 笑话网站php程序餐饮logo免费设计
  • 主流网站开发语言有哪些百度app官方正式版
  • 学习做网站建设的学校建站比较好的公司
  • 网站设计南方企业网网页设计网站怎么放到域名里
  • 网站空间怎么备份做爰网站視屏
  • 汇通网做期货的网站做期货的网站济南建站联系企汇优
  • 四川省建设工程质量与安全监督网站平面设计素材网站排行榜前十名
  • 外贸网站平台沈阳 教育 公司 网站建设
  • 织梦网站广告代码如何写金融网站建设方案ppt模板
  • 免费行情软件app网站大全下载免费入口国家品牌网
  • 重庆网站建设公司电话北京seo专员
  • 顺德精品网站建设40平米办公室设计布局
  • 上海网站建设浦东汕头网站建设网站建设
  • 南昌比较好的网站设计完整的社群营销方案
  • 有一套源码做网站还差什么宿州信息网