在上一篇我们对Java 9的新特性进行了一些回顾,今天接着来看看Java 10带来了什么特性。之所以需要把Java 8 到Java 17的特性归纳一遍,因为Java社区对Java 17的重视程度前所未有。话不多说,让我们走进Java 10。 Java 10 从Java 10 开始,Java的迭代周期缩短为半年,半年发布一个版本。 局部变量类型推断 在Java...
阅读全文Java 11是自Java 8以来的又一个LTS版本,是目前全球使用最多的LTS版本之一。今天我们接着在Java 9 到 Java 17系列文章中来认识针对普通开发者的Java 11。 字符串API增强 在Java 11中,针对String的操作进一步得到加强。避免我们在很常见的场景中引入额外的、复杂的API。 isBlank 用来判断字符串是不是空字符""或者trim之后" "为空字符:...
阅读全文Java 17 是Java 最重要的一个LTS版本之一,但是直接从Java 8 过渡到Java 17跨度太大了,势必有些困难。所以胖哥抽时间梳理了一下从Java 9到Java 17的一些常用API的变动。今天先来看看Java 9 都有什么东西。 Java 9 Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。 新的创建集合的方法...
阅读全文Java 最重要的一次更新:JAVA 17 正式发布,这是一个LTS(长期支持)版本,带来了不少有用的新特性。Java 17 属于长期支持版本 LTS,将会获得 8 年的技术支持,直至 2029 年 9 月。 Java 17 总共包含 14 个 JEP,具体如下: Restore Always-Strict Floating-Point Semantics 恢复始终执行严格模式...
阅读全文一直以来,写日常问题、前沿技术和架构思考类的文章比较多,今天为什么突然来说说Swing这个陈年老技术呢? 因为在CSDN上看到了这样的一篇文章: !https://blog.didispace.com/images/pasted-509.png !https://blog.didispace.com/images/pasted-512.png...
阅读全文一直关注Java的小伙伴想必或多或少听说过业界两位大佬,谷歌和甲骨文那场旷日持久的关于Java代码的侵权诉讼案,案件索赔高达近百亿美元。 事情的起因在于2010年甲骨文收购Sun之后获得了Java技术的一系列知识产权,随即起诉另外一位业界巨头谷歌,称其开发安卓系统时非法复制旗下子公司的Java api代码数万行。从而开始了一场十年的拉锯战: - 2010 年,甲骨文起诉谷歌侵犯了与 Java...
阅读全文前几日 Java 16 发布了,发现还是有童鞋不太了解Java目前的版本机制,所以看到了这样的留言: !http://img.didispace.com/FqcWz-QCtUPj6Z3UCHJvQdwUHam8 那么为什么大家都还在用 Java 8 呢? !http://img.didispace.com/FrC4W81oOhIgK-c1gnPMEByOun4I...
阅读全文今天碰到群里小伙伴问,线上程序好像有多个不同版本的Netty包,怎么去看到底加载了哪一个? 在说如何看之前,先来说说,当你开始意识到项目里有多个不同版本的Jar包,都是因为遇到了这几个异常: 1. java.lang.NoSuchMethodException:自己代码中调用了某个方法,因为加载了其他版本的jar,这个版本正好没这个方法。 2....
阅读全文JAVA枚举,比你想象中还要有用! 我经常发现自己在Java中使用枚举来表示某个对象的一组潜在值。 在编译时确定类型可以具有什么值的能力是一种强大的能力,它为代码提供了结构和意义。 当我第一次了解枚举时,当时我认为它们只是一个为常量命名的工具,可以很容易地被静态常量字符串ENUMVALNAME所取代。 后来我发现我错了。事实证明,Java枚举具有相当高级的特性,可以使代码干净、不易出错,功能强大。...
阅读全文还记得去年分享过一篇日期格式化使用 YYYY-MM-dd 的潜在问题http://blog.didispace.com/something-about-YYYY-MM-dd/的文章不? 历史又重演了... !http://img.didispace.com/FvTZWw3tOAsbDsmnAEkWtLTCQ5hj 事故现场 我们来写个单元测试,重现一下这个问题。 测试逻辑: 1....
阅读全文