下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为三星(★★★) 本文为第二篇 第一篇 点评阿里JAVA手册之编程规约(命名风格.常量定义.代码风格.控制语句.注释规约) 码出高效.码出质量. 代码的字里行间流淌的是软件生命中的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升质量意识.另外,现代软件架构都需要协同开发完成,高效协作即降低协同成本,提升沟通效率,所谓无规矩不成方圆,无规范不能协作.…
下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为一星(★) 码出高效.码出质量. 代码的字里行间流淌的是软件生命中的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升质量意识.另外,现代软件架构都需要协同开发完成,高效协作即降低协同成本,提升沟通效率,所谓无规矩不成方圆,无规范不能协作.众所周知,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全.试想如果没有限速,没有红绿灯,谁还敢上…
下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:MySQL数据库 (建表规约.索引规约.SQL语句.ORM映射) 本文难度系数为三星(★★★) 本文为第四篇 第一篇 点评阿里JAVA手册之编程规约(命名风格.常量定义.代码风格.控制语句.注释规约) 第二篇 点评阿里JAVA手册之编程规约(OOP 规约 .集合处理 .并发处理 .其他) 第三篇 点评阿里JAVA手册之异常日志(异常处理 日志规约 ) 第四篇…
下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:异常处理 日志规约 本文难度系数为一星(★) 本文为第三篇 第一篇 点评阿里JAVA手册之编程规约(命名风格.常量定义.代码风格.控制语句.注释规约) 第二篇 点评阿里JAVA手册之编程规约(OOP 规约 .集合处理 .并发处理 .其他) 第三篇 点评阿里JAVA手册之异常日志(异常处理 日志规约 ) 第四篇 点评阿里JAVA手册之MySQL数据库 (建表规…
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 目录 父子类变量名相同会咋样? 为啥强制子类.父类变量名不同? 可落地项目小思考 一.父子类变量名相同会咋样? 有个小故事,今天群里面有个人问下面如图输出什么? 我回答:60.但这是错的,答案结果是 40 .我知错能改,然后说了下父子类变量不建议同一个名称. 可见,父子变量名相同会令人 “Confusing”.再举个例子,新建 ParentClass 类: p…
图片若无法显示,可至掘金查看https://juejin.im/post/5d425230f265da039519d248 前言 在阿里Java开发手册中,有这么一条建议:慎用 Object 的 clone 方法来拷贝对象.对象 clone 方法默认是浅拷贝,若想实现深拷贝需覆写 clone 方法实现域对象的深度遍历式拷贝 .Java中的对象拷贝,有浅拷贝和深拷贝两种,如果没有搞清楚这两者的区别,那么可能会给自己的代码埋下隐患. 什么是浅拷贝和深拷贝 浅拷贝:被复制对象的所有变量都含有与原来的对…
1.[强制]避免通过一个类的对象引用访问此类的静态变量或静态方法,避免增加编译器解析成本,直接用“类名.变量名”访问即可. 2.[强制]所有的覆盖方法,必须加@Override注解 说明:加@Override可以准确判断是否覆盖成功,另外如果在抽象类中对方法签名进行修改,对应的实现类会马上报编译错误. 3.[强制]相同的参数类型,相同业务含义,才可以使用Java的可变参数(Integer... ids),避免使用Object.(注意:尽量不要用可变参数编程) 说明:可变参数必须放在参数列表的最后…
对于程序猿来说,编程规范能够养成良好的编程习惯,提高代码质量,减少沟通成本.就在2月9号,阿里出了一份Java开发手冊(正式版),分为编程规约.异常日志.MySQL规约,project规约.安全规约五个章节. 这里我依据阿里的编程规约,重点记录(黑色加粗部分)自己还未做好的一些规范,同一时候方便查阅. 编程规约 一.命名规约 [强制]代码中的命名均不能下面划线或美元符号開始.也不能下面划线或美元符号结束. 反例: _name / __name / $Object / name_ / name$…
一.编程规约 (一) 命名规约 1.[强制] 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.(代码规范,易读) 反例: name / __name / $Object / name / name$ / Object$ 2.[强制] 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式. 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义.注意,即使纯拼音命名方式 也要避免采用.(代码规范,易读) 反例: DaZhePromotion [打折] /…
版本: 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开发手册文档放在了 github 仓库,更多详细内容可以下载文档查看. 编程规约 [强制] 抽象类命名使用 Abstract 或 Base 开头:异常类命名使用 Exception 结尾:测试类 命名以它要测试的类的名称开始,以 Test 结尾. [强制] POJ…
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(htt…
<Java 开发手册>(以下简称<手册>)是每个 Java 工程师人手必备的一本参考指南.该手册包括 编程规约.异常日志.单元测试.安全规约.MySQL 数据库.工程结构.设计规约 7 个部分 ,涵盖了 Java 开发的常见知识点.认真实践该<手册>能够帮助 Java 开发者养成好的编程习惯,帮助企业的开发团队在 Java 开发上更加高效.提高容错性.团队协作更好,并有助于提高代码的质量.降低项目维护的难度.然而很多人会遇到看过就忘,记住却不理解.不会用的困境. 另外在…
转载请注明原创出处,谢谢! 缘由 阿里JAVA开发手册已经发表有很长时间了,值得认真研究思考推广 阿里官方的Java代码规范标准,这份开发手册不仅规范了一些开发细节,也提出了很多工程开发的哲学,值得好好阅读. 可谓包罗万象,几乎日常Java开发中方方面面都有所涉及. 每一条都是前人踩过的坑,通过血的教训总结出来的. 能公布出来真是造福全部Java开发者. 开发手册详细列举如何开发更加高效,更加容错,更加有协作性,力求知其然,更知其不然,结合正反例,提高代码质量.比如,异常日志处理时的各种不规范行…
转载请注明原创出处,谢谢! 说在前面 人生的大道上默默地走,就必须要有一盏灯亮着为你引导方向!而这盏灯抑或只是一句话,一句鼓励,一个赞美,一次承认,一次认可,一次相识一次交流-- 上篇文章:阿里JAVA开发手册零度的思考理解(一)得到作者孤尽的肯定支持,那是一个小激动啊,我会继续努力,继续阅读和思考阿里JAVA开发手册,毕竟每一条都是前人踩过的坑,通过血的教训总结出来的. 上篇题目回顾 看完这条,个人觉得主要是集合相关操作,在JAVA基础中集合这块的重要性也的确非常重要(毕竟是用到最多的),本期…
引言 最近在做Sonar静态代码扫描管理,以此顺手接了Sonar的插件开发,基于阿里开发手册进行开发,在整体开发过程中,其中还是遇到不少坑位,也以此给大家做相应借鉴官网Demo演示插件开发地址:https://docs.sonarqube.org/display/PLUG/Writing+Custom+Java+Rules+101基于官网的我暂时不多说,基础框架按照官网的范例进行搭建即可 #开源地址:https://github.com/tigerge000/sonar-java-custom-…
1.1 命名风格 (1)常量命名全部大写,单词间用下划线隔开. (2)抽象类命名以Abstract或Base开头:异常类命名以Exception结尾:测试类命名以它要测试的类名开始,以Test结尾. (3)类型与中括号之间无空格定义数组(例:String[] args). (4)Boolean类型的变量不要加is前缀(例:Boolean isDeleted,它的方法名称也是isDeleted(),会造成部分框架解析失败). (5)包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词(例:…
前言 在阿里Java开发规约中,有强制性的提到SimpleDateFormat 是线程不安全的类 ,在使用的时候应当注意线程安全问题,如下: 其实之前已经介绍过使用JDK1.8的DateTimeFormatter 和LocalDateTime来处理时间了,'>还在用SimpleDateFormat?Java8都发布N年了,转LocalDateTime吧.今天,就来说说SimpleDateFormat的线程安全问题. SimpleDateFormat是非线程安全的 时间处理,基本所有项目上都是需要…
serialVersionUID简要介绍 serialVersionUID是在Java序列化.反序列化对象时起作用的一个字段.Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidClassException. 序列化是一种把对象持久化…
  近日,从网上下载了阿里云栖社区发布的<阿里巴巴Java开发手册(正式版)>v1.1.0版.从编程以来,一直苦于没有相关的.全面的.靠谱的规范可以参考,有了这手册,日后编程也算是找到了依据.瞧,人家阿里都是按照这规则来操作的! 云栖社区此举对于普通Java开发者来说,算是功德无量,在一定程度上规范了Java开发者的编程习惯.为后来者谋福利了. 这本手册一共分为五个部分,包括了编程规约.异常日志.MySQL规约.工程规约.安全规约.基本上从编码的各个方面都细细的理了一遍,感觉完全可以当做是公司…
浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般稍微大一点的公司,都会在系统架构设计完成之后,编码工作开始之前,给出一份属于自家公司,或是自家团队给出的编码规范文档,所有的编码工作人员都必须遵守其中的规范,避免规范不统一带来的不必要的沟通问题,而当你去到另一家公司的时候,可能又要学习另一种风格有差异的编码规范,阿里给我们带来了标准,相信用不了多久…
阿里在杭州云栖大会上,正式发布众所期待的<阿里巴巴Java开发规约>扫描插件! 该插件由阿里巴巴P3C项目组研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,把<阿里巴巴Java开发规约>强制条目转化成自动化插件,并实现部分的自动编程. 插件的下载地址: https://github.com/alibaba/p3c 或者在Github直接搜索p3c 插件有哪些功能? 为了让开发者更加方便.快速将规范推动并实行起来,阿里基于手册内容,研发了一套自动化的IDE检测插件(ID…
前言 2017年2月9日,首次公布<阿里巴巴Java开发手册>; 2017年9月25日,阿里巴巴集团发布了<阿里巴巴Java开发手册>PDF终极版; 2017年10月14日,在2017杭州云栖大会上,规约插件全球首发. 阿里巴巴发布java开发手册对JAVA研发是一大福音,最近推出了IDEA的代码检查插件更是一神兵利器. 开发手册从意识上统一了研发团队代码风格,规范插件则是从行动上强制规范落地. 对测试来说也是非常有力的工具,代码走读需要一定代码基础,有门槛, 但规范可以通过工具扫…
本文里的面经内容全部来源于牛客网,作为秋招备战复习与查缺补漏时使用.里面部分面经有我的注释和想法,以及部分解答,不一定正确,大家可以查询补充. 阿里巴巴,三面,java实习 昨天晚上11点打电话来,问我可以面试不,我说不可以,然后就约到了今天, 1.上来问我项目用的框架,然后问我springmvc里面有的参数的设定,问的是细节,然后问我如果传的多个值是一个对象的属性,问我如何处理,我说直接在后端接收为对象就行了,然后突然问我http怎么传对象,这里有点不明白面试官想问啥,然后就换别的问题了, 可…
一.前言 火线(Fireline)的Jenkins官方插件已经上线,目前火线不仅能检查出安卓代码中的安全类问题和内存泄露问题,还兼容了阿里开源的Java开发规约(P3C项目),本文将以教程的形式帮助大家了解如何在Jenkins中使用火线插件做静态代码扫描. 提示:如果您是第一次使用Jenkins,请先前往文章[[新手教程] Jenkins 下载安装配置教程],本篇博客转载:http://www.sohu.com/a/208421161_741445?qq-pf-to=pcqq.c2c 二.安装步…
GUI编程 前言 某koukou老师的任务罢了,好在狂神老师居然有GUI的课,只能说是有救星了. [狂神说Java]GUI编程入门到游戏实战 最好笑的是,老师要求掌握的居然是14年的知识,就连狂神在上这门课的时候都在吐槽:你们在网络上几乎看不到这样的教学资源,因为已经很少很少了(被淘汰了) 主要是这个学期的短学期实践十有八九是koukou老师,非得是用java设计图形化可视化,所以学还是得学,不该挂的课就是不能挂! 1.了解GUI 组建: 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件…
#开头的废话#学习java已经半个月了,原本在抠教材里面的字眼时,觉得教材好厚,要看完不知道要到猴年马月去了.突然在网上看到一个教程,里面老师说学编程语言书不用太细看,看个大概,知道里面讲些什么就好,不用全记得,然后你一个劲地编,使劲地编,编的时候不懂再回来看就好了,这是最快的方法.心里一琢磨,还真是这样,根据以前学C语言的情况不就这样吗.所以便加速看,把一些书里介绍的方法,类飞速地浏览过了,刷到网络这一章,觉得socket编程应该是得试一下手,不要只看不做假把式. 此文为原创,转摘请注明转摘自…
2013-08-11 10:46:39 介绍STL模板的书,有两本比较经典: 一本是<Generic Programming and the STL>,中文翻译为<泛型编程与STL>,这本书由STL开发者 Matthew H.Austern编著,由STL之父alexander Stepanov等大师审核的,介绍STL思想及其使用技巧,适合初学者使用,中文版是由侯捷翻译的: 另一本书是<STL源码剖析>,是<深入浅出MFC>的作者侯捷编写的,介绍STL源代码的…
JAVA代码规范插件(P3C)是阿里巴巴2017年10月14日在杭州云栖大会上首发的,使之前的阿里巴巴JAVA开发手册正式以插件形式公开走向业界.插件的相关信息及安装包都可以在GitHub(https://github.com/alibaba/p3c)上获取.目前插件实现了开发手册中的53条规则,只能满足较为基本的代码检测,后继应该会更加完善. MyEclipse中阿里JAVA代码规范插件(P3C)的安装跟通常的插件安装方法相同,有三种方法. 安装方法: 方法一.MyEclipse中在线安装 1…
1.类(class)的定义 类是对一组具有相同特征和行为的对象的抽象描述. 在程序中,引入类的概念,就是为了快速生成更多的具有相同特性和行为的事物. 2.对象(object)的定义 对象是类的具体实现,表示一个独立的.唯一的个体,具有属性和方法. 3.属性和方法 属性:在程序中类或者对象具有的特征,具体对象的属性拥有的数据称为属性值. 方法:类或者对象的行为. 4.定义类和对象 创建1个Student的类,类的属性有学号(sid).姓名(name).年龄(age).性别(gender),类中声明…