Java 安装和语言的基本组成

认识 Java

Java 在 20 多年发展过程中,与时俱进,为了适应时代的需要,经历过两次重大的版本升级,一个是 Java 5,它提供了泛型等重要的功能。另一个是提供了 Lambda 表达式等重要的功能的 Java 8。

一些重要的 Java 的版本 JDK 1.2(新增集合类), JDK5(新增泛型), JDK8(LTS版本,新增 lamda 表达式,方法引用), JDK11(LTS 版本 local variable syntax ofr lambda parameters), JDK17(LTS 版本 sealed types, always-strict floating-point semantics), JDK21(LTS 版本)。

Java SE 中提供了 Java 应用程序开发需要的基本的和核心的类库,这些类库:字符串、集合、输入输出、网络通信和图形用户界面等。事实上学习 Java 就是在学习 Java 语法和类库的使用。

Java 安装

mac 环境

手动安装

  1. 去官网下载并安装 www.oracle.com/technetwork...

  2. 双击 dmg 安装包, 点击下一步就行安装就行。安装完成后找到默认的 Java 安装路径, 例如我的是 /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk。如果是普通压缩包,则需要将其解压并移动至 /Library/Java/JavaVirtualMachines 目录中。

  1. 配置环境变量 使用 open -e .bash_profile 进行打开, 如果打开失败则先 touch .bash_profile 后重试一次, 拷贝以下内容
sh 复制代码
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

最后使用 source .bash_profile 刷新使配置生效。

进行验证是否安装对应版本,请键入 java -version 或者 java -version

brew 方式安装

  1. 去 HomeBrew 官网安装 HomeBrew。然后打开 shell 窗口,执行 brew update 以确保 HomeBrew 升级到最新版本。
  2. 打开 shell 窗口,输入 brew cask install java

linux 环境

可以使用包管理器进行安装,这里详细介绍手动安装。

目前 Java 官网下载需要注册账号了, 很恶心。可以选择三方的阿里的 dragonwell-jdk

sh 复制代码
wget https://dragonwell.oss-cn-shanghai.aliyuncs.com/8/8.4.4-GA/Alibaba_Dragonwell_8.4.4-GA_Linux_x64.tar.gz

# 解压对应的 tar.gz 或者 zip 文件
tar xf Alibaba_Dragonwell_8.4.4-GA_Linux_x64.tar.gz

复制到命令行后按下回车键执行追加写入命令。

sh 复制代码
cat >> ~/.bashrc << EOF
export JAVA_HOME=/path/to/<java>
export $JAVA_HOME/bin:PATH=$PATH
EOF

执行以下命令重新加载 .basbrc 文件(也可使用全局功能的 /etc/profile 文件)。

sh 复制代码
source ~/.bashrc

windows 环境

去官网下载并安装 www.oracle.com/technetwork...

下载后直接双击 exe 进行安装,设置 PATH 和 JAVA_HOME 配置到系统环境变量

注:CLASSPATH 环境变量在大于等于 JDK 5 以后可不用手动配置了。

快捷脚本

bat 复制代码
setx /M JAVA_HOME "C:\Progra~1\Java\<java>"
setx /M PATH "C:\Progra~1\Java\<java>\bin;%PATH%"

echo %PATH%
echo %JAVA_HOME%

java -version

选择 Java IDE

IntelliJ IDEA

www.jetbrains.com/idea/ 社区版免费, 企业版试用固定天数后收费。

Eclipse

下载地址 www.eclipse.org/downloads/

可按需选择 for Java Developer 或 Java EE 企业级开发版本。

vscode

vscode 也是有对 java 的支持的,目前少部分国外程序员就在使用它。

Netbeans

netbeans.org/ 国外用的较多,国内不太推荐

加餐

JDK 的多种选择

JDK Builds from Oracle jdk.java.net/


毕昇 JDK 目前只支持基于 OpenJDK。

bishengjdk-8: Bisheng JDK 8 is a high-performance, production-ready distribution of OpenJDK 8. gitee.com/openeuler/b...


Alibaba Dragonwell 是一款免费的, 生产就绪型 Open JDK 发行版,提供长期支持,包括性能增强和安全修复。

alibaba/dragonwell8: Alibaba Dragonwell8 JDK github.com/alibaba/dra...


Kona 是由腾讯专业 JVM 技术团队维护开发的,基于 OpenJDK 的,提供长期支持并按季度更新的 JDK 发行版本。Kona 目前作为默认 JDK 应用于腾讯云业务场景及其他 Java 应用场景。Kona 基于 OpenJDK,同时提供了更多的功能拓展及维护。通过腾讯 Kona,用户可以获得更为先进的功能及性能优化,提高用户和开发者的使用体验。目前,腾讯 Kona 仅支持 Linux x86-64 位系统。


Liberica 是一个 100% 开源 Java 实现。它是由 BellSoft 贡献的 OpenJDK 构建的,经过了彻底的测试,并通过了 OpenJDK 许可下 提供的 JCK。Standard 为常规用途,full版本包含 JavaFX,lite 为精简的 OpenJDK。文件体积 Full > Standard > lite。

Download OpenJDK builds of Liberica JDK, Java Linux, Windows, macOS | BellSoft Java bell-sw.com/pages/downl...


Amazon Corretto 是开放 Java 开发工具包 (OpenJDK) 的免费、多平台、生产就绪型发行版。Corretto 提供长期支持,其中包括性能增强和安全修复。亚马逊在内部的数千种生产服务上运行 Corretto,并且 Corretto 已被证明能够兼容 Java SE 标准。借助 Corretto,您可以在常用操作系统(包括 Linux、Windows 和 macOS)上开发和运行 Java 应用程序。 aws.amazon.com/cn/corretto...


下载 Microsoft Build of OpenJDK | Microsoft Learn docs.microsoft.com/zh-cn/java/...


Azul Zulu Builds of OpenJDK www.azul.com/downloads/?...


GraalVM JDK 是一个高性能的 JDK 发行版,它旨在加速用 Java 和其他 JVM 语言编写的应用程序的执行,同时还为 JavaScript、Python、基于 LLVM 的语言(如 C 和 C++)以及许多其他流行编程语言提供运行时。此外,GraalVM 为编程语言之间提供了高效互操作性,并将 Java 应用程序提前编译为本机可执行文件,从而加快启动时间并降低内存开销。 www.graalvm.org/downloads

记录

linux 下 Java 编码环境的设置

如果运行某些 linux 工具软件出问题(因为对中文编码支持有问题),可以尝试如下切换编码。

bash 复制代码
# 切换为中文编码
export LANG=zh_CN.GBK

# 切换为英文编码
export LANG=en_US

# 切换为 UTF-8 编码
export LANG=zh_CN.UTF-8

各种 OPTIONS 的区别

也许你经常遇到 JAVA_OPTS、_JAVA_OPTIONS 和 JAVA_TOOL_OPTIONS,那么他们有什么不同呢?

  • JAVA_OPTS:常用于一些应用的配置,如 Tomcat,但它一般不作为环境变量,也不能被 JVM 识别的,是那些应用的自定义配置;
  • _JAVA_OPTIONS:也是作为环境变量来替代命令行参数的,但它是 JVM 厂家自定义的,可以覆盖 JAVA_TOOL_OPTIONS,但各厂家的不同,_JAVA_OPTIONS 是 Oracle 的 JVM,而 IBM 的则是用 IBM_JAVA_OPTIONS。
  • JAVA_TOOL_OPTIONS:是标准的,所有虚拟机都能识别和应用的。

所以一般情况下使用 JAVA_TOOL_OPTIONS 即可。

有些应用不方便设置 JVM 参数,如命令行应用、通过 JNI(Java Native Interface)API 调用虚拟机的应用、脚本嵌入虚拟机中的应用等。这种情况环境变量 JAVA_TOOL_OPTIONS 就非常有用了,它会被 JNI API 的 JNI_CreateJavaVM 函数使用。

例如可以在系统环境变量中增加一个变量,变量名为: JAVA_TOOL_OPTIONS, 变量值为:-Dfile.encoding=UTF-8,保存,重新打开命令提示符,现在,再运行一次刚刚的程序即可。

JAVA_TOOL_OPTIONS 的经典用法是指定默认语言和默认区域设置,用于解决命令行导致中文乱码,

切换为中文环境

bash 复制代码
export JAVA_TOOL_OPTIONS="-Duser.language=zh -Duser.region=CN"

切换为英文环境

bash 复制代码
export JAVA_TOOL_OPTIONS="-Duser.language=en -Duser.region=US"

问答

Error:java: 无效的标记: --release

我目前使用的是版本 8,当我改成 11 后就 ok 了。

NetBeans安装提示neatbeans cannot find java 1.8 or higher

去 netbeans\etc 目录下的 netbeans.conf 配置文件里面配置 Java 路径

sh 复制代码
netbeans_jdkhome="C:\Program Files\jdk_11"

参考

相关推荐
逊嘘几秒前
【Java语言】抽象类与接口
java·开发语言·jvm
morris1317 分钟前
【SpringBoot】Xss的常见攻击方式与防御手段
java·spring boot·xss·csp
七星静香32 分钟前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
Jacob程序员33 分钟前
java导出word文件(手绘)
java·开发语言·word
ZHOUPUYU33 分钟前
IntelliJ IDEA超详细下载安装教程(附安装包)
java·ide·intellij-idea
stewie637 分钟前
在IDEA中使用Git
java·git
Elaine2023911 小时前
06 网络编程基础
java·网络
G丶AEOM1 小时前
分布式——BASE理论
java·分布式·八股
落落鱼20131 小时前
tp接口 入口文件 500 错误原因
java·开发语言
想要打 Acm 的小周同学呀1 小时前
LRU缓存算法
java·算法·缓存