17c.5c.起草口:穿越时空的智慧,点亮未来的语言

核心内容摘要

2025年,王多鱼与韩婧格的“博雅”故事:一场关于爱、成长与选择的未竟之旅
张悠雨《魅惑》:一场穿越时空的音乐盛宴,让你沉醉于极致的感官体验

暗黑蘑菇17c:潜藏于未知边缘的神秘邀约

前言Java作为企业级应用的主流开发语言在Linux环境中安装配置JDKJava Development Kit是每个后端开发者、运维工程师的必备技能。

本文将详细对比OpenJDK与Oracle JDK提供APT/YUM包管理、手动安装、多版本管理三种主流安装方案涵盖环境变量配置、版本切换、性能调优等实战技巧助你快速搭建稳定的Java运行环境。

安装前准备选择合适的JDKJDK版本选择建议版本 类型 特点 适用场景OpenJDK 11 开源免费 LTS长期支持企业主流 生产环境首选OpenJDK 17 开源免费 最新LTS版本性能优化 新项目开发OpenJDK 8 开源免费 经典稳定生态成熟 旧系统维护Oracle JDK 商业授权 官方版本功能完整 商业项目系统环境检查bash

查看系统信息cat /etc/os-releaseuname -m # x86_6464位或i68632位

检查现有Java版本java -version 2/dev/null || echo “未安装Java”which java # 查看安装位置

清理旧版本如需sudo apt remove --purge openjdk-* # Ubuntusudo yum remove java-* # CentOS

方法一APT包管理器安装Ubuntu/Debian安装OpenJDK 11推荐生产环境bash更新包列表sudo apt update安装OpenJDK 11sudo apt install openjdk-11-jdk -y安装完整版包含源码和文档sudo apt install openjdk-11-jdk openjdk-11-source -y

安装OpenJDK 17最新LTSbashUbuntu

2

04默认包含JDK 17sudo apt install openjdk-17-jdk -y早期版本需添加仓库sudo add-apt-repository ppa:openjdk-r/ppa -ysudo apt updatesudo apt install openjdk-17-jdk -y

安装OpenJDK 8兼容旧项目bashsudo apt install openjdk-8-jdk -y如果找不到包先更新仓库sudo add-apt-repository ppa:openjdk-r/ppa -ysudo apt updatesudo apt install openjdk-8-jdk -y

安装Oracle JDK需官网同意协议bash添加Oracle JDK仓库sudo add-apt-repository ppa:linuxuprising/java -ysudo apt update安装Oracle JDK 17sudo apt install oracle-java17-installer -y安装时会提示接受许可协议

方法二YUM/DNF包管理器安装CentOS/RHELCentOS 8/RHEL 8安装OpenJDKbash查看可用的JDK版本dnf search openjdk安装OpenJDK 11sudo dnf install java-11-openjdk java-11-openjdk-devel -y安装OpenJDK 17sudo dnf install java-17-openjdk java-17-openjdk-devel -y安装OpenJDK 8sudo dnf install java-

1.

0-openjdk java-

1.

0-openjdk-devel -y

CentOS 7安装OpenJDKbash启用EPEL仓库可选sudo yum install epel-release -y安装OpenJDK 11sudo yum install java-11-openjdk java-11-openjdk-devel -y或安装OpenJDK 8sudo yum install java-

1.

0-openjdk java-

1.

0-openjdk-devel -y

安装Oracle JDKCentOSbash下载Oracle JDK RPM包wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm安装RPM包sudo rpm -ivh jdk-17_linux-x64_bin.rpm或使用yum安装本地RPM自动处理依赖sudo yum localinstall jdk-17_linux-x64_bin.rpm

方法三手动安装任意Linux发行版下载JDK安装包bash创建安装目录sudo mkdir -p /usr/lib/jvmcd /usr/lib/jvm下载OpenJDK以17为例从Adoptium下载原AdoptOpenJDKwget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-

17.

8%2B7/OpenJDK17U-jdk_x64_linux_hotspot_

17.

8_

tar.gz或从Oracle官网下载需登录wget --no-check-certificate --no-cookies --header “Cookie: oraclelicenseaccept-securebackup-cookie” https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz解压与安装bash解压下载的压缩包sudo tar -xzf OpenJDK17U-jdk_x64_linux_hotspot_

17.

8_

tar.gz重命名目录可选sudo mv jdk-

17.

87 jdk-17设置目录权限sudo chown -R root:root /usr/lib/jvm/jdk-

配置环境变量bash方法A修改/etc/profile系统全局sudo nano /etc/profile在文件末尾添加export JAVA_HOME/usr/lib/jvm/jdk-17export JRE_HOMEJAVAHOME/jreexportCLASSPATH.:JAVA_HOME/jre export CLASSPATH.:JAVAH​OME/jreexportCLASSPATH.:JAVA_HOME/lib:JREHOME/libexportPATHJRE_HOME/lib export PATHJREH​OME/libexportPATHJAVA_HOME/bin:$PATH使配置生效source /etc/profilebash方法B修改用户级配置/.bashrc或/.zshrcecho ‘export JAVA_HOME/usr/lib/jvm/jdk-17’ ~/.bashrcecho ‘export PATHJAVAHOME/bin:JAVA_HOME/bin:JAVAH​OME/bin:PATH’ ~/.bashrcsource ~/.bashrc

配置替代系统update-alternativesbash配置java命令sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17/bin/java 1sudo update-alternatives --config java # 选择版本配置javac编译器sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-17/bin/javac 1sudo update-alternatives --config javac配置jar打包工具sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk-17/bin/jar 1

多版本JDK管理与切换查看已安装的JDK版本bash查看update-alternatives配置sudo update-alternatives --display java查看所有Java安装ls -la /usr/lib/jvm/查看当前使用的Java版本java -versionwhich java

切换默认JDK版本bash交互式切换sudo update-alternatives --config java输出示例有 3 个候选项可用于替换 java (提供 /usr/bin/java)。

选择 路径 优先级 状态------------------------------------------------------------* 0 /usr/lib/jvm/jdk-17/bin/java 1 自动模式1 /usr/lib/jvm/jdk-11/bin/java 2 手动模式2 /usr/lib/jvm/jdk-8/bin/java 3 手动模式3 /usr/lib/jvm/jdk-17/bin/java 1 手动模式要维持当前值[*]请按回车键或者键入选择的编号2临时切换版本仅当前会话bash临时使用JDK 11export JAVA_HOME/usr/lib/jvm/jdk-11export PATHJAVAHOME/bin:JAVA_HOME/bin:JAVAH​OME/bin:PATH验证java -version

环境变量配置详解JAVA_HOME标准配置bash检测JAVA_HOME是否设置echo $JAVA_HOME如果没有JAVA_HOME自动查找设置if [ -z KaTeX parse error: Expected EOF, got # at position 24: …E ]; then #̲ 查找java命令位置 …(which java)if [ -n KaTeX parse error: Expected EOF, got # at position 28: …; then #̲ 解析JAVA_HOME …(dirname $(dirname $(readlink -f $JAVA_PATH)))export JAVA_HOMEfifi

完整环境变量配置示例bash~/.bashrc或/etc/profile中添加Java环境配置export JAVA_8_HOME/usr/lib/jvm/jdk-8export JAVA_11_HOME/usr/lib/jvm/jdk-11export JAVA_17_HOME/usr/lib/jvm/jdk-17设置默认JDKexport JAVA_HOME$JAVA_11_HOME添加PATHexport PATHJAVAHOME/bin:JAVA_HOME/bin:JAVAH​OME/bin:PATH类路径配置export CLASSPATH.:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/dt.jar:JAVAH​OME/lib/dt.jar:JAVA_HOME/lib/tools.jarJVM参数可选export JAVA_OPTS“-Xms512m -Xmx2g -XX:Us

GC -Dfile.encodingUTF-8”

配置生效检查bash重新加载配置source ~/.bashrc或source /etc/profile验证配置echo $JAVA_HOMEecho $PATH | grep java

验证安装与测试基础验证命令bash验证Java安装java -version期望输出包含openjdk version “

17.

8”

验证编译器javac -version验证完整安装which javawhich javacwhich jar

编写测试程序bash创建测试文件cat HelloWorld.java ‘EOF’public class HelloWorld {public static void main(String[] args) {System.out.println(“Java安装成功”);System.out.println(“Java版本” System.getProperty(“java.version”));System.out.println(“JAVA_HOME” System.getProperty(“java.home”));}}EOF编译运行javac HelloWorld.javajava HelloWorld

高级验证bash查看详细系统属性java -XshowSettings:properties -version 21 | grep -A 10 “java.home”检查JVM内存java -XX:PrintFlagsFinal -version 21 | grep -i heapsize验证JAVA_HOME是否正确$JAVA_HOME/bin/java -version

性能优化配置JVM内存参数调整bash生产环境推荐配置8GB内存服务器export JAVA_OPTS“-Xms4g -Xmx6g -XX:MaxMetaspaceSize512m -XX:Us

GC -XX:MaxGCPauseMillis200 -XX:ParallelGCThreads4 -XX:ConcGCThreads2”开发环境配置export JAVA_OPTS“-Xms512m -Xmx2g -XX:UseParallelGC”Tomcat配置示例catalina.sh中添加JAVA_OPTS“$JAVA_OPTS -server -Xmx2048m -Xms1024m -XX:MaxPermSize256m”

设置默认字符集bash避免中文乱码export JAVA_TOOL_OPTIONS“-Dfile.encodingUTF-8”或export JAVA_OPTS“$JAVA_OPTS -Dfile.encodingUTF-8 -Dsun.jnu.encodingUTF-8”

时区配置bash设置JVM时区为上海export JAVA_OPTS“$JAVA_OPTS -Duser.timezoneAsia/Shanghai”

故障排除指南常见错误解决bash错误1command not found: java解决检查PATH配置确保$JAVA_HOME/bin在PATH中错误2java.lang.UnsupportedClassVersionError解决JDK版本不兼容使用正确的JDK版本编译和运行错误3bash: /usr/bin/java: No such file or directory解决update-alternatives配置错误重新配置错误4权限不足解决使用sudo或检查文件权限sudo chmod -R 755 /usr/lib/jvm/jdk-*/

环境变量调试bash查看所有环境变量env | grep -i java查看命令解析路径type javawhich -a java # 显示所有java命令位置检查符号链接ls -la /usr/bin/javals -la /etc/alternatives/java

多版本冲突解决bash清除错误配置sudo update-alternatives --remove-all javasudo update-alternatives --remove-all javac重新配置sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-11/bin/java 1sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-11/bin/javac 1

生产环境最佳实践安装验证清单✅ 基础检查java -version 正确显示版本javac -version 编译器正常echo $JAVA_HOME 路径正确✅ 环境配置PATH包含$JAVA_HOME/binJAVA_HOME指向正确JDK目录update-alternatives配置正确✅ 权限与安全JDK目录权限为755使用专用用户运行Java应用定期更新安全补丁自动化安装脚本示例bash#!/bin/bashauto_install_jdk.sh - JDK自动安装脚本JDK_VERSION“11”INSTALL_DIR“/opt/jdk”echo “开始安装OpenJDK ${JDK_VERSION}…”根据系统选择安装方式if [ -f /etc/debian_version ]; then# Ubuntu/Debiansudo apt updatesudo apt install openjdk-KaTeX parse error: Expected EOF, got # at position 64: …se ]; then #̲ CentOS/RHEL …{JDK_VERSION}-openjdk-devel -yelseecho “不支持的系统请手动安装”exit 1fi配置环境变量echo export JAVA_HOME/usr/lib/jvm/java-JDKVERSION−openjdk−amd64 /.bashrcecho′exportPATH{JDK_VERSION}-openjdk-amd64 ~/.bashrc echo export PATHJDKV​ERSION−openjdk−amd64/.bashrcecho′exportPATHJAVA_HOME/bin:$PATH’ ~/.bashrcsource ~/.bashrcecho “安装完成”java -version

监控与维护bash查看Java进程jps -l # 查看所有Java进程监控JVM状态jstat -gc 1000 # 每秒监控GC情况堆转储分析调试内存泄漏jmap -dump:live,formatb,fileheap.bin线程分析jstack thread_dump.txt安装方法选择建议快速选择指南新手/开发环境 → 包管理器安装apt install openjdk-11-jdk生产环境 → 手动安装环境变量配置多项目开发 → 多版本管理SDKMAN或手动配置容器环境 → 使用官方Docker镜像docker pull openjdk:11-jdk版本选择建议企业生产OpenJDK 11 LTS稳定优先新项目开发OpenJDK 17 LTS功能最新旧系统维护OpenJDK 8兼容性优先商业项目Oracle JDK官方支持性能优化提示根据应用类型调整JVM内存参数启用合适的垃圾收集器G1GC推荐设置正确的字符集和时区定期更新JDK安全补丁最后提醒生产环境务必使用LTS版本配置完成后验证java -version定期备份环境变量配置使用工具监控JVM运行状态

暗网免费下载-暗网免费下载应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123