版本要用java版本是7还是8?
(2)也许之后的会支持更高的java版本,但是目前的情况就是:minecraft 1.7.10和minecraft 1.8只能支持java7,假如安装成java8,或者64位系统但是安装错成32位的java7,都会导致未知的BUG甚至是游戏崩溃;完全卸载掉原来电脑里面的所有java,记得一个都不要留下,接下下载对应版本的java7,并默认路径安装即可。附,
jdk8是什么意思?
JDK8是Java Development Kit 8的缩写,是Java语言的开发工具包。JDK8包含了Java编译器、Java虚拟机、Java类库等工具和组件,用于开发、编译和运行Java程序。JDK8作为Java语言的一个重要版本,带来了许多新特性和改进,比如Lambda表达式、Stream API、新的日期和时间API等,使得Java语言在功能和性能上有了更大的提升。JDK8的发布对于Java开发者来说是一个重要的里程碑,为他们提供了更多的开发工具和更丰富的功能,使得Java语言在现代软件开发中更加强大和灵活。
java14早就有了,为什么还有人用java8?
甭说java8,现在有的企业用的还是java5,你敢信?
首先我需要说明一点,任何企业所用技术未必是越新越好。技术新只是代表这种技术比原本已有的技术出现时间晚而已,好不好用谁也保证不了。在没有经过验证前就上很容易出问题。
于java而言,实际上从java7之后语法上并没有太大的改变,也就是说即使只用java7之前的版本也完全能满足开发需求。
之所以上java8无外乎是java8新增特性:lambda表达式和Stream流确实能极大简化代码,至于效率提升多少,我反正没感觉出来。而且java8之后的版本都是半年一更,而且现在只是出到java13 , java14应该还是在酝酿中。
再加上有些项目已经运行好几年的,贸然上最新版本,所有工具和插件的兼容性也有待考证。鉴于此,大多数企业用java8也就不足奇怪了。
别说Java 8了,就算是Java 5/6现在也是大一堆公司再用。原因很简单,码农想更新老板也不多加钱,出了问题还得加班解决。所以说来说去还是没动力。很多代码都是加班加点写出来的,实现都是一坨翔,这种玩意你让他去升级,谁也不想升级好吧。
当然,假如一家公司实力足够, 项目生命力旺盛,肯定会有意愿升级的。但是要升级也不会升级到14这个临时版本,而是Java 11,这是一个长期支持版,这才是重点版本。
假如你的项目有意图升级的话,最好还是尽量跟着长期支持版升级。假如再拖了好几年,等到下个长期支持版出来,想一次升级到位,那还不如当初跟着升级。有时候升级跨度太大的话,可能还不如重新写一个出来呢。
说换的真的用过么,7和8还好说,8换11jdk的基础包路径都改了,8的代码11已经都编译不过了你要换嘛?而且最重要的zgc一直没release,花人力去换你觉得都没事干么……
java8是oracle收购sun之后的最后一个开源免费版本,商用项目使用不会有版权纠纷,用之后的版本,项目小还无所谓,大了oracle就要找你了,而且java9之后的新增语法没有革命性的创新,正式项目也用得不多。还有就是后面新的api增加了老程序员的学习成本,而且还没有对性能提高,所以性价比低,导致大多数人也懒得看。最后就是java现在的主体商用还是老项目在维护和迭代,换版本对于成熟项目而言成本太高了……
Java的升级迭代越来越快,Java 8之后,每半年差不多一个版本,让人眼花缭乱,但其颠覆性的技术,对研发人员的吸引力不够,做简单的demo还好,但若单纯追求技术,风险太高,如果使用于生产环境,就是更遥远的事情了。
Java 9引入了模块化系统,这是个看起来很美的特性,可是对程序员来说,这是一个破坏性的更新,因为JDK做了模块化,但是很多第三方库没有做模块化, 如果想让自己的项目也模块化,很有可能是一次不断填坑的经历,尤其在使用第三方库的时候。Java 11的ZGC是个有吸引力的特性,它的设计目标是:支持TB级内存容量,GC暂停时间低(<10ms),对整个程序吞吐量的影响小于15%,确实挺让人激动的!如果真的实现了,程序员就可以可劲儿造对象,而不用考虑GC了,可惜这仍然是个实验性质的版本,缺乏技术支撑的稳定性和线上业务的高并发检验, 用起来还是需要一定勇气的。
就个人观点而言,保持线上 jdk 版本维持现状的主要原因有:
1. java8之后,jdk升级迭代的周期缩短,所以同样6个版本,java8到java14和java2到java8的性质是完全不同的。
2. Java8后的除了模块化缺乏颠覆性的新特性,个人研究可以,生产环境使用动力不足。
3. jdk官方虽然宣称向前兼容,但是由于java中大量框架的使用,无法保证升级后一定没有问题,一旦有问题,排查成本异常高,引起的线上问题也是需要担责的。
4. 线上运行的jdk版本经过了时间和业务的检验,在非特别必要的条件下,保持现状是最好的选择。新项目中可以使用新版本,但也需要和团队技术栈保持一致,个人感觉jdk8已够用。
总的来说,jdk升级是有风险的,包与包兼容向下兼容需要全量功能回归检验,相较于锦上天花,升级带来的兼容性和线上问题,让研发感觉维持现状是最好的选择。
作者:夕阳雨晴,欢迎关注我的头条号:偶尔美文,主流Java,为你讲述不一样的码农生活。

