首页 > 自考资讯 > 高考百科

jdk版本的选择(推荐1.8)?jdk用什么版本有区别吗

小条 2024-10-22

对于Java 初学者来说,选择JDK 版本可能是一项令人头晕的任务。今天我们就来解释一下。内容包括:

1.jdk 1.5到1.11,哪个最好?

2.jdk和jre的区别

1.选择JDK版本

jdk是一个Java开发工具包,最重要的是它除了运行和编译相关工具之外,还封装了很多方法(函数/方法/API)。例如,如果你想编写一个打印“Hello world”的程序,直接调用System.out.println方法即可。

不过安装jdk的时候,有的人推荐1.6(也称6.0),有的人使用1.7、1.8。很难理解,为什么不先去官网上查一下到底是怎么回事呢?

直接访问Java官方下载网站:https://www.oracle.com/technetwork/java/javase/downloads/index.html

c3a56cc5eab643b882692ecfcf70f3f8~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730162157&x-signature=a8zBXdAU5O1C%2FnkA%2BJQ5yo9bCZU%3D神马!直到看到才知道,才知道今年9月26日发布了JDK 11.0(即1.11)。我选择?

问题1:为什么JDK频繁从1.7升级到1.8、1.9、1.0、1.11?

虽然Java和C++都是高级语言,但两者最大的区别在于C++的最底层直接调用操作系统来运行硬件,而Java则使用了JVM(Java Virtual)层。 C++ 通常具有更好的性能,因为它位于操作系统(机器)之上,并且处于比其运行的硬件更高的级别。

92e79a98487b474f832998d314966c2e~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730162157&x-signature=qZcRN5i%2B9cZbikTzyXlhRHzuZv8%3D 早期的大型客户端游戏、网络和大数据算法、硬件驱动都是用C++(或C)语言开发的。但人无完人,语言也是如此。否则,我们就不会有Java、Python、Go 等如此多样化的语言。为了实现与操作系统的强锁,C++程序在不同操作系统或硬件平台上运行时必须进行改进和调优。

据说Java可以在所有平台上顺利运行,因为它底层有一组虚拟机。目前,智能家电和家庭基本上都运行基于Java语言开发的程序。

但在Java中,我也说有很广泛的语言,难道我们总是忽略性能不如C++吗?因此,随着技术的改进和数据结构算法的应用,JVM性能有所提高?通过不断发布次要版本(1.8.1、1.8.2等)和主要版本(1.7、1.8等)。这种情况与C++ 性能关系不大。

另外,Java语言一直有相对严格的语法,但例如1.8引入了Lambda表达式,1.9引入了var变量。 (不过,大多数Java程序员并不买账,继续使用原来的严格语法~~)

问题2:你会选择哪一个?

请先给出答案。请选择1.8 或1.9。 1.8是优选的。

这要从甲骨文收购Sun 说起。 Java最初是一个由社区维护的开源项目。收购业务和属性后,Oracle逐渐开始对Java收费。 jdk se标准版目前不收费,但高级版已经向使用Java的企业收费。

这个计划使Java 语言变得更快。例如,10.0和11.0发布得非常快。此外,Java 开发依赖于许多框架。 spring)),如果这些框架不完全支持较新的版本,您可能无法运行它们。因此,我们建议您不要使用新版本(10.0和11.0)进行实际业务开发,除非您只想体验语言层面的新功能。

1.5 和1.6 太旧了。即使是1.8,Oracle 也在2019 年1 月发布了停止通知。这些旧的不应该使用。

1.7、1.8、1.9都是成熟版本,原则上可以使用。公司的商业项目jdk一般不太容易升级,除了上面关于支持框架升级速度的考虑之外,1.9版本是次要推荐的。 1.8 和1.7 都被广泛使用,因此更高级的版本是自然的选择。因此,最推荐1.8版本。

2.jdk和jre的区别

有的同学在配置系统时经常会遇到jdk和jre的问题,但又不明白两者的区别。让我们将其理解为常识。如果您在早期阶段不知道也没关系。

事实上,这两个词在字面上是可以区分的。 jdk(Java Development Kit)是Java的开发工具包,jre(Java Runtime Environment)是Java程序的执行环境。

如果你本地开发的话可以运行,但是如果你作为网站或者项目运行的话,代码就会被打包成war或者jar包,开发相关的工具和包就帮不了你了。

所以jre是jdk的子集。

下图是1.8的官方文档:https://docs.oracle.com/javase/8/docs/

7072c91815114ebbbfcabc443a2047ce~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1730162157&x-signature=Gg6009%2BuPixzFgnDYFZCxrIUOvk%3D在运行时使用JRE而不是JDK,但另一方面也有一定的安全考虑,防止JDK的一些执行命令被恶意篡改。当然,现在大多数公司在运行时并不区分jdk和jre,而是直接在他们的服务器上运行JDK。

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢