阿里巴巴java开发手册心得_阿里巴巴JAVA开发手册总结
OOP规约
1、所有的覆写方法,必须加@override注解
2、不能使用过时的类
3、所有的POJO类属性必须使用包装数据类型(null)
不用设定默认值,getter/setter不要加逻辑
4、序列化类新增属性时,请不要修改serialVersionUID
5、声明final的情况:
a、不需要重新赋值的变量
b、对象参数不允许修改指向
c、类方法不允许被重写
6、对象的clone方法默认是浅拷贝
浅拷贝:只复制一个对象,对象内部存在的指向其他对象数组或者引用则不复制
深拷贝:对象,对象内部的引用均复制
集合处理
1、必须重写equals和hashCode:a、set存储的对象 b、自定义对象作为map的键
2、array = list.toArray(new T[list.size()])
3、不要在foreach循环里进行元素的remove和add操作,remove请用Iterator
4、如果倒序的遍历,中间即使有删除也不会漏掉元素
5、集合初始化时,尽量指定集合初始值大小
6、使用entrySet遍历Map类集合KV,keySet其实是遍历了两次,一次是转为Iterator,一次是从hashMap取值??
并发处理
1、创建线程(池)时,请指定有意义的线程名称
2、线程池不允许使用Executors去创建,通过ThreadPoolExecutor
3、使用ThreadLocal代替原来的new SimpleDateFormat
private static final ThreadLocal dateFormatter = new ThreadLocal(){
@OverrideprotectedSimpleDateFormat initialValue() {return new SimpleDateFormat("yyyy-MM-dd");
}
};
4、能用对象锁,不要用类锁
5、Timer运行多个TimeTask时,只要一个没捕获异常,其它任务便会自行终止,使用ScheduledExecutorService
6、HashMap在容量不够时进行resize,由于高并发可能出现死链,导致CPU飙升
其它
1、POJO类中布尔类型的变量,都不要加is
2、枚举类构造方法被默认强制是私有
3、POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO
4、运算符与下文一起换行
5、逻辑超过三层的,状态模式实现
6、try-with-resources都是一个能够确保资源能被正确地关闭的强大方法(JDK7)
7、不能在finally块中使用return
8、日志使用占位符
logger.debug("Processing trade with id:{} symbol:{}", id, symbol)
阿里巴巴java开发手册心得_阿里巴巴JAVA开发手册总结相关推荐
- java设计连连看心得_基于Java的连连看游戏的设计与实现
ComputerKnowledgeand Technology 电脑知识与技术 软件设计开发本栏目责任编辑:谢媛媛 第7卷第35期 (2011年12月) 9 基于Java的连连看游戏的设计与实现 陈珊 ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- 学习java后端路线心得_我最推荐的一张Java后端学习路线图,Java工程师必备
# 阿里面经 [阿里中间件研发面经](http://mp.weixin.qq.com/s?__biz=MzUyMDc5MTYxNA==&mid=2247483852&idx=1& ...
- java一天一次_做JAVA两年,月薪18k,这些自学心得你绝对值得借鉴
我是一个做了两年java的小程序员,目前在杭州工作,月薪是18K,经历过两次跳槽,第一次跳槽拿到了12K的offer,第二次跳槽拿到现在18K的offer.我上的大专,在学校是学机电一体化的,接触过工 ...
- java 语言 读书心得_深海夜未眠 小说java夜未眠读书心得
<深海夜未眠 小说java夜未眠读书心得>由会员分享,可在线阅读,更多相关<深海夜未眠 小说java夜未眠读书心得(6页珍藏版)>请在人人文库网上搜索. 1.深海夜未眠 小说j ...
- java 开发人员工具_每个Java开发人员都应该知道的10个基本工具
java 开发人员工具 大家好,我们已经到了2019年的第二个月,我相信你们所有人都已经制定了关于2019年学习以及如何实现这些目标的目标. 我一直在撰写一系列文章,为您提供一些知识,使您可以学习和改 ...
- java如何开发视频软件_使用JAVA编写视频播放器
Java因其跨平台优势而陷入困境. 当时,我以为"写一次,到处跑". 这听起来不错,它应该是所有语言开发的最终方法. Java必将统治世界. 事实证明当时我还太小. 所谓的鱼和熊掌 ...
- 北京java研发平均工资_各地java开发工程师平均工资 北京高级java开发工程师工资2万多...
原标题:各地java开发工程师平均工资 北京高级java开发工程师工资2万多 java开发工程师工资水平一直都是程序员们比较关注的话题,毕竟java是最热门的编程的语言.每个城市的由于经济水平的差距, ...
- java web 开发之道_《Java Web开发之道》PDF 下载
图书目录: 第1篇 编程 经验与 感悟篇 第1章 编程 经验谈6则 经验01 乐不思蜀--寻找编程的乐趣 经验02 水滴石穿--编程学习 经验谈 经验03 举足轻重--代码规范 经验谈 经验 ...
- java开发eclipse配置文件_配置eclipse开发环境
一.下载安装包 1.下载jdk 1.7 32位 2.下载tomcat 7.0 3.下载eclipse 免费版 1) 可以使用免费的Eclipse官方网站(http://www.eclipse.org) ...
最新文章
- 实现简书个人中心UI效果
- vue如何输出一个值_怎么在控制台打印出来data里想要的数据? Vue
- 【C#学习笔记】退出程序
- 【Vegas原创】本地sys登录,ORA-01031: insufficient privileges的解决方法
- 用计算机计算板书,用计算器计算教案板书设计
- 输入任意长度的字符串,反向输出(递归)
- Numeric tile and other files loaded in Smart Template tile render launch
- 解密五种AI筛选的“新冠”新药:能靶向病毒细胞侵入的蛋白酶
- 持续集成(Continuous integration)
- 【STM32】【STM32CubeMX】STM32CubeMX的使用之一:工程建立之点亮你的LED
- 当 Windows 11 宕机时:从蓝屏死机变成“黑屏死机”!
- 比较使用LUT和不使用LUT的颜色空间转换的处理时间差异
- Mac安装JDK1.8及环境变量配置
- HostDeny解除封禁IP
- NeHe_001_创建一个OpenGL窗口
- 每一个c语言程序允许有多个函数,一个c语言程序由什么构成
- 中小企业OA管理系统(微鳄OA私有化部署)
- web服务器 apache_心跳和Apache Web服务器
- Quartus调用ModelSim进行仿真的步骤
- 数字IC笔记-详解建立时间和保持时间
热门文章
- EDA课程设计-拔河游戏A设计
- JavaScript高级程序设计 第4版
- 网页监控插件distill web monitor使用之监控亚马逊到货及价格
- 30分钟一部动画短片!从MMD入门3D世界,边玩边学的3D教程!(一)“MMD快速入门教程CSDN”
- 抱歉,Xposed真的可以为所欲为——1.基础知识储备
- 2015.7个人反思小结以及后续规划
- Linux下安装jre
- Win7 64位系统安装 Windows XP 虚拟机
- Powershell 创建NetWork Location(盘符快捷方式)
- VS985破解电信4G或联通4G