java开发是什么专业学的(java开发是什么行业)
今天给各位分享
会当凌绝顶,一览众山小经过一年的修炼,《Java 开发手册》泰山版于 4.22 正式发布泰山版发布之后,我便立马去下载简单阅读了一下新增加了内容Guide 哥:我平时会经常拿出来看看,里面的很多精华都是阿里工程师踩坑而得,学到就可以立马用到,避免再犯同样的错误。
泰山版实际增加的内容不是很多,并没有太多的惊喜,毕竟它的内容本来就已经非常棒了,还是一如既往的实用!相比于华山版来说主要增加了如下内容:异常日志这块增加了对于错误码的规定;编程规约这块主要增加了:关于日期和时间的一些约束
集合处理这块增加了一些新的规定(大部分都和 Java8 新增加的特性有关);三目运算的自动拆箱可能导致 seo网站推广做什么NPE 问题sql 语句主要增加表的别名增加了两条规定;修改描述 90 处比如,阻塞等待锁、建表的小数类型等。
按照官方的来说这次总结可以概括为:“本次泰山版是一次全新的革新,涉及到集合转化函数式接口中的深坑、年份天数写死所带来的问题、SQL 多表操作未加表名对字段限制惨案、以及统一错误码能够为我们带来的巨大好处。
带大家简单看一下!增加了对于错误码的一些规定我在使用枚举简单封装一个优雅的 Spring Boot 全局异常处理! 这篇文章中也使用到了错误码,但是关于错误的码设计并没有完全满足阿里巴巴开发手册的要求我之前设计错误码的时候只是单纯使用 4 位数字唯一表示每一种错误,并没有区分具体场景。seo网站推广做什么
而阿里巴巴开发手册它要求将错误产生来源分为 3 类,这样确实更好一点:A :错误来源于用户,比如参数错误,用户安装版本过低,用户支付 超时等问题;B :错误来源于当前系统,往往是业务逻辑出错,或程序健壮性差等问题;
C :错误来源于第三方服务,比如 CDN 服务出错,消息投递超时等问题;错误码的第一位是错误产生来源,后四位数字编号从 0001 到 9999,比如 A0001 表示用户端错误。
多表操作的话需要在字段前加上表的别名避免多表之间存在相同的名字(多表之间存在项目的相同名字的字段很常见)
三目运算的自动拆箱可能导致 NPE 这个问题之前倒是没有注意过,算是一个小坑吧!
切勿把天数写死,推荐使用seo网站推广做什么 Java8 相关的日期类
使用 java.util.stream.Collectors类的toMap()方法的时候要注意
考虑到很多读者对这个方法不太了解,我写了一个简单的 Demo,大家感受一下:publicclassToMapDemo{publicstaticvoidmain(String[] args){ List lt =
new ArrayList<>(); lt.add(new ProgramLanguage(1, "Java")); lt.add(new ProgramLanguage(2
, "C++")); lt.add(neseo网站推广做什么w ProgramLanguage(2, "Python")); Map map = lt.stream().collect(Collectors.toMap(ProgramLanguage::getId, ProgramLanguage::getName,(x, y) -> x +
", " + y)); map.forEach((x, y) -> System.out.println(x + "=" + y)); }staticclassProgramLanguage
{// keyprivate Integer id;// valueprivate Striseo网站推广做什么ng name;publicProgramLanguage(Integer id, String name){
this.id = id;this.name = name; }public Integer getId(){return id; }public String getName
(){return name; } }}输出:1=Java2=C++, PythontoMap方法如下,可以看出这个方法默认返回的是 HashMap,前两个参数一个是获取 key,一个是获取 value,第三个参数的作用是处理相同 key 的情况。
Collectorseo网站推广做什么 toMap(Function keyMapper, Function