最近发现一个很奇怪的事情,各个公众号,不是一批批的商业互推,就是包装精美,猝不及防的广告文案。我是很反感现在这种潮流的,一点不加修饰。这点不得不佩服,杜蕾斯的文案,总会让你有拍案叫绝的感慨。不过在这次疫情期间,似乎不用再搞文案了,确确实实的供不应求......
好了,不跑题了,今天说说jdk14,看到14这个结尾,我有种莫名其妙的感觉,是不是我少打了一个点?我还是那个没毕业的小伙子,梦想着有一天为“太阳”工作..... 自从Oracle成了爸爸以后,jdk的版本发布,比窜稀还痛快,同事们纷纷表示,学不动了.... 也许是 Mark Reinhold 在jdk7 的发布上得到了启发,带着半成品的lambda包,也没差到哪去.... 那我们何不半年就发一个版本呢?完不成的就挪到下一个版本去.... 那个功能做好了,就在那个版本发,开发嘛,不就随心所欲嘛......
比起Jag时代java语言演化的保守,现在可以说是大踏步的前进....
这次14的主要特性,也有不少
305: | Pattern Matching for instanceof (Preview) |
343: | Packaging Tool (Incubator) |
345: | NUMA-Aware Memory Allocation for G1 |
349: | JFR Event Streaming |
352: | Non-Volatile Mapped Byte Buffers |
358: | Helpful NullPointerExceptions |
359: | Records (Preview) |
361: | Switch Expressions (Standard) |
362: | Deprecate the Solaris and SPARC Ports |
363: | Remove the Concurrent Mark Sweep (CMS) Garbage Collector |
364: | ZGC on macOS |
365: | ZGC on Windows |
366: | Deprecate the ParallelScavenge + SerialOld GC Combination |
367: | Remove the Pack200 Tools and API |
368: | Text Blocks (Second Preview) |
370: | Foreign-Memory Access API (Incubator) |
不过我个人觉得对应日常写bug,最有帮助的还是,文本块,switch表达式,以及空指针异常的友好化。recoders这个东西,能不能达到效果?这个还真不好说。
文本块这个东西,如果再能配合上占位符表达式替换,就完美了,相信就这一个功能,就能让很多程序猿趋之若鹜的升级jdk。
关于表达式这个特性,我觉得是蛋糕上的草莓,如果在后续做到直接赋值,那就很棒了
其实,java语言本身的演化,受其他jvm语言演化的影响日趋加深,其实何尝不再大胆一点呢?都学了kotlin的data对象,那伴生对象也学一下呗?亦或是操作符重载?
jdk8虽然已经不再被oracle维护了,但是这个全球使用量最多的版本,如何升级换代这是个问题.....
那么,请问,你还学的动吗?