开发手册 不推荐用java.sql.Date.java.sql.Time网上说的文章有很多. 参考文章:一文告诉你Java日期时间API到底有多烂 但为什么不推荐使用java.sql.Timestamp文章比较少. 原因 Oracle官网文档中这么写: 可以看到,根源是因为java.sql.Timestamp父类java.sql.Date的fastTime属性存储秒,而java.sql.Timestamp的nanos存储秒以外的毫秒.所以秒和毫秒是分别存储的,从Timestamp的构造方法也可以…
概述 在阅读完阿里Java开发手册(嵩山版)后,发现自己在开发过程中有一些没有按照规范开发的情况,这里将容易忘记的规范记录下来,并且添加自己的理解,一方面方便自己巩固记忆,另一方面希望对其他同学能够提供一下帮助.这里将收集的阿里Java开发手册文档放在了 github 仓库,更多详细内容可以下载文档查看. 编程规约 [强制] 抽象类命名使用 Abstract 或 Base 开头:异常类命名使用 Exception 结尾:测试类 命名以它要测试的类的名称开始,以 Test 结尾. [强制] POJ…
转载请注明原创出处,谢谢! 缘由 阿里JAVA开发手册已经发表有很长时间了,值得认真研究思考推广 阿里官方的Java代码规范标准,这份开发手册不仅规范了一些开发细节,也提出了很多工程开发的哲学,值得好好阅读. 可谓包罗万象,几乎日常Java开发中方方面面都有所涉及. 每一条都是前人踩过的坑,通过血的教训总结出来的. 能公布出来真是造福全部Java开发者. 开发手册详细列举如何开发更加高效,更加容错,更加有协作性,力求知其然,更知其不然,结合正反例,提高代码质量.比如,异常日志处理时的各种不规范行…
转载请注明原创出处,谢谢! 说在前面 人生的大道上默默地走,就必须要有一盏灯亮着为你引导方向!而这盏灯抑或只是一句话,一句鼓励,一个赞美,一次承认,一次认可,一次相识一次交流-- 上篇文章:阿里JAVA开发手册零度的思考理解(一)得到作者孤尽的肯定支持,那是一个小激动啊,我会继续努力,继续阅读和思考阿里JAVA开发手册,毕竟每一条都是前人踩过的坑,通过血的教训总结出来的. 上篇题目回顾 看完这条,个人觉得主要是集合相关操作,在JAVA基础中集合这块的重要性也的确非常重要(毕竟是用到最多的),本期…
前言 最近看阿里的 Java开发手册,上面有线程池的一个建议: [强制]线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式, 这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险. 结合最近面试的经历,发现这条建议还是十分有用的,因为自己经常使用Executors提供的工厂方法创建线程池,所以忽略了线程池内部的实现. 特别是拒绝策略,面试被问到两次,还好因为这条建议,自己提前熟悉了一下ThreadPoolExecutor. Thr…
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 一个优秀的工程师和一个普通的工程师的区别,不是满天飞的架构图,他的功底体现在所写的每一行代码上.-- 毕玄 1. 命名风格 [书摘]类名用 UpperCamelCase 风格,比如 DO/BO/VO/PO [书摘]方法用 lowerCamelCase 风格,尽量是动词 小思考:例如常用的- 获取单个对象,getUserById- 获取对象累不,listUser…
一·命名约定 类名使用大驼峰式命名(领域模式相关命名除外:如DAO\VO\DO等). 常量必须全部大写,单词中间用“_”隔开(如MAX_COUNT). 抽象类命名使用Abstract或Base开头.异常类命名使用Exception结尾.测试类命名以它要测试的类的名称开始,然后以Test结尾. 中括号是数组类型的一部分:String[] args:不要使用String args[]来定义. 简单Java对象(pojo)类中的布尔类型的变量,都不要加is,否则框架解析会引起序列化错误.比如Boole…
前言 最近看阿里的 Java开发手册,上面有线程池的一个建议: [强制]线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险. 结合最近面试的经历,发现这条建议还是十分有用的,因为自己经常使用Executors提供的工厂方法创建线程池,所以忽略了线程池内部的实现.特别是拒绝策略,面试被问到两次,因为使用Executors创建线程池不会传入这个参数而使用默认值所以我们常常忽略这一参…
jdk1.7中java.util.concurrent.Executor线程池体系介绍 java.util.concurrent.Executor : 负责线程的使用与调度的根接口  |–ExecutorService:Executor的子接口,线程池的主要接口  |–ThreadPoolExecutor:ExecutorService的实现类  |–ScheduledExecutorService:ExecutorService的子接口,负责线程的调度  |–ScheduledThreadPo…
前言 在阅读<阿里巴巴Java开发手册>时,看到命名规则中有这样一条 虽然知道这些是根据Java对象的角色所分配名称的后缀,但是没有弄清楚分别是什么意思,日常开发中也没有使用到. 网上查找了一些资料,但是感觉大多数都是一样的,可能大家都是互相copy,篇幅过长并且不易理解. 别灰心!<阿里巴巴Java开发手册>中对于上面这些在领域模型的命名使用上给出了规范,说的很清楚,分享给大家. 领域模型命名规约 1.数据对象:xxxDO,xxx即为数据表名: 2.数据传输对象:xxxDTO,x…
版本: 1.3.0 update: 2017.9.25 一.编程规约 (一) 命名风格 1. [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例:_name _name_name / __name__name __name __name / $Object$Object $Object $Object / name_name_ name_ / name$ name$ name$ / Object$ Object$ Object$ Object$2. [强制]代…
给大家分享一个阿里巴巴的java开发规范,在日常自动化工作中我们可以参考一下,特别是用java进行coding的同学. 而且还可以利用相应的插件进行代码扫描检测,感兴趣的们可以马上应用到自动化中来.   IDEA 插件安装 IDEA 版的插件已发布到 IDEA 官方仓库中(最低支持版本 14.1.7,JDK1.7+). 只需打开 Settings >> Plugins >> Browse repositories 输入 Alibaba 搜索一下便可以看到对应插件了,点击安装等待安装…
1.1 命名风格 (1)常量命名全部大写,单词间用下划线隔开. (2)抽象类命名以Abstract或Base开头:异常类命名以Exception结尾:测试类命名以它要测试的类名开始,以Test结尾. (3)类型与中括号之间无空格定义数组(例:String[] args). (4)Boolean类型的变量不要加is前缀(例:Boolean isDeleted,它的方法名称也是isDeleted(),会造成部分框架解析失败). (5)包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词(例:…
异常日志 异常处理 1.不要捕获继承自RuntimeException的运行时异常类,这类异常通常由程序员来校验,来保证查询的健壮性. 2. 不要对大段代码 try catch,分清稳定代码和非稳定代码.对于非稳定代码,区分情况经行catch. 3.如果有try快放到了事物代码中,catch异常后,如果要回滚事物一定要手动回滚事物. 4.方法的返回值为null,必须添加注释充分说明说明情况下会返回null . 5. 放置NPE,是程序员的基本修养,注意产生NPE的场景 1)返回类型为包装数据类型…
调用迭代器的remove的方法(它的方法实现是:调用ArrayList的remove(index)方法 ) 然后游标cursor相应的进行减1操作…
应用分层 1.分层如下 1)开放接口层:可以直接封装Service接口暴露成RPC:通过web封装成http接口:网关控制层等. 2)终端显示层:各个端的模板渲染并执行显示层. 3)Web层:主要是度访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理. 4)Service层:对具体的业务逻辑进行处理. 5)Manager层:通用业务处理层 1️⃣ 对三方库的接口,预处理返回结果及转化异常信息: 2️⃣ 对Service层通用能力的下沉,如缓存方案.中间件通用处理: 3️⃣ 与DAO层交…
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 建表规约 1.表达是与否概念的字段,必须使用is_XXX的方式命名,数据类型是 unsigned tinyint (1表示是,0表示否). 2.表名不使用复数名词. 3.禁用保留字. 4.小数类型为decimal,禁止使用float和double. 5.表的命名最好是…
终极版 v1.3.0 2017年开春之际,阿里诚意献上重磅大礼:<阿里巴巴Java开发手册>,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率.大大降低代码维护成本. 至今为止已更迭了三个版本,2017年9月25日,阿里巴巴Java开发手册(终极版)>正式发布,这是史上内容最全.修正最为彻底的一个版本,并且增加了单元测试规约内容,这也是阿里官方对外发布的最后一个PDF版本,值得收藏. <阿里巴巴Java开发…
https://bbs.aliyun.com/read/306592.html?page=e 2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Java代码规范标准. 这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率.大大降低代码维护成本.   点击下载<阿里巴巴Java开发手册>:https://yq.aliyun.com/attachment/download/?id=1170 你是否曾因Java代码规范版本纷杂而无所适从…
 不为过去蹉跎,改变当下. 为什么开篇就送这么一句话给大家,我相信很多处于1-3年码龄的哥们儿们,在平时的编码历程中编码的个性可能是多彩的,每个人都有每个人特定的风格,但是我们现在这么随意写,以后这么随意写,好没问题,但是等你离开这个公司了或者是去开发别的项目了,再等别人过来接手维护你一手写出来的这段个性十足的代码时,那么你的右眼皮时不时地就会跳,因果我就不说了~~ 所以我建议看到这篇博文的朋友们,或许你稍微改变一下你的编码风格,遵从一套好的编码规约对己对人都是有好处的.可能朋友的公司也有专门的…
2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将有助于提高行业编码规范化水平,帮助行业人员提高开发质量和效率.大大降低代码维护成本. 点击下载<阿里巴巴Java开发手册>:https://yq.aliyun.com/attachment/download/?id=1173 (点击参与话题讨论:Java开发者们,一起来聊聊大家的开发规约吧) 你是否曾因Java代码规范版本纷杂而无所适从? 你是否想过代码规范能将系统故…
<唯品会Java开发手册>1.0.2版阅读 1. 概述 <阿里巴巴Java开发手册>,是首个对外公布的企业级Java开发手册,对整个业界都有重要的意义. 我们结合唯品会的内部经验,参考<Clean Code>.<Effective Java>等重磅资料,增补了一些条目,也做了些精简. 感谢阿里授权我们定制和再发布. 2. 规范正文 命名规约 格式规约 注释规约 方法设计 类设计 控制语句 基本类型 集合处理 并发处理 异常处理 日志规约 其他设计 注意: 如…
最近,阿里的<Java开发手册>又更新了,这个版本历经一年的修炼,取名:<Java开发手册(泰山版)>正式出道. 正所谓无规矩不成方圆,在程序员的世界里,也存在很多规范,阿里出版的Java开发手册就是其中之一,从各个方面都约束了程序员该如何有规矩的写代码,以及如何写好代码. 据官方描述,本次共计新增 34 条规约,修改描述 90 处,其中错误码规则更是第一次提出完整的解决方案. 下面栈长带大家来预览下重点要关注下的地方: 1.集合处理的两个坑 这个说的是 JDK8 中的 strea…
说起嵩山,我就想起乔峰,想起慕容复,以及他们两位老爹在少林寺大战的场景.当然了,最令我印象深刻的就是那位默默无闻,却一鸣惊人的扫地僧啊.这次,阿里出品的嵩山版 Java 开发手册的封面就有一个扫地僧,唉,这就厉害了呀! 嵩山少林寺位于河南省登封市,始建于北魏太和十九年,号称"天下第一名刹".这意味着什么?阿里出品的嵩山版 Java 开发手册,是迄今为止最重量级的. 上个版本叫泰山版,更新于 2020 年 4 月 22 号,版本出来的第一时间,我就给大家分享了.我相信,看过的小伙伴一定大…
摘要: 本文讲的是阿里正式发布<Java开发手册>终极版!,别人都说我们是码农,但我们知道,自己是个艺术家.也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美.质量的美.而代码规约其实就是一个对美的定义. 本文讲的是阿里正式发布<Java开发手册>终极版!,别人都说我们是码农,但我们知道,自己是个艺术家.也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美.质量的美.而代码规约其实就是一个对美的定义. <阿里巴巴Java开发手…
说起华山,我就想起岳不群,不,令狐冲:说起泰山,我就想起司马迁,他的那句名言"人总有一死,或重于泰山,或轻于鸿毛",真的发人深省啊.这就意味着,阿里出品的泰山版 Java 开发手册,是迄今为止最重量级的. 华山版是上个版本,啥时候更新的呢?2019 年 06 月 13 号,距离现在 10 个月了,时间也不短了,是时候更新了. 新版都更新了哪些内容呢?可以从官方的版本历史中看得出来. 01.发布错误码统一解决方案 错误码用来干嘛呢?答案是异常日志,方便我们快速知晓错误来源,判断是谁那出的…
说起华山,我就想起岳不群,不,令狐冲:说起泰山,我就想起司马迁,他的那句名言"人总有一死,或重于泰山,或轻于鸿毛",真的发人深省啊.这就意味着,阿里出品的泰山版 Java 开发手册,是迄今为止最重量级的. 华山版是上个版本,啥时候更新的呢?2019 年 06 月 13 号,距离现在 10 个月了,时间也不短了,是时候更新了. 新版都更新了哪些内容呢?可以从官方的版本历史中看得出来. 01.发布错误码统一解决方案 错误码用来干嘛呢?答案是异常日志,方便我们快速知晓错误来源,判断是谁那出的…
<Java 开发手册>(以下简称<手册>)是每个 Java 工程师人手必备的一本参考指南.该手册包括 编程规约.异常日志.单元测试.安全规约.MySQL 数据库.工程结构.设计规约 7 个部分 ,涵盖了 Java 开发的常见知识点.认真实践该<手册>能够帮助 Java 开发者养成好的编程习惯,帮助企业的开发团队在 Java 开发上更加高效.提高容错性.团队协作更好,并有助于提高代码的质量.降低项目维护的难度.然而很多人会遇到看过就忘,记住却不理解.不会用的困境. 另外在…
先上干货,<阿里巴巴Java开发手册>的下载地址 https://yq.aliyun.com/articles/69327?spm=5176.100239.blogcont69327.158.xUUgiz&p=2#comments 下面分几个部分对这个手册进行说明,都是个人的见解,本人技术一般,如果有错误或者不妥,请评论指出,虚心接受,提前感谢了. 建议边看手册,边食用以下说明,效果比较好. 前言 首先当我第一次看见这个的手册的时候或许和和你们是一样激动的,因为在java行业内我还没有…
Java作为一门名副其实的工业级语言,语法友好,学习简单,大规模的应用给代码质量的管控带来了困难,特别是团队开发中,开发过程中的规范会直接影响最终项目的稳定性. 善医者“未有形而除之”,提高工程健壮性最好的方式是在代码出现问题之前就排除掉,不给Bug出现的机会.一份好的开发规范就可以起到这样的作用,大大减少产品上线后的问题. <阿里巴巴Java开发手册>是阿里巴巴的内部编码规范,阿里官方的Java代码规范标准, 手册以Java应用开发为维度,分为编程规约.异常日志规约.MYSQL规约.工程规约…