关于Java版本及JDK的选择

😃前言

  1. 在写这篇博客的两天前,我没有接触过任何和Java有关的东西
  2. 该博客权且算作个人学习笔记,基于互联网精神而分享
  3. 纰漏之处敬请斧正

😴各种名词解释

不知道你有没有听说过Java8、jdk1.8、Java SE、Java EE、J2SE、Spring、Spring Boot、Java1.1、JDK23、JDK17、Oracle JDK、Open JDK、JavaFX、JVM、JIT、Java ME、JMC、Graalvm for JDK、JFR、Amazon Corretto JDK、BellSoft liberica JDK…
😴晕了,Java咋一下了1.8一下子就21了

好哒,先分类😃,分成Java版本、Java内容、Java框架、JDK版本、JDK供应商(为什么这样分类…因为就是这样)

Java版本和JDK版本

你下载的是什么?

关于Java的下载,和C、Python一样,编程语言是不存在下载这么一个说法的,下载的是这个语言的开发工具包(开发工具包里有编译器或者解释器,还有其他debug工具和模块之类的)。
C语言下载MinGW-w64工具包(或者其他的MSVC、Cygwin)、Python语言下载官网的Python开发工具包(或者第三方的开发工具包)

在Oracle官网下载Java语言的JDK,就是Java开发工具包

这样就可以理解Java和JDK是什么关系了。
再举个例子,把编程语言想象成英语/日语/俄语,你要用英语创作的时候,你就要有笔、纸、词典、资料等等,这些工具。
下附每个Java版本号的JDK对应表(老版本有ME/SE/EE区分,表中不做区分)
在这里插入图片描述

关于Java ME、SE、EE的思考

另外还有Java ME、SE、EE。
1.简单说一下Java ME语言是微型的Java语言,它能实现的功能更少,它还包含了一些特殊的接口、功能(专门于移动/嵌入式设备)Java ME用得不多,主要是机顶盒等嵌入式的电子产品开发,但是它实际效果不如C/C++,不用在乎Java ME;
2.Java SE是Java语言标准版,就是正常的,满足于普通桌面应用开发;
3.Java EE是企业版Java语言,比标准版更大更全,但是由于Spring的兴起及其他原因,Java EE现在已经融入了各种企业框架中,比如Spring。

😤😤
那就又有人问,平常说的JDK是JavaSE的还是JavaEE的?不是说JDK是Java SE的实现吗?不不不,JDK是完整的Java的实现,JDK里面的javac编译器并不是只能编译Java SE的代码,Java EE也可以。Java EE比Java SE多出来的功能也是用SE去实现的,所以说JDK是基于SE的实现。
其实大可不必去区分这三个Java分支,它们之间的界限已经很模糊了,那已经是十年前的事情了。即便现在还有博主在说什么配置Java EE,他们配置的都不是啥Java EE,是开发企业级应用需要的环境(tomcat、severlet等等)。其实就只有一个Java。整一个JDK就完事了,JDK不区分什么ME SE EE。
一个JDK既可以开发普通应用也可以开发企业级应用。当然,无论是普通应用还是企业应用,都需要相应的环境,这个环境就因事而异,JDK可没办法打包。

JDK供应商

JDK是开发工具包,不同工具包之间有些许差异
本文的重点就是选择谁家的哪个版本的JDK
首先分为付费的和免费
付费的

JDK名称供应商备注
Oracle JDK甲骨文具有Oracle专有技术
GraalVM Enterprises Edition甲骨文GraalVM特化版
Azul Zing阿祖尔号称最强最便宜的JDK
还有一些,不做那么多,也没必要

免费的
免费的都是基于Oracle OpenJDK的做出改进,各供应商也都有参与OpenJDK贡献

JDK名称供应商备注
Amazon Corretto亚马逊亚马逊云开发可以选择这个
Azul Zulu Community阿祖尔
BellSoft Liberica JDK贝尔实验室
BellSoft Liberica JDK(Full)贝尔实验室带有FX功能
Eclipse Temurin(AdoptOpenJDK HotSpot)Eclipse基金会
GraalVM Community Edition甲骨文比Oracle GraalVM好很多,接近同款付费版
IBM Semeru(AdoptOpenJDK OpenJ9)国际商业机器
Oracle GraalVM甲骨文基础版GraalVM
Oracle OpenJDK甲骨文更新频率非常高
SAP SapMachine思爱普

我推荐使用BellSoft Liberica JDK 17(Full),因为Spring官方推荐这个版本

在这里插入图片描述
人家已经帮我们选好了,还想那么多干什么呢?它又不是微软(强推硬推Win11)。靠谱,所以我径直选择了贝尔实验室的JDK17。🤩

Java内容

这部分不做过多阐述
水印叠叠乐
有的时候还会听到JIT,JIT是JVM的内容,JVM也有许多家,不过默认是Hotspot,在特定产品情况下会用其他的JVM。

Java框架

框架就是别人写好了的好东西,你可以直接拿来用,就比如Spring。🤗
1.Spring 框架 (万能框架)
2.Spring MVC 框架
3.Spring Boot 框架 (简化版)
4.Netty (事件驱动网络通信)
5.Spring Cloud (微服务)
6.Shiro (安全方面)
7.Ehcache (缓存)
8.Quartz (任务调度)
9.Velocity
10.JUnit (单元测试)
11.Log4j
12.SSM
13.Eureka
14.Spring Security(安全)

小结

Java语言规定了一串文字(也就是代码)的功能
JDK是工具包,用工具包把你写的代码变成程序跑起来
框架是功能拓展,代码里面加入框架让开发更快更好
环境是环境(解释不出来)
刚折腾一天的小白,终于在Win11上,用Intellij IDEA + BellSoft Liberica JDK(Full)让终端输出了“Hello world”
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值