CentOS7.9安装Java11

文章目录

    • Java11版本介绍
    • 安装步骤
      • 查看并卸载已有版本
      • 安装Java11最新版本
      • 配置生效
    • openjdk介绍

Java11版本介绍

  • Java 11Java编程语言的一个重要版本,于2018年9月发布
  • Java 11在语言特性、性能优化和安全性方面都有一些显著的改进,为Java开发者提供了更多的选择和便利
  • Java 11也是一个成熟稳定的版本,具有长期支持(LTS)的特性
  • Java 14Java的最新版本,与Java 11相比有一些新的功能和改进,但它不一定适合所有的应用和项目
  • 如果一个项目需要Java 14的新特性以及更多的性能和安全性改进,那么可以考虑使用Java 14
  • 如果一个项目不需要Java 14的新特性并且需要更长时间的支持和稳定性,那么建议使用Java 11

安装步骤

查看并卸载已有版本

  • CentOS7.9默认自带Java1.8环境,java -version可以看到已经安装了Java1.8
  • 也可以使用rpm -qa命令查看已安装的Java版本
# 查看
rpm -qa | grep java
rpm -qa | grep jdk

在这里插入图片描述

  • 如果需要Java11环境,要先卸载已有的,再去安装
# 批量卸载jkd8
rpm -qa | grep jdk | xargs rpm -e --nodeps
rpm -qa | grep java | xargs rpm -e --nodeps
  • 如果不卸载已有自带的jdk1.8,新的jdk11下载后,配置不会生效
    在这里插入图片描述

安装Java11最新版本

  • 搜索安装包,我们使用的是openjdk
  • 在8月24日,搜索到的最新Java11为:openjdk version "11.0.20" 2023-07-18 LTS
# 搜索安装包
yum search java-11-openjdk									
# 也可以不用搜索查找安装包,直接安装
yum install -y java-11-openjdk java-11-openjdk-devel

配置生效

  • 查找安装目录 which javals -l $(which java)
  • 如果显示的是/usr/bin/java,执行下面命令
ls -lr /usr/bin/java
# 按修改时间 倒序 列出当前工作目录下的所有文件的详细信息
ls -lrt /etc/alternatives/java
  • 输出:/etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64/bin/java
  • 通过yum方式安装默认安装在/usr/lib/jvm文件下
  • 上面的/usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64就是JAVA的安装路径
  • 修改JAVA_HOME/usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64(随着时间不同,小版本号会增加,以自己安装的为准)
  • 编辑/etc/profile文件,vi /etc/profile
  • 按" i "键进行编辑,设置环境变量,ESC退出编辑,:wq!保存内容
# Java Environment
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
  • source /etc/profile使环境变量生效

openjdk介绍

  • OpenJDK(Open Java Development Kit)是Java开发工具包(JDK)的一个免费开源实现,由Oracle基于Java平台标准版(Java SE)的规范开发和维护的
  • OpenJDK的目标是提供一个功能齐全且可移植的Java开发环境,它包含了许多基本的Java开发工具,例如Java编译器(javac)、Java虚拟机(JVM)、调试器(jdb)以及一些常见的类库(如java.lang和java.util等)
  • OpenJDK的代码是以GPL(GNU General Public License)许可证进行发布的,这意味着任何使用、修改和分发OpenJDK的代码都需要遵守GPL的要求
  • 同时,OpenJDK也提供了其他非GPL许可证的选项,例如LGPL(GNU Lesser General Public License)和BSD(Berkeley Software Distribution)许可证,以方便不同类型的使用者
  • 作为Java语言的官方参考实现,OpenJDK对Java生态系统的发展起到了重要的作用。它不仅是Oracle JDK的基础,也是其他许多Java虚拟机的基础,例如Azul Zing、Amazon Corretto等
  • 总的来说,OpenJDK是一种开源的Java开发工具包,它提供了完整的Java平台标准版实现,并且对于Java开发者和用户来说都是免费使用的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/52003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL每日一练--销售管理系统

一,创建数据库SaleSys 二,在数据库SaleSys中创建3张表 品牌信息表(brand) BrandId --品牌编号,整型,自动增长,主键BrandName --品牌名称,字符型, 唯一约束 商品表…

若依Cloud集成Flowable6.7.2

项目简介 基于若依Cloud的Jove-Fast微服务项目,集成工作流flowable(接上篇文章) 若依Cloud集成积木报表 项目地址:https://gitee.com/wxjstudy/jove-fast 后端 新建模块 目录结构如下: 引入依赖 前提:引入依赖之前先配置好maven的setting.xml &…

ES 7.6 - APi基础操作篇

ES7.6-APi基础操作篇 前言相关知识索引相关创建索引查询索引查询所有索引删除索引关闭与打开索引关闭索引打开索引 冻结与解冻索引冻结索引解冻索引 映射相关创建映射查看映射新增字段映射 文档相关(CURD)新增文档根据ID查询修改文档全量覆盖根据ID选择性修改根据条件批量更新 …

iOS开发之查看静态库(.a/.framework)中包含的.o文件和函数符号(ar,nm命令)

.a/.framework其实是把编译生成的.o文件,打包成一个.a/.framework文件。a的意思是archive/归档的意思。 查看静态库.a文件包含的内容用下面的命令解压: ar x xxx.a 用ar命令打包静态库: 参数r是将后面的*.o或者*.a文件添加到目标文件中 参数…

Python Opencv实践 - 图像直方图自适应均衡化

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/cat.jpg", cv.IMREAD_GRAYSCALE) print(img.shape)#整幅图像做普通的直方图均衡化 img_hist_equalized cv.equalizeHist(img)#图像直方图自适应均衡化 #1. 创…

js中?.、??、??=的用法及使用场景

上面这个错误,相信前端开发工程师应该经常遇到吧,要么是自己考虑不全造成的,要么是后端开发人员丢失数据或者传输错误数据类型造成的。因此对数据访问时的非空判断就变成了一件很繁琐且重要的事情,下面就介绍ES6一些新的语法来方便…

[Stable Diffusion教程] 第一课 原理解析+配置需求+应用安装+基本步骤

第一课 原理解析配置需求应用安装基本步骤 本次内容记录来源于B站的一个视频 以下是自己安装过程中整理的问题及解决方法: 问题:stable-diffusion-webui启动No Python at ‘C:\xxx\xxx\python.exe‘ 解答:打开webui.bat 把 if not de…

ARM-汇编指令

一,map.lds文件 链接脚本文件 作用:给编译器进行使用,告诉编译器各个段,如何进行分布 /*输出格式:32位可执行程序,小端对齐*/ OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm",…

StreamingWarehouse的一些思考和未来趋势

300万字!全网最全大数据学习面试社区等你来! 一篇笔记。 以Hudi、Iceberg、Paimon这几个框架为例,它们支持高效的数据流/批读写、数据回溯以及数据更新。具备一些传统的实时和离线数仓不具备的特性,主要有几个方面: 这…

Python“牵手”唯品会商品列表数据,关键词搜索唯品会API接口数据,唯品会API接口申请指南

唯品会平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范,唯品会API接口是指通过编程的方式,让开发者能够通过HTTP协议直接访问唯品会平台的数据,包括商品信息、店铺信息、物流信息等,从而实现唯…

CPU、MCU、MPU、SOC、SOCPC、概念解释之在嵌入式领域常听到的名词含义

CPU、MCU、MPU、SOC等几个在嵌入式领域学习过程中会涉及到的几个名词。我们来学习一下,资料从网上搜集的,有错的地方可以指出。。。 CPU、MCU、MPU、SOC、SOCPC、 1. CPU2. MPU3.MCUMPU和MCU的区别:4.SOC5. SoPC 1. CPU CPU,即中…

Spring之Spring生态系统的演进

未来展望:Spring生态系统的演进 未来展望:Spring生态系统的演进 摘要引言词汇解释详细介绍新技术趋势与影响开发方向与展望探讨Spring在未来的发展趋势微服务与云原生响应式编程强调开发效率和全栈式开发支持人工智能和大数据保持灵活性和创新性 针对新兴…

docker 内apt-get安装软件都不好使

报各种错误 apt-get install --no-install-recommends libboost-all-dev Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed:autoconf automake autotools-dev cpp-8 gc…

vue2 vue中的常用指令

一、为什么要学习Vue 1.前端必备技能 2.岗位多,绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能(Vue2Vue3) 二、什么是Vue 概念:Vue (读音 /vjuː/,类似于 view) 是一套 **构建用户界面 ** 的 渐进式 …

go:正确引入自己编写的包(如何在 Go 中正确引入自己编写的包)

前言 目录如下: 具体教程 1. 工作空间(我的是根目录)新建 go.work 文件 文件内容如下: go 1.21.0use (./tuchuang./tuchuang/testm ) 2. 添加go.mod文件 1. 包文件夹下 进入testm目录执行 go mod init testModule 2. 引用目…

设计模式——装饰器模式

装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 装饰器模式通过将对象包装在装饰器类中,以便动态…

java maven项目打jar包发布(精简版)

目录 一、maven打包 二、安装jdk环境 三、安装mysql 四、jar包传输到服务器 一、maven打包 先clean再package target文件夹下面有生成一个jar包 二、安装jdk环境 1、下载jdk cd /usr/local wget https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.…

数据库——事务,事务隔离级别

文章目录 什么是事务?事务的特性(ACID)并发事务带来的问题事务隔离级别实际情况演示脏读(读未提交)避免脏读(读已提交)不可重复读可重复读防止幻读(可串行化) 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务最经典也经常被拿出…

【PHP】基础语法变量常量

文章目录 PHP简介前置知识了解静态网站的特点动态网站特点 PHP基础语法代码标记注释语句分隔(结束)符变量变量的基本概念变量的使用变量命名规则预定义变量可变变量变量传值内存分区 常量基本概念常量定义形式命名规则使用形式系统常量魔术常量 PHP简介 PHP定义:一…

03ShardingSphere-JDBC读写分离

背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。 对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够…