恰恰相反,Java随着版本号的更新,是越来越好了。不管是底层的虚拟机,还是上层的新语法新类库,都让Java这门语言生机勃勃,Java生态繁荣向好。
就拿刚刚发布的Java 16来说,千呼万唤的Record终于也正式成型,加入到了Java标准中,以后大家在编写Java Bean的时候,不用再一个一个手动定义字段,也不再需要lombok自动生成字段, 只需要使用这一官方特性,就可以轻松地生成完整的类。
这样的新特性和语法糖在新版本的Java中比比皆是,凡是用过的程序员都说好。偶也实在想不通,这么一门优秀的语言是怎么被人说是越做越烂的,真是奇了怪了??
再说回为什么现在大量项目还在使用Java 8甚至更老的Java,其实原因很简单,这和现在大部分公司的管理模式相关。现在大部分公司基本上都是以项目为驱动,简单来说就是项目做出来就算成功。只要项目能够保持稳定运行,那么就不要动它,就算有什么安全漏洞也别管。在此基础上, 就算有一些程序员有动力去升级版本,但是升级成功以后老板也不会给你加钱,万一出了问题还要倒扣钱,在这种环境下,大家当然是得过且过,一个项目版本用到死。
另一方面这也和Java新的更新策略有关。原来Java更新是很慢的,基本上每一次大版本号更新都是长期支持版,相应的每次大版本号变动就非常慢,给了很多公司升级的空间。不过自从Java 9开始,Oracle修改了更新策略,差不多每10个月Java就会更新一次大版本,几次更新中只有一次是长期支持版。一般商用项目自然都是在长期支持版上运行,不会一直跟着大版本号走。目前Java最新的长期支持版是Java 11,下一次长期支持版是Java 17.如果你所在的公司技术很牛逼,那么现在你用的Java应该就是11了,等到下一次切换版本应该就是明年的Java 17了。
至于说什么Java 8之前免费用,之后收费用的,基本上都是被标题党自媒体欺骗了。需要明确的一点是,收费的是OracleJDK,不是Java。自Java 8以后,以商业目的使用OracleJDK确实要收费,但是如果个人开发者以学习目的使用OracleJDK是不收费的。如果商业公司不想给Oracle交钱的话,可以转为使用免费的OpenJDK,实际上在Java 9正式实现了模块化以后, Java源代码经过重新组织和编写,OracleJDK和OpenJDK之间几乎不存在兼容性问题,大家完全可以放心使用OpenJDK。
当然,默认的OpenJDK只有压缩包没有安装包,所以对于一些懒人程序员来说很不好用。所以还有人开发了AdoptOpenJDK,基于开源的OpenJDK增加了预编译的安装包,安装和使用体验和OracleJDK完全一致,还没有任何法律风险,同学,你还在等什么呢?
作为一名普通的Java程序员,偶对Java的前景充满乐观,新的Java语言也摆脱了从前那个顽固守旧的形象,开始变得越来越活泼了。新功能层出不穷,Java语言越来越好玩,也越来越好用了。还没用过新版Java的朋友们也可以去了解一下,相信你会打开新世界的大门。
hover css 动画,css页面回流,css鼠标禁用状态,css 中插入代码块,css命令url不生效,css样式表可以颜色,css li恢复圆点