centos7系统安装jdk

在 CentOS 7 系统上安装 JDK(Java Development Kit)主要有两种方式:使用 yum 命令安装开源的 OpenJDK,或者从 Oracle 官网下载并安装官方的 Oracle JDK

这里为你整理了一份清晰的安装指南,你可以根据自己的需求选择其中一种方法。

准备工作

在开始安装前,建议先检查系统中是否已经存在 JDK,如果有旧版本,可以根据需要进行卸载。

# 1. 检查系统是否已安装 JDK java -version # 2. 如果已安装并需要卸载(以 OpenJDK 为例),先查看具体包名rpm -qa |grep java # 3. 卸载(将包名替换为上一步查到的结果)sudorpm -e --nodeps 包名 

方法一:使用 yum 安装 OpenJDK (最简单、推荐)

这是最简单、最不容易出错的方法。OpenJDK 是 Java 的开源实现,足以满足绝大多数开发和运行需求 。

  1. 配置 JAVA_HOME 环境变量 (可选但建议)
    虽然 yum 安装的 JDK 可以直接使用 java 命令,但很多 Java 应用(如 Tomcat、Maven)需要通过 JAVA_HOME 环境变量来找到 JDK 的安装路径 。

验证 JAVA_HOME

echo$JAVA_HOME

使配置生效

source /etc/profile 

配置环境变量
编辑系统配置文件 /etc/profile

sudovim /etc/profile 

在文件末尾添加以下内容(请将 JAVA_HOME 的路径替换为你实际的路径):

exportJAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64 exportPATH=$JAVA_HOME/bin:$PATH# CLASSPATH 在现代 Java 开发中通常不需要手动设置,可以省略 

查找 JDK 安装路径

sudo alternatives --config java 

或者直接查看 /usr/lib/jvm/ 目录 :

ls /usr/lib/jvm/ 

记下显示的完整目录名,例如 java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64

验证安装
安装完成后,通过以下命令验证是否成功 :

java -version javac -version 

如果出现版本信息,说明安装成功。

执行安装命令
选择你需要的版本进行安装。例如,安装最常见的 JDK 1.8(即 Java 8)和 JDK 11 的命令如下 :

# 安装 JDK 1.8 (包含开发工具 devel)sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel # 安装 JDK 11# sudo yum install -y java-11-openjdk java-11-openjdk-devel
小提示-devel 包包含了编译 Java 程序所需的 javac 命令,如果只安装基础包,可能无法进行开发工作 。

查看可安装的 JDK 版本
你可以先搜索一下 yum 仓库中提供的 JDK 包 。

yum search java |grep -i --color jdk 

方法二:手动安装 Oracle JDK

如果你需要使用 Oracle 官方的 JDK 版本,可以按照以下步骤手动安装 。

  1. 下载 JDK 安装包
    访问 Oracle JDK 下载页面,接受许可协议,并下载适用于 Linux 的 .tar.gz 压缩包 。例如 jdk-8u391-linux-x64.tar.gz

使配置生效并验证

source /etc/profile java -version 

配置环境变量
与方法一相同,编辑 /etc/profile 文件,配置 JAVA_HOMEPATH。此时 JAVA_HOME 的路径应该是你的解压路径 。

sudovim /etc/profile 

在文件末尾添加:

exportJAVA_HOME=/usr/local/java/jdk1.8.0_391 exportPATH=$JAVA_HOME/bin:$PATH

上传并解压
将下载好的文件上传到你的 CentOS 服务器(例如使用 rz 命令或 scp),然后解压到指定目录,比如 /usr/local/java/

# 创建目标目录sudomkdir -p /usr/local/java # 解压文件到目标目录 (-C 参数指定解压目录)sudotar -zxvf jdk-8u391-linux-x64.tar.gz -C /usr/local/java/ 

总结与建议

  • 对于大多数情况,推荐使用方法一(yum 安装 OpenJDK),因为它简单、安全,且易于后续的版本管理 。
  • 如果因为项目特定要求必须使用 Oracle JDK,或者需要特定的小版本号,那么**方法二(手动安装)**会更合适 。
  • 无论哪种方法,安装完成后都建议配置 JAVA_HOME 环境变量,这能避免后续很多应用部署时的麻烦 。

Read more

【C++:C++11收尾】解构C++可调用对象:从入门到精通,掌握function包装器与bind适配器包装器详解

【C++:C++11收尾】解构C++可调用对象:从入门到精通,掌握function包装器与bind适配器包装器详解

🎬 个人主页:艾莉丝努力练剑 ❄专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬 艾莉丝的简介: 🎬 艾莉丝的C++专栏简介: 文章目录 * C++学习阶段的三个参考文档 * 8 ~> 包装器 * 8.1 function * 8.1.1 结构 * 8.1.2 概念 * 8.1.3 function实现 * 8.1.4 重写逆波兰表达式求值 * 8.2 bind

By Ne0inhk

【实战】Android JNI中C++高效打印Logcat日志的配置与优化

1. 环境准备与基础配置 在Android开发中,JNI(Java Native Interface)是连接Java和C++代码的桥梁,尤其在处理高性能计算或底层操作时非常实用。但很多开发者在C++层打印Logcat日志时会遇到性能问题或配置错误,今天我就来分享一套高效且稳定的配置方案。 首先,你需要确保开发环境正确配置。打开Android Studio,在SDK Manager中安装NDK(Native Development Kit)和CMake。NDK版本建议选择最新稳定版,避免兼容性问题。CMake则是构建C++代码的核心工具,以下是一个基础的CMakeLists.txt配置: cmake_minimum_required(VERSION 3.10.2) project("native-log") add_library( native-lib SHARED src/main/cpp/native-lib.cpp ) find_

By Ne0inhk
改造红黑树实现封装 map/set:感受C++ 标准容器的精妙设计与底层实现

改造红黑树实现封装 map/set:感受C++ 标准容器的精妙设计与底层实现

容器map/set的底层是红黑树,这一篇详解红黑树如何封装实现map/set。 1.map/set设计的巧妙之处 map是key/value类型,set是key类型,两个冲突的参数类型,是如何由红黑树封装而成? 暴力思路:两个红黑树,一个kv,一个k。可是这样代码复用率极低,维护成本高。 源码思路:利用 键提取器——仿函数 提取kv、k的key,用一颗红黑树实现map,set C语言一般用函数指针,但是它十分麻烦,C++有了仿函数就很方便 接下来在红黑树基础上封装map和set 2.map和set的实现 2.1map和set的基本框架 + 原红黑树结构变化 map是key、value结构,set是key结构:  既然我们要用一个红黑树封装实现map和set,那传的参数就得通用: 原本是K,V结构,现在,要改成通用的,就用T吧 T根据需要,可选择传pair<K,

By Ne0inhk
第十六届蓝桥杯省赛(软件类真题)C/C++ 大学A组

第十六届蓝桥杯省赛(软件类真题)C/C++ 大学A组

大纲: A.寻找质数 B:黑白棋 题目&解析&代码 A题 题目解析 本题的目标是枚举质数并计数,直到数到第2025个。由于2025不算太大,第2025个质数大约在17000~18000之间,完全可以在合理时间内通过简单枚举得到。 解题步骤: 从2开始遍历每个整数,判断它是否是质数。 质数判断采用试除法:对于一个数n,只需检查从2到√n的所有整数是否能整除n。若存在能整除的数,则n不是质数;否则是质数。 每找到一个质数,计数器加1。 当计数器达到2025时,输出当前的质数并结束。 优化点: 除了2以外,偶数不可能是质数,因此可以跳过偶数判断(直接步进2)。 在isPrime函数中,可以先处理特殊情况(n<2返回false),然后单独判断偶数,再对奇数进行试除,步进也可以设为2。 C++ 参考代码 以下代码实现了上述算法,并输出第2025个质数。 cpp

By Ne0inhk