首页 > 其他分享 >jdk8安装后两个文件夹,分别是jre、jdk表示什么?

jdk8安装后两个文件夹,分别是jre、jdk表示什么?

时间:2024-11-06 18:22:00浏览次数:3  
标签:jre Java javac jdk 开发工具 文件夹 jdk8

在 JDK 8 安装后,你会看到两个文件夹:jrejdk。它们分别代表:

  1. jdk (Java Development Kit)

    • 这是 Java 开发工具包,包含了开发 Java 程序所需的所有工具。
    • 其中包括编译器 (javac)、调试器 (jdb)、Java 文档生成工具 (javadoc)、Java 程序运行环境(java 命令)以及其他工具和类库。
    • 这是开发人员必需的文件夹,主要用于编写、编译和调试 Java 程序。
  2. jre (Java Runtime Environment)

    • 这是 Java 运行时环境,包含了运行 Java 程序所需的基础环境,但不包含开发工具(如编译器)。
    • 里面有 Java 虚拟机(JVM)、标准 Java 类库和其他运行时支持文件。它使你能够运行已经编译好的 Java 程序。
    • 如果只是想运行 Java 程序而不进行开发,你只需要安装 JRE

简而言之:

  • jdk 用于 开发 Java 程序(包括 JRE)。
  • jre 用于 运行 Java 程序。
    一般情况下,当你设置 Java 的环境变量时,应该使用 jdk 文件夹,而不是 jre 文件夹。原因如下:
  1. jdk 文件夹包含了 jre 的所有内容,而且它还包含了开发工具(如 javac 编译器等),这样你不仅可以运行 Java 程序,还可以编译和开发 Java 程序。

  2. jre 只是包含了运行时环境,不包含开发工具,因此如果只设置 jre,你将无法使用 javac 等开发工具。

一般情况下,当你设置 Java 的环境变量时,应该使用 jdk 文件夹,而不是 jre 文件夹。原因如下:

  1. jdk 文件夹包含了 jre 的所有内容,而且它还包含了开发工具(如 javac 编译器等),这样你不仅可以运行 Java 程序,还可以编译和开发 Java 程序。

  2. jre 只是包含了运行时环境,不包含开发工具,因此如果只设置 jre,你将无法使用 javac 等开发工具。

设置环境变量的步骤

你可以在终端中通过以下步骤设置 Java 环境变量:

1. 打开 .bash_profile.bashrc 文件

vim ~/.bash_profile

或者

vim ~/.bashrc

2. 设置 JAVA_HOMEPATH

在文件中添加如下内容(假设你的 JDK 安装路径为 /usr/lib/jvm/java-8-openjdk,请根据实际路径修改):

# 设置 JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk

# 将 JAVA_HOME/bin 添加到 PATH 中
export PATH=$JAVA_HOME/bin:$PATH

3. 保存并退出

保存文件后,执行以下命令使环境变量生效:

source ~/.bash_profile

或者

source ~/.bashrc

验证设置

执行以下命令来验证 Java 是否正确安装和配置:

java -version
javac -version

这将显示 Java 运行时和编译器的版本信息,确认环境变量已正确设置。

标签:jre,Java,javac,jdk,开发工具,文件夹,jdk8
From: https://www.cnblogs.com/ujbj/p/18530762

相关文章

  • 基于centos7制作JDK镜像以及字体安装
    1、编辑DockerfileviDockerfileFROMcentos:7MAINTAINERjdk8WORKDIR/usr/local/ADDjdk-8u371-linux-x64.tar.gz/usr/local/RUNln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeENVJAVA_HOME=/usr/local/jdk1.8.0_371ENVCLASSPATH=.:$JAVA_HOME/lib/dt......
  • OracleJDK与OpenJDK的区别(附带win11下多版本jdk安装)
    OracleJDK与OpenJDK的区别(附带win11下多版本jdk安装)在Java开发领域,OracleJDK与OpenJDK是两个常被提及的名词,它们都是Java开发工具包(JDK)的实现,但各自具有不同的特点和优势。在早期的java开发中(java8以前)默认使用的jdk都是Oracle公司的jdk,由于当时免费,被应用在大多数企业项目......
  • 一文搞懂JDBC全流程(含MySQL安装和JDK下载)
    前言:1.了解问题1:什么是JDBC?JDBC全称:JavaDatabaseConnectivity,即Java数据库连接JDBC是Java提供的一组独立于任何数据库管理系统的API。Java提供接口规范,由各个数据库厂商提供接口的实现,厂商提供的实现类封装成jar文件,也就是数据库驱动jar包。学习JDBC,充分体现了面向接口......
  • Jdk1.8 垃圾收集器分类及垃圾收集器选择思路
     根据运行方式JavaHotSpotVM包括三种不同类型的收集器分别是串行收集器、并行收集器和并发收集器,每种收集器具有不同的性能特征。 串行收集器使用单个线程来执行所有垃圾收集工作,这使得它相对高效,因为线程之间没有通信开销。它最适合于单处理器计算机,因为它无法利用多处理......
  • Java基础篇 (一)(JDK安装教程 零基础谁都可以学会!!!)
    前言大家好,我是小斜。俗话说的好,十年树木,百年树人。欲成大事,必须要坚持不懈努力。学习编程也一样,只有通过日积月累地学习才能有质的飞跃!我在这里给刚入门的大伙们提几点小建议:1.知行合一,编程归根结底就是要我们把思考出来的东西,再让它通过代码实现的一个过程。如果仅仅停留......
  • lombok 在 jdk 23 版本下javac无法编译问题, 解决方法
    问题现象Javadoc"cannotfindsymbol"errorwhenusingLombok's@Builderannotation 看到官方提交的代码ant在脚本中添加如下参数<propertyname="compiler.args"value="-J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED......
  • 【Java】使用JDK自带工具生成密钥对
    keytool介绍keytool是一个用于管理密钥和证书的命令行工具,通常随Java开发工具包(JDK)一起提供。您可以使用 keytool来生成密钥对、创建和管理密钥库、导入和导出证书等。`keytool`是一个用于管理密钥和证书的命令行工具,通常随Java开发工具包(JDK)一起提供。您可以使用`ke......
  • JDK和CGLIB动态代理技术的适用场景和特点
    区别项目JDK动态代理CGLIB动态代理代理原理基于接口(Interface)基于字节码生成(Subclassing)实现方式使用 java.lang.reflect.Proxy 类使用 net.sf.cglib.proxy.Enhancer 类被代理类要求必须实现一个或多个接口可以代理没有实现接口的类,可以是普通类......
  • JDK新特性--Stream流
    目录解释什么是Stream流以及它在Java中的作用?Stream流的概念Stream流的作用Stream流的使用示例注意事项描述StreamAPl中的中间操作和终端操作的区别?中间操作(IntermediateOperations)终端操作(TerminalOperations)解释并行流的概念及其优势?使用并行流时需要注意的事项:解释Stream......
  • 基于alpine制作jdk8基础镜像/解决时区问题
    在一次使用镜像部署项目中,发现推送的消息时间不是预设的,检查后发现是基础镜像时区不对导致。下面是自己制作基础镜像的简单记录,可参考制作更好的基础镜像,以支持快速部署。 1、拉取alpinedockerpull openjdk:8-jdk-alpine2、创建Dockerfile文件FROMopenjdk:8-jdk-alpine......