- JDK、JRE、JVM的区别和联系
- 简述:JDK是开发Java程序所需的工具包,包含了JRE,并额外提供了开发工具和库。JRE是Java的运行时环境,包含了JVM。JVM是运行Java程序的虚拟机。
- 是什么:
- JDK**(Java Development Kit,Java 开发工具包)**:JDK 是用于开发 Java 应用程序的软件包,它包含了 JRE,同时还提供了编译器(javac)、调试器(jdb)、文档生成工具(javadoc)以及其他开发所需的工具和库。JDK 是给开发人员使用的,它提供了编写、编译和调试 Java 程序的一切必要组件。
- JRE**(Java Runtime Environment,Java 运行时环境)**:JRE 是 Java 应用程序的运行环境,包含了 JVM 和 Java 标准类库(Java API),它提供了 Java 程序运行所需的核心类库和支持文件。JRE 是给用户或最终用户使用的,它只包含运行 Java 程序所需的组件,不包含编译器和其他开发工具。
- JVM**(Java Virtual Machine,Java 虚拟机)**:JVM 是 Java 的核心组件之一,它是一个虚拟的计算机环境,负责在运行 Java 程序时解释和执行 Java 字节码。JVM 是跨平台的关键,它能够将编写的 Java 代码在不同操作系统上运行,将字节码翻译成与底层操作系统和硬件相匹配的机器码。同时,JVM 还负责内存管理、垃圾回收、线程管理等任务。
- 联系和区别:
- JDK是用于开发Java程序的工具包,包含了JRE,同时提供了编译器(javac)和其他工具。
- JDK针对开发人员和编写Java程序的环境,JRE最终针对用户和运行Java程序的环境。
- JDK包含了JRE,但是JRE没有包含JDK的开发工具部分。
- JVM是运行Java程序的虚拟机,JRE是包含JVM和Java标准类库的运行时环境。
![](https://i-blog.csdnimg.cn/blog_migrate/457292f867df685f42df5a06d853651d.png)
- javah是什么?
- javah是Java开发工具之一 ,用于生成与本地方法接口相关的头文件。
- 举个例子:
javah test.java
提问:.h文件是什么呢?
回答:在C和C++中,.h 文件是头文件(header file)的扩展名。
头文件包含了一些声明(如函数、变量等),但通常不包含实际的实现代码。
相反,它们提供了接口和定义,使得其他源文件可以使用这些声明,而无需了解其具体实现。
文件举例:
#include <jni.h>
#ifndef _Included_Example
#define _Included_Example
#ifdef __cplusplus
extern "C" {
#endif
JNIEXPORT void JNICALL Java_Example_nativeMethod
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
- 字面量
- 定义:在编程中,字面量(literal)是指表示特定类型的数据值的符号表达式。换句话说,它们是直接写在程序代码中的固定值
- 类型:
整数字面量:42、-10、0等等。
浮点数字面量:3.14、-0.005等等。
字符字面量:'A'、'b'等等。
字符串字面量:"Hello, World!"、"123"等等。
布尔值字面量:true和false。
空值字面量(在某些语言中):例如,null或None。
- dir命令
- 列出所有文件
- 相当于linux的ls
- System是Java关键字吗?
- System 不是Java的关键字,而是Java标准库中的一个类。它位于java.lang包中,因此不需要显式导入就可以在Java程序中使用。
- 需要注意的是,尽管System类不是Java的关键字,但它是Java的标准库之一,因此可以在所有Java程序中直接使用。