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开发手册总结相关推荐

  1. java设计连连看心得_基于Java的连连看游戏的设计与实现

    ComputerKnowledgeand Technology 电脑知识与技术 软件设计开发本栏目责任编辑:谢媛媛 第7卷第35期 (2011年12月) 9 基于Java的连连看游戏的设计与实现 陈珊 ...

  2. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  3. 学习java后端路线心得_我最推荐的一张Java后端学习路线图,Java工程师必备

    # 阿里面经 [阿里中间件研发面经](http://mp.weixin.qq.com/s?__biz=MzUyMDc5MTYxNA==&mid=2247483852&idx=1& ...

  4. java一天一次_做JAVA两年,月薪18k,这些自学心得你绝对值得借鉴

    我是一个做了两年java的小程序员,目前在杭州工作,月薪是18K,经历过两次跳槽,第一次跳槽拿到了12K的offer,第二次跳槽拿到现在18K的offer.我上的大专,在学校是学机电一体化的,接触过工 ...

  5. java 语言 读书心得_深海夜未眠 小说java夜未眠读书心得

    <深海夜未眠 小说java夜未眠读书心得>由会员分享,可在线阅读,更多相关<深海夜未眠 小说java夜未眠读书心得(6页珍藏版)>请在人人文库网上搜索. 1.深海夜未眠 小说j ...

  6. java 开发人员工具_每个Java开发人员都应该知道的10个基本工具

    java 开发人员工具 大家好,我们已经到了2019年的第二个月,我相信你们所有人都已经制定了关于2019年学习以及如何实现这些目标的目标. 我一直在撰写一系列文章,为您提供一些知识,使您可以学习和改 ...

  7. java如何开发视频软件_使用JAVA编写视频播放器

    Java因其跨平台优势而陷入困境. 当时,我以为"写一次,到处跑". 这听起来不错,它应该是所有语言开发的最终方法. Java必将统治世界. 事实证明当时我还太小. 所谓的鱼和熊掌 ...

  8. 北京java研发平均工资_各地java开发工程师平均工资 北京高级java开发工程师工资2万多...

    原标题:各地java开发工程师平均工资 北京高级java开发工程师工资2万多 java开发工程师工资水平一直都是程序员们比较关注的话题,毕竟java是最热门的编程的语言.每个城市的由于经济水平的差距, ...

  9. java web 开发之道_《Java Web开发之道》PDF 下载

    图书目录: 第1篇  编程 经验与 感悟篇 第1章  编程 经验谈6则 经验01  乐不思蜀--寻找编程的乐趣 经验02  水滴石穿--编程学习 经验谈 经验03  举足轻重--代码规范 经验谈 经验 ...

  10. java开发eclipse配置文件_配置eclipse开发环境

    一.下载安装包 1.下载jdk 1.7 32位 2.下载tomcat 7.0 3.下载eclipse 免费版 1) 可以使用免费的Eclipse官方网站(http://www.eclipse.org) ...

最新文章

  1. 实现简书个人中心UI效果
  2. vue如何输出一个值_怎么在控制台打印出来data里想要的数据? Vue
  3. 【C#学习笔记】退出程序
  4. 【Vegas原创】本地sys登录,ORA-01031: insufficient privileges的解决方法
  5. 用计算机计算板书,用计算器计算教案板书设计
  6. 输入任意长度的字符串,反向输出(递归)
  7. Numeric tile and other files loaded in Smart Template tile render launch
  8. 解密五种AI筛选的“新冠”新药:能靶向病毒细胞侵入的蛋白酶
  9. 持续集成(Continuous integration)
  10. 【STM32】【STM32CubeMX】STM32CubeMX的使用之一:工程建立之点亮你的LED
  11. 当 Windows 11 宕机时:从蓝屏死机变成“黑屏死机”!
  12. 比较使用LUT和不使用LUT的颜色空间转换的处理时间差异
  13. Mac安装JDK1.8及环境变量配置
  14. HostDeny解除封禁IP
  15. NeHe_001_创建一个OpenGL窗口
  16. 每一个c语言程序允许有多个函数,一个c语言程序由什么构成
  17. 中小企业OA管理系统(微鳄OA私有化部署)
  18. web服务器 apache_心跳和Apache Web服务器
  19. Quartus调用ModelSim进行仿真的步骤
  20. 数字IC笔记-详解建立时间和保持时间

热门文章

  1. EDA课程设计-拔河游戏A设计
  2. JavaScript高级程序设计 第4版
  3. 网页监控插件distill web monitor使用之监控亚马逊到货及价格
  4. 30分钟一部动画短片!从MMD入门3D世界,边玩边学的3D教程!(一)“MMD快速入门教程CSDN”
  5. 抱歉,Xposed真的可以为所欲为——1.基础知识储备
  6. 2015.7个人反思小结以及后续规划
  7. Linux下安装jre
  8. Win7 64位系统安装 Windows XP 虚拟机
  9. Powershell 创建NetWork Location(盘符快捷方式)
  10. VS985破解电信4G或联通4G