根据项目需求和系统兼容性选择Java版本:
sudo apt install openjdk-17-jdk(Ubuntu/Debian)或sudo yum install java-17-openjdk-devel(CentOS/RHEL)安装。环境变量是Java运行的基础,需重点关注以下几点:
JAVA_HOME:指向JDK安装根目录(如/usr/lib/jvm/java-17-openjdk-amd64),为IDE和中间件提供基础路径;PATH:添加$JAVA_HOME/bin,确保java、javac等命令全局可用;CLASSPATH:现代Java(JDK 11+)通常无需手动设置(默认包含当前目录.)。~/.bashrc或~/.zshrc,仅当前用户生效;/etc/environment或/etc/profile.d/java.sh,所有用户生效。source ~/.bashrc(或对应文件),通过echo $JAVA_HOME(应显示安装路径)、java -version(应显示版本信息)、javac -version(验证编译器)确认配置正确。若系统安装多个Java版本(如JDK 11、17),可通过以下方法快速切换:
update-alternatives工具(系统自带):sudo update-alternatives --config java,选择对应版本的序号即可切换;~/.bashrc中添加以下脚本,通过switch_java命令切换版本:# Java版本管理
export JAVA_HOME_11=/usr/lib/jvm/java-11-openjdk-amd64
export JAVA_HOME_17=/usr/lib/jvm/java-17-openjdk-amd64
export JAVA_HOME=$JAVA_HOME_17 # 默认使用JDK 17
export PATH=$JAVA_HOME/bin:$PATH
function switch_java() {
version=$1
case $version in
11) export JAVA_HOME=$JAVA_HOME_11 ;;
17) export JAVA_HOME=$JAVA_HOME_17 ;;
*) echo "Usage: switch_java [11|17]" && return 1 ;;
esac
export PATH=$JAVA_HOME/bin:$PATH
echo "Switched to Java $version"
java -version
}
function which_java() {
echo "Current Java version:"
java -version
echo "JAVA_HOME=$JAVA_HOME"
}
执行source ~/.bashrc后,可通过switch_java 11(切换至JDK 11)、which_java(查看当前版本)管理版本。根据应用类型(如Web服务、大数据处理)调整JVM参数,优化内存和垃圾回收:
-Xms(初始堆大小)、-Xmx(最大堆大小)限制堆内存,避免频繁扩容。例如:-Xms2G -Xmx4G(初始2GB,最大4GB);-XX:+UseG1GC);-XX:+UseParallelGC);java -Xms2G -Xmx4G -XX:+UseG1GC -jar myapp.jar
生产环境中,可将这些参数写入Tomcat的catalina.sh(CATALINA_OPTS)或Spring Boot的application.properties中。优先使用系统包管理器(如apt、yum)安装Java,避免手动下载和解压:
sudo apt update
sudo apt install openjdk-17-jdk # 安装OpenJDK 17
sudo apt install oracle-java17-installer # 安装Oracle JDK 17(需添加PPA)
sudo yum install java-17-openjdk-devel # 安装OpenJDK 17
包管理器会自动处理依赖和系统更新,确保Java版本安全。配置完成后,务必通过以下命令全面验证:
java -version(应显示安装的Java版本);javac -version(确认JDK安装完整);echo $JAVA_HOME(应显示JDK根目录)、echo $PATH(应包含$JAVA_HOME/bin);Hello.java(public class Hello { public static void main(String[] args) { System.out.println("配置成功!"); } }),执行javac Hello.java && java Hello,应输出“配置成功!”。PATH是否包含$JAVA_HOME/bin,或执行source命令使配置生效;sudo update-alternatives --config java切换版本,或修改JAVA_HOME路径;~/.bashrc而非/etc/profile),并执行source命令;JAVA_HOME一致(如jdk-17.0.8),避免路径错误。