阿里巴巴开发手册最新版、码出高效、性能调优实战、成神之路

2023-05-16

清幽现云山, 虚静出内功

《阿里巴巴Java开发手册》是阿里内部Java工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等,这是近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善。这是阿里回馈给Java社区的一份礼物,希望能够帮助企业开发团队在Java开发上更高效、容错、有协作性,提高代码质量,降低项目维护成本。

2017年9月25日,阿里巴巴Java开发手册正式发布,至今为止已更迭了几个大版本,分别是2017(终极版)、2018(详尽版)、2019(华山版)、2020(泰山版)、2020(嵩山版)、2022(黄山版)。

版本号版本名发布日期备注
----2016.12.07试读版本首次对外发布
1.0.0正式版2017.02.09阿里巴巴集团正式对外发布
1.0.1--2017.02.131)修正 String[]的前后矛盾。
2)vm 修正成 velocity。 
3)修正 countdown 描述错误。
1.0.2--2017.02.201)去除文底水印。
2)数据类型中引用太阳系年龄问题。
3)修正关于异常和方法签名的部分描述。 
4)修正 final 描述。
5)去除 Comparator 部分描述。
1.1.0--2017.02.271)增加前言。 
2)增加<? extends T>描述和说明。
3)增加版本历史。
4)增加专有名词解释。
1.1.1--2017.03.31修正页码总数和部分示例。
1.2.0完美版2017.05.201)根据云栖社区的“聚能聊”活动反馈,对手册的页码、排版、描述进行修正。
2)增加 final 的适用场景描述。
3)增加关于锁的粒度的说明。
4)增加“指定集合大小”的详细说明以及正反例。
5)增加卫语句的示例代码。
6)明确数据库表示删除概念的字段名为 is_deleted
1.3.0终极版2017.09.25增加单元测试规约,阿里开源的 IDE 代码规约检测插件:点此下载
1.3.1纪念版2017.11.30修正部分描述;采用和 P3C 开源 IDE 检测插件相同的 Apache2.0 协议。
1.4.0详尽版2018.05.20增加设计规约大类,共 16 条。
1.5.0华山版2019.06.191)鉴于本手册是社区开发者集体智慧的结晶,本版本移除阿里巴巴 Java 开发手册的限定词“阿里巴巴”。
2)新增 21 条新规约。比如,switch 的 NPE 问题、浮点数的比较、无泛型限制、锁的使用方式、判断表达式、日期格式等。
3)修改描述 112 处。比如,IFNULL 的判断、集合的 toArray、日志处理等。
4)完善若干处示例。比如,命名示例、卫语句示例、enum 示例、finally 的 return示例等。
1.6.0泰山版2020.04.221)发布错误码统一解决方案,详细参考附表 3**。** 
2)新增 34 条新规约。比如,日期时间的闰年、闰月问题,三目运算的自动拆箱,SQL查询的表别名限定,Collectors 类的 toMap()方法使用注意等。 
3)修改描述 90 处。比如,阻塞等待锁、建表的小数类型等。 
4)完善若干处示例。比如,ISNULL 的示例等。
1.7.0嵩山版2020.08.031)新增前后端规约 14 条。 
2)新增禁止任何歧视性用语的约定。 
3)新增涉及敏感操作的情况下日志需要保存六个月的约定。 
4)修正 BigDecimal 类中关于 compareTo 和 equals 的等值比较。
5)修正 HashMap 关于 1024 个元素扩容的次数。
6)修正架构分层规范与相关说明。
7)修正泰山版中部分格式错误和描述错误。
1.7.1黄山版2022.02.031)新增11条规约

最新的两个版本下载地址:

嵩山版–V1.7.0 (2020.08.03)

链接:https://pan.baidu.com/s/1oqs_qHB30XukqHH4do9bng 
提取码:0j5j

黄山版–V1.7.1 (2022.02.03)

链接:https://pan.baidu.com/s/1ZE2sHWXl0V7BxmXXhQVaeA 
提取码:fb01

补充


码出高效:java开发手册.pdf

链接:https://pan.baidu.com/s/13etoFJtTK5_ZDF8-xpthPA 
提取码:hkw8

阿里巴巴java性能调优实战.pdf

链接:https://pan.baidu.com/s/1hZjS9buHZHb50KTs26Tirg 
提取码:hatn

再补充


Java工程师成神之路

链接:https://pan.baidu.com/s/1_sLKFRNr5rmDmM4I8LwW2w 
提取码:7zg8

程序员面试宝典

链接:https://pan.baidu.com/s/1CjKQUbJXchM7vjFxYQb8Jg 
提取码:bfll

Nacos架构及原理

链接:https://pan.baidu.com/s/1D2aPHKs_zcg4RYMNHXISmw 
提取码:qmf4

轻松玩转Docker

链接:https://pan.baidu.com/s/19SYDDVcl4Pg1RuExnMUn6Q 
提取码:9ib8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿里巴巴开发手册最新版、码出高效、性能调优实战、成神之路 的相关文章

  • CentOS8.4 OpenLDAP服务配置

    目录 OpenLDAP简介 基本操作 配置文件 服务端配置 配置下载证书 生成数据库并设置权限 调用模块 定义访问和认证信息 定义目录结构 配置用户认证结构 测试 NFS服务配置 客户端配置 测试 挂载用户目录 相关知识 注意事项 环境 服
  • C语言排序算法之选择排序

    文章目录 一 选择排序的概述二 选择排序算法代码详解 xff08 1 xff09 算法分析 xff08 2 xff09 选择排序算法代码详解 三 总代码 一 选择排序的概述 选择排序 xff08 Selection sort xff09 是
  • CodeForces - 501B Misha and Changing Handles(Map)

    题目大意 xff1a 就是讲在codeforces网站上 xff0c 由于一个黑客 xff0c 大家都可以随便改名字了 xff0c 有的人就改了一次又一次 xff0c xff08 当然也有的人就只改一次 xff09 然后题目问你一共有多少个
  • LINUX文件编程之——open(文件打开及创建)

    文件的打开及创建 C语言打开及创建文件需要用到open 函数 xff0c open函数在三个头文件当中 xff1a open函数 函数原型 xff1a open函数的返回值是一个小的 非负整数 xff0c 这个整数是被open打开的文件描述
  • linux文件编程之——write、read、lseek、close(文件的写、读、光标移动,关闭操作)

    文件的写入 xff08 write xff09 昨天已经学习了文件的打开及创建 xff0c 及使用open函数 xff0c 传递不同的参数可以实现文件的打开及创建 xff0c 并赋予文件的权限 xff0c 今天延续昨天的学习内容 文件的写入
  • 嵌入式笔试——笔试题目

    单选 xff08 15题 xff09 第一题 栈简介 栈由操作系统 xff08 编译器 xff09 自动分配释放 xff0c 用于存放函数的参数值 局部变量等 xff0c 其操作方式类似于数据结构中的栈 堆简介 堆由开发人员分配和释放 xf
  • ARM———第一天

    1 为什么学习ARM xff1f 嵌入式 xff1a 操作硬件的软件 嵌入式系统分两大类 xff1a 1 应用程序 xff0b 硬件 2 应用程序 xff0b 操作系统 xff0b 硬件 ARM是学习嵌入式的入门 xff0c 也是学习系统移
  • ARM———第二天

    1 什么是汇编指令 汇编指令 xff1a 是机器指令的助记符 xff0c 经过编译后会得到一串01010组成的机器码 xff0c 可以由cpu读取执行 伪指令 xff1a 本质上不是指令 xff0c 只是和指令一起写在代码中 xff0c 是
  • LINUX内核

    Linux内核功能 内存管理 操作系统内核功能管理设备实际的物理内存 xff0c 还可以创建和管理虚拟内存 xff08 Swap xff09 xff1b 通过硬盘的存储空间来创建虚拟内存 xff0c 叫内存交换空间 xff08 Swap s
  • man手册各章节的意义

    man手册分成很多section xff0c 使用man时可以指定不同的section来浏览 xff0c 各个section意义如下 xff1a 1 commands 2 system calls 3 library calls 4 spe
  • Dockerfile

    1 Docker 镜像原理 操作系统组成部分 xff1a 进程调度子系统 进程通信子系统 内存管理子系统 设备管理子系统 文件管理子系统 网络通信子系统 作业控制子系统 Linux 文件系统由 bootfs 和 rootfs 两部分组成 b
  • 一、STM32寄存器点亮LED灯

    目录 一 xff1a 硬件介绍 二 xff1a 三步点亮LED灯 三 xff1a 新建工程 四 xff1a 寄存器程序 1 xff1a 使能GPIOC的时钟 2 配置GPIOC13端口为输出模式 xff08 端口配置寄存器 xff09 3
  • 0、Linux虚拟机打印hello world

    Ctrl 43 Alt 43 T 打开终端 xff0c 输入sudo apt get install vim 下载vim 输入sudo apt get install gcc xff0c 下载gcc 下载完成后输入clear 可以清除终端
  • VS2017提示 LNK1104 无法打开文件 kernel32.lib

    在C盘里搜索kernel32 lib的路径 xff0c 然后添加到项目 gt 属性 gt VC 43 43 目录 gt 库目录里去就好了 但不知道为什么 xff0c x64路径下的kernel32就不行
  • 【智能无线小车系列四】树莓派操作系统安装

    对于第一次接触树莓派的人来说 xff0c 初次点亮树莓派的过程总是最为激动人心的 其实它就跟我们刚刚买回来的电脑一样 xff0c 首先需要做的就是安装操作系统 还记得上操作系统课程的提到 xff0c 操作系统是软件和硬件之间的桥梁 xff0
  • 使用c++实现学生成绩管理系统

    学生成绩管理系统 一 前言二 系统介绍头文件 CStudent h 2 源文件 xff08 实现函数 xff09 3 源文件 xff08 测试函数 xff09 4 运行截图 三 总结 一 前言 学生成绩管理系统的设计 xff0c 可以更好地
  • 魔百盒cm311-1a yst 青龙

    Armbian Debian 清华源 tsinghua source 清华源 deb https mirrors tuna tsinghua edu cn debian buster main contrib non free deb sr
  • 手把手教你安装Python3.x

    目录 普通安装下载安装包安装Python设置Python安装包 其他安装参考资料End 普通安装 下载安装包 打开浏览器 进入 Python 官网网站 xff08 https www python org xff09 xff0c 因为网站在
  • 实验二 单片机汇编语言算法实现(排序控制LED灯亮灭)

    这里写目录标题 实验二 汇编语言算法实现实验一 实验目的二 实验内容三 实验结果 实验二 汇编语言算法实现实验 一 实验目的 xff08 1 xff09 掌握汇编语言工程的编写 xff08 2 xff09 对单片机 I O 接口汇编控制有初
  • Centos7—2003下安装mysql8.0.28详细教程

    首先使用xftp上传mysql的linux压缩包 然后使用解压命令tar xvf mysql 8 0 28 1 el7 x86 64 rpm bundle tar 具体步骤如下 严格按照安装顺序安装 切记切记 root 64 localho

随机推荐

  • kali下载安装

    一 前期准备 kali镜像下载地址 xff1a http mirrors ustc edu cn kali images 二 VMware虚拟机配置 1 打开vmware xff0c 点击创建新的虚拟机 2 选择自定义 高级 选项 xff0
  • Linux设置字符界面的字体大小和字体类型

    SourceURL file home windstorm Documents ManjaroLinuxManual SetConsoleFont docx 首先我们进入目录 cd usr share kbd consolefonts 然后
  • anaconda3重新安装后cmd和anaconda都打不开的情况

    之前更新anaconda3时 xff0c 选择的默认安装路径 xff0c 更完后发现电脑上两个anaconda3 xff0c 原来是我第一次安装时和后来更新时选择的路径不一样 xff0c 强迫症的我想删了一个 xff0c 可又害怕出现问题
  • 处理器的大小端及位序

    大端Big Endian xff1a 数据的高字节存储到低位地址中 小端little Endian xff1a 数据的低字节存储到低位地址中 举例说明 xff1a 32位16进制数据为 61 0x12345678 xff0c 大端存储 地址
  • Python之循环语句while

    使用 while 循环 xff0c 只要条件为真 xff0c 我们就可以执行一组语句 场景 1 用户名和密码 反复输入 2 计算1 100 where 条件 要循环执行的代码 1 打印1 xff5e 10之间的数字 2 打印1 50之间能被
  • vue3-devtools安装

    开始使用vue3后 xff0c 发现浏览器上安装的vue devtool不支持vue3 xff0c 但是不翻墙的话无法通过webstore安装 xff0c 所以就只能通过下载源码自行打包来安装 xff0c 折腾了很久 xff0c 记录一下
  • 移动端布局——flex布局下的居中对齐方式(1+X Web前端开发初级 例题)

    题目要求 html代码 lt DOCTYPE html gt lt html gt lt head gt lt title gt 第三题 lt title gt lt meta charset 61 34 utf 8 34 gt lt lt
  • 在redhat8中安装ansible

    文章目录 一 确保有下载软件的仓库二 挂载三 安装 EPEL 源四 下载ansible五 查看是否安装好补充 xff1a 一 确保有下载软件的仓库 如果没有需要写一个 二 挂载 root 64 haha yum repos d mount
  • 【bat批处理】手把手教你批量打开软件、文件、网页等

    bat批处理 打开软件 文件等 0 前言1 start 命令用法1 0 注释1 1 start 命令说明1 2 启动软件1 3 打开文件1 4 打开文件夹1 5 打开网页 2 实战2 0 怎么创建bat批处理文件2 1 打开软件 文件 网页
  • rust的现状和未来发展

    rust现状 Stack Overflow 的开发者调研显示只有 7 的开发者在使用 Rust xff0c 对比 JavaScript Python 等语言 xff0c 使用 Rust 的开发者占比并不高 xff1b 但从 2016 年开始
  • collect2:fatal error: ld terminated with signal 11 [Segmentation fault] 问题的解决

    问题产生 今天gcc编译C文件的时候遇到一个始终无法解决的问题 collect2 fatal error ld terminated with signal 11 Segmentation fault 问题原因 首先我们看到编写程序最眼熟的
  • YAPI宕掉,重启

    因为公司需要 xff0c 一周前 xff0c 安装部署了YAPI的接口服务 安装的时候也是莫名其妙 xff0c 根据很多博客教程 xff0c 下载 node js 下载 mongdb 及对以上进行配置 xff0c 安装YAPI xff0c
  • Linux和Windows间的远程桌面访问

    版权声明 xff1a 本文为博主原创文章 xff0c 转载请注明出处 https blog csdn net u011054333 article details 79905102 在Windows上面 xff0c 我们都用过系统自带的远程
  • c语言排序(选择排序,冒泡排序)

    c语言的排序方式 一 冒泡排序1 基本思路 2 demo 二 选择排序1 基本思路 2 demo 一 冒泡排序 每次将相邻两个数比较 xff0c 将小的调到前头 1 基本思路 将9 8 5 4 2 0六个数字按冒泡排序的方式排序 第一趟比较
  • Haproxy相关概念解析

    原创作品 xff0c 允许转载 xff0c 转载时请务必以超链接形式标明文章 原始出处 作者信息和本声明 否则将追究法律责任 http jerry12356 blog 51cto com 4308715 1857973 一 Haproxy概
  • Openstack环境部署(T版)

    文章目录 一 环境配置二 基础环境配置1 修改添加NAT网卡配置2 关闭防火墙和系统安全机制 修改主机名3 安装基础环境依赖包4 VMnet1网卡配置参数5 配置主机映射文件6 三台节点做免交互7 配置DNS xff0c 配置控制节点时间同
  • springboot项目启动时,提示启动命令过长的问题

    启动时提示启动命令过长的问题 解决办法 96 96 96 java span class token operator lt span property span class token assign left variable name
  • Jetbrains/IDEA系列产品无限重置大法!!!

    工欲善其事必先利其器 概述 Jetbrains家的产品有一个很良心的地方 xff0c 他会允许你试用30天 xff08 这个数字写死在代码里了 xff09 以评估是否你真的需要为它而付费 事实上有一款插件可以实现这个功能 xff0c 你或许
  • 彻底解决uniapp发布为H5的跨域问题

    一 uniapp发布成网站 PC Web或手机H5跨域 用HBuilder开发时 用内置浏览器预览没有跨域的问题 当发布为H5时 调用后台接口就会出现跨域问题 如下图 二 什么是跨域 当一个请求url的协议 域名 端口三者之间任意一个与当前
  • 阿里巴巴开发手册最新版、码出高效、性能调优实战、成神之路

    清幽现云山 虚静出内功 阿里巴巴Java开发手册 是阿里内部Java工程师所遵循的开发规范 xff0c 涵盖编程规约 单元测试规约 异常日志规约 MySQL规约 工程规约 安全规约等 xff0c 这是近万名阿里Java技术精英的经验总结 x