开发者社区> 问答> 正文

嵩山版《Java开发手册》答开发者问

阿里巴巴《Java开发手册(嵩山版)》今日重磅发布!1300个日夜兼程,虚静出内功,嵩山版首次新增前后端规约等内容,全面助力开发者码出规范,码出质量!

免费下载电子书

封面.jpg

8月5日19点,《Java 开发手册》作者孤尽在直播间解读嵩山版更新亮点,从方法论到业务实战教你如何在编程中快速协同,避免踩坑。 马上预约看直播

《Java开发手册》始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范,手册涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程规约、设计规约七大维度。

手册自发布以来,有超260万开发者下载,相关的规约插件在GitHub上获得了20000+星的支持。

如果你想向孤尽老师提问,或者对手册有什么建议,欢迎在评论区留言,有机会会收到他的亲自回复哦!

展开
收起
新闻小助手 2020-07-28 14:55:35 16888 0
15 条回答
写回答
取消 提交回答
  • Snipaste_2022-08-01_10-58-37.png

    MySQL数据库建表规约,为什么强制主键为自增id? 用雪花id不更好吗,既可以作为业务主键也是有序的,在业务数据进行更新的时候可以直接使用id更新记录。

    2022-08-01 11:02:54
    赞同 展开评论 打赏
  • image.png 索引规约第8条,"小巫见大巫"用词不当,此处应该表达两者差不多的意思

    2021-08-16 17:50:55
    赞同 展开评论 打赏
  • 老师好,我有2个问题咨询一下您。 1、请问在编写代码时,比如List或者map、实体对象,使用完后是否有必要先clear一下,再赋值为null,来节省空间,加快回收? 2、我的服务器运行tomcat时,在凌晨没有人使用的时候,阿里ECS监控,内存在慢慢的涨上去,导致服务隔几天得重启一下,这个原因是什么呢?

    2021-05-14 23:33:36
    赞同 展开评论 打赏
  • java web前后端项目 想区分请求、响应的对象。 响应用的是VO,接收请求的对象用的应该是什么?AO?

    假设用AO,AO作为前端传给后端参数的接收对象,AO对象只作用于controller、service层, 搭配用Query,Query作为内部的查询对象, 对象只作用于service、dao层

    案例一:前端发起一个查询列表的请求,用@RequestBody接收,创一个listAO对象用于接收,AO的值赋给Query对象调用对应的方法。

    案例二:前端发起一个保存数据的请求,用@RequestBody接收,创一个saveAO对象用于接收,AO的值赋给对应的对象进行处理。

    关于AO,华山版有,泰山版之后就没有了,想知道如何处理这块的。

    假设用Query接收前端传给后端的参数, 担心一:前端碰巧多传了不需要传的字段,但是碰巧在dao层有用到。 担心二:就会跟前端强耦合,没办法写一个dao层公共的方法。

    往大神解惑。

    2021-01-21 14:39:01
    赞同 1 展开评论 打赏
  • image.png 为什么推荐使用 ISNULL() 而不是 IS NULL。有说ISNULL()IS NULL执行效率更快一些,但是我测了下,好像是IS NULL更快一些

    2020-12-30 10:40:18
    赞同 展开评论 打赏
  • 有几处勘误的地方,希望可以下个版本修正

    建议: 1. 第27页第10条与第47页第5条 冗余 2. 第31页第11条第1项反例中, "自动解箱" -> "自动拆箱" (文档内均已自动拆箱为该名词)

    勘误: 1. 第36页第11条正例中,标识单元测试相关 “代码” -> "数据" (个人理解) 2. 第41页第11条第3项, "惟一索引" -> "唯一索引"

    2020-11-04 18:27:53
    赞同 展开评论 打赏
  • logger.error("inputParams:{} and errorMessage:{}", 各类参数或者对象 toString(), e.getMessage(), e); 为什么不直接打印栈信息,为什么要多打e.getMessage?呢?是出于什么考虑呢?

    2020-09-25 10:57:23
    赞同 展开评论 打赏
  • 【强制】判断所有集合内部的元素是否为空,使用isEmpty()方法,而不是size()==0的方式。 说明:在某些集合中,前者的时间复杂度为 O(1),而且可读性更好。

    JDK8中,HashMap的size已经缓存成类属性了,这条规则是否还有意义? public int size() { return size; } public boolean isEmpty() { return size == 0; }

    2020-08-26 19:06:48
    赞同 展开评论 打赏
  • 接口路径URL规范能更详细一点就好了

    2020-08-05 18:05:37
    赞同 展开评论 打赏
  • 能否提供个world版本,方便修改,可以作为公司可修改的定制化规范。

    2020-08-05 14:55:11
    赞同 展开评论 打赏
  • 工作了2年,只会curd怎么办

    2020-08-04 21:30:04
    赞同 展开评论 打赏
  • 尘世中一个迷途码农

    请问: 华山版:【强制】表必备三字段:id,create_time,update_time。 泰山版:【强制】表必备三字段:id,gmt_create,gmt_modified。 嵩山版:【强制】表必备三字段:id,create_time,update_time。

    这个五.(一).9段落是不是有问题?

    2020-08-04 08:43:41
    赞同 2 展开评论 打赏
  • 在前后端规约那部分有点失望,部分无关痛痒的没必要采用强制性的要求,例如: 【强制】在前后端交互的 JSON 格式数据中,所有的 key 必须为小写字母开始的 lowerCamelCase 风格,符合英文表达习惯,且表意完整。 这部分建议比较好,强制不应随便使用,不然显得这份规约太过死板和霸道。

    2020-08-03 11:29:04
    赞同 展开评论 打赏
  • private int x = 0; public int checkReturn() { try { // x 等于 1,此处不返回 return ++x; } finally { // 返回的结果是 2 return ++x; } } 书中这个函数返回值应该为1。java会先保存return的返回值,然后再去执行finally中的语句,finally中的语句不会影响返回值。

    2020-08-03 10:18:43
    赞同 展开评论 打赏
  • 杨大宝,你的《码出架构》什么时候刊印?

    2020-07-28 17:30:37
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载