前情回顾:
【2023,学点儿新Java-01】从查看本机 jdk版本 开始 | Java基础全程脉络图、Java工程师全程技术路线、Java职业晋升路线图
【2023,学点儿新Java-02】计算机硬件与软件 | CPU、内存、硬盘概览 | 科学使用键盘——“指法” | 软件——计算机的灵魂 | 人机交互方式
【2023,学点儿新Java-03】DOS简介 | 如何进入DOS命令窗口 | 详解:常用DOS命令总结与练习 | 计算机编程语言史 | 机器语言、汇编语言、高级语言 | 计算机编程语言排行榜
【2023,学点儿新Java-04】Java概述: Java简史、起步阶段和发展阶段、Java之父、Java各个版本 | 什么是Java长期支持版本?| SUN公司简介 | Java技术体系平台介绍
人一定要有远景,
不能实现也可以,
但不管能不能实现,
它一定会带你走很远的距离。
作者主页: 追光者♂
个人简介:
[1] 计算机专业硕士研究生
[2] 2022年度博客之星人工智能领域TOP4
[3] 阿里云社区特邀专家博主
[4] CSDN-人工智能领域优质创作者
[5] 预期2023年10月份 · 准CSDN博客专家
- 无限进步,一起追光!!!
感谢大家 点赞 收藏⭐ 留言!!!
本篇,从0开始,带你搭建Java开发环境。首先介绍了什么是JDK、JRE、JVM,以及它们之间的区别,然后附带介绍了什么是Java API,这将有利于各位以后的理解。随后结合实际数据说明了为何要选择jdk17,最后较为详细地说明了如何在 Oracle官网下载 jdk17以及如何在官网找到各个版本的 jdk。至于配置,将会在下一篇文章中说明~
JDK (Java Development Kit):是Java程序开发工具包,包含JRE
和开发人员使用的工具。
JDK 是一种用于创建Java应用程序的软件开发环境。
JDK 包含了Java编译器、Java虚拟机 以及其他Java开发所必需的工具和类库
,让开发者可以在计算机上面编写、编译并运行Java程序。
除了基本的Java库以外,JDK还包括一些工具,例如JavaDoc和Java Debugger,帮助开发者更容易地分析和调试Java程序。
虽然JDK与JRE很相似,但是它们还是有一些不同,JDK提供了更多的工具 以便开发者开发Java应用程序,而JRE 只是提供了Java运行环境以便Java程序能够正确运行。
JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM
和运行时所需要的核心类库
。
JRE 是一种 用于运行Java应用程序的软件环境。它包括了Java虚拟机 (JVM) 和 Java类库等部分,可以将 Java程序编译后的字节码文件 解析并转换为运行的程序。
也就是说,JRE为Java程序 提供了一个可执行环境和平台,让Java应用程序可以在用户计算机上运行。与JDK不同,JRE只提供了Java运行的环境,而没有Java开发所需的编译器及工具包等。
JVM (Java Virtual Machine) 是Java虚拟机,是Java程序的运行环境,它是一种抽象概念。
JVM 可以在不同的操作系统 和 硬件平台上运行Java应用程序,它能够将Java源程序编译后的字节码解释执行,并且能够自动管理内存、进行垃圾回收等操作,充当着Java程序和操作系统之间的中间层。
JVM的优点是具有跨平台的能力,开发人员只需要在一个平台上编写一次Java程序,就可以在不同的操作系统和硬件平台上运行
,这极大地方便了Java程序的开发和移植。
JVM还提供非常丰富的Java类库,包括网络、I/O、数据库、图形界面等方面的API,可供使用者灵活使用。
下图是Java官方提供的Java 8.0 Platform (平台),便于我们理解:
Java API(Application Programming Interface)是Java提供的一组可重用的软件组件、类和接口集合,用于程序员开发Java应用程序。
这个API库包含了常用的功能库、工具库和各种技术的实现,包括网络、IO、多线程、SQL数据库、图形界面、安全、XML等等。
Java API库 被设计为 易于使用的模块化体系结构,并且每个模块都有特定的目标,开发人员 可以根据自己需求 选取和使用API中的各种类、接口和方法等组件,进而开发出高效、稳定和功能丰富的Java应用程序。
Java API库中的组件 也是经过Java开发者广泛测试和验证的,开发人员可以在 不必考虑其实现细节的情况下,直接调用这些API,从而提高了开发效率,减少了代码的复杂度。
简言之,Java API,即现成的代码,类库,可以直接用!
JDK = JRE + 开发工具集(例如Javac编译工具等)
JRE = JVM + Java SE标准类库
那么我们安装什么呢?
自然是————JDK!JDK既包含JRE(Java运行时环境),也包含Java开发所必需的工具和类库。
根据上一篇中 介绍的Java发行版本,
目前来讲,JDK的长期支持版本有:Java5.0、Java8.0、Java11.0、Java17.0。
Java5.0 相对来说“有点老了”,这里不考虑。
对于另外三个版本,可以根据企业中使用的占比来考虑,用比较生动的图来形容的话,就好像下边的图:
(⊙o⊙)…好像,Java 8 是比较牛的!自Java 8版本发布以来,其后的每次更新,都会有小伙伴高呼:Java8 YYDS!~~
此外,也有来自论坛的声音:“你发任你发,我用Java 8!
”
来看一些数据,也是近两年之内的,还是比较新的:
JRebel 于2022年4月前后发布了《2022 年Java生态系统状况报告》,报告中提到使用Java11 的占比最多,Java 8 紧随其后,如下图。而此前2020年的报告显示,Java8占比达到了84.48%
。
可以说,Java 8 和 Java11 “旗鼓相当”~ 而 Java17.0 虽然也是长期支持版本,但由于发布时间不是很长,因而统计中 占比不是很高。
相关分析:
G1是最受欢迎的GC算法。Java 11及更高版本的G1收集器是默认的GC,而Java 8中并不是。出于对G1的喜爱,很多开发者才会选择抛弃Java 8。
(补充说明:)
GC算法(Garbage Collection 算法)是一种自动内存管理技术,在运行时自动对程序运行时不再使用的内存进行回收,从而避免内存泄漏和垃圾堆积的问题。
G1(Garbage-First)算法是一种分代垃圾回收算法,它将内存分成多个大小相等的区域(Region),并跟踪 每个区域内存垃圾的使用情况
。在每次GC时,G1将选择垃圾最多的区域进行回收。这种算法的优势是可以在一定程度上减少GC的停顿时间,并使得内存的使用更加高效。
再来看一组数据:
某美国软件开发商在对近千名专业的Java开发者调研后,发布的《2022年Java开发者生产力报告》称:八年前发布的Java 8依然是Java中应用最广泛的版本,占比 37%
,其次是 Java 11,占比29%
。
安装Java8? 先别着急!
再来看看Java之父高斯林怎么说:
他说:(大致意思是快卸载掉Java8,安装新版的Java
——Java17在各个维度上都有很大的飞跃…)
考虑到Spring框架相关:
在Java 17正式发布之前,Java开发框架Spring 率先在官博宣布,Spring Framework 6 和 Spring Boot 3 计划在2022年第四季度实现总体可用性的高端基线:
Java 17+ (来自 Spring Framework 5.3.x 线中的 Java 8-17)
Jakarta EE 9+(来自Spring框架5.3.x 线中的 Java EE 7-8)
附:Spring 官方说明 https://spring.io/blog/2022/01/20/spring-boot-3-0-0-m1-is-now-available
Spring官方说 要把基准线从Java8 调整为 Java17:
这意味着:springboot3.0 是需要 用java17和spring6.0为基础建设。如果从企业选型最新springboot3.0 作为架构来说,它搭配jdk17肯定是标配了。
也就是说,Java17的占比,一定会越来越高!这是大势所趋!
综上所述,这里选择安装Java17。
Oracle官网
下载网址(Oracle公司官网):https://www.oracle.com/
进入官网后,下拉到界面最底下,点击 Developers:(点击后 可能需要稍等几秒钟~)
Java
进入后,稍微下拉界面,
然后 在Developers页面 中间的技术分类部分,选择Java
,单击进入,如图所示:
注意:此处 展示的是最新Java版本,例如Java20(在本篇Blog发布时,是此处是Java20)。
为了找到Java17,只需要下拉至如下区域:点击 Download Oracle JDK,(亦或是 点击 https://www.oracle.com/java/technologies/downloads/ 也可以~)
从而进入下述界面:
注:点击此处 也可以进入https://www.oracle.com/java/technologies/downloads/#jdk17-windows
分别按照 如下数字标号处 依次点击,下载即可:
稍等 即可下载好jdk17 啦~~
也是在此界面处:https://www.oracle.com/java/technologies/downloads/#jdk17-windows
点击 Java archive,此处我也附上链接~~
从而进入 如下新的界面:
下拉,即可看到 各个版本的jdk啦~~ (包括最新的版本~)
从而即可根据需求点击下载咯~~
注:关于 jdk的相关配置 (也很简单),下一篇会记录。
热门专栏推荐:
持续创作优质好文ing…✍✍✍
记得一键三连哦!!!
求关注!求点赞!求个收藏啦!