java初识
JAVA初识
1.JDK,JRE和JVM
1.1 JDK(Java Development Kit,Java开发工具包)
Java开发工具包。顾名思义,JDK是用于Java开发的一套工具包,里面包含了Java的编译器javac、Java程序打包工具jar、Java程序运行环境JRE、文档生成工具javadoc以及很多用于开发的工具,如调试工具jdb等。
1.2 JRE(Java Runtime Environment,Java运行环境)
JRE是运行Java程序所需的环境,包括JVM以及Java类库等。JRE是Java程序运行的实施场所,同时也提供了运行Java程序所必需的库文件。
1.3 JVM(Java Virtual Machine,Java虚拟机)
JVM是Java运行环境的核心,它负责Java程序的运行。JVM是一个虚拟的计算机,它接收到字节码(编译后的Java程序),然后解释或编译执行。
1.4 关系
JDK是最大的,它包含JRE,而JRE又包含JVM。
-
JDK是为了满足Java开发人员的需要而创建的,其中包含开发工具和JRE。因此,如果需要编写Java程序就需要JDK。
-
JRE是为了运行那些已经编写好的Java程序而创建的,JRE中包含有JVM和Java类库,但是并不包含其他开发工具,因此,如果你只需要运行Java程序,那么你只需要JRE就可以了。
-
JVM就像一个桥梁,它负责将人编写的Java代码转化为机器可以运行的机器代码。
1.5区别
- JDK是开发工具,它让程序员编写Java程序。
- JRE是运行环境,它让编写好的Java程序可以被运行。
- JVM则是JRE的一部分,位于程序执行的最前沿,将字节码转化为机器代码。
2.JDK的安装配置
下载,安装
配置环境
配置系统变量 变量名一般用JAVA_HOME 变量值为jdk路径
在Path系统变量中添加%JAVA_HOME%\bin 和%JAVA_HOME%\jre\bin
完成后再命令提示符界面输入javac验证即可
3.Java编译和运行的命令
3.1 编译Java源代码
使用javac命令可以将Java源代码文件编译成字节码文件(.class文件)。
- 例:javac HelloWorld.java
将生成HelloWorld.class文件
3.2 运行Java程序
使用java命令可以运行Java程序。
- 例java HelloWorld
将执行HelloWorld类的main方法,并显示输出
3.3 显示Java版本信息
查看安装的Java版本信息,可以使用java -version命令
3.4 查看Java系统属性
使用java -D命令可以查看Java虚拟机的系统属性。
例:要查看Java虚拟机的默认编码,可以执行java -Dfile.encoding
3.5 JAR文件操作
Java中的JAR(Java Archive)文件是一种常见的归档文件格式,通常用于打包Java类文件和相关资源。以下是一些与JAR文件有关的常用命令:
- 创建JAR文件:
jar cvf MyJar.jar *.class
- 解压JAR文件:
jar xvf MyJar.jar
- 列出JAR文件内容:
jar tf MyJar.jar
3.6 查看线程和堆栈信息
可以使用以下命令来查看线程和堆栈信息:
- 查看线程信息:
jps
- 查看堆栈信息:
jstack <PID>
其中,< PID > 是进程ID,可以使用jps命令获取。
3.7 启动Java Mission Control
ava Mission Control(JMC)是一个用于监视和管理Java应用程序的工具。可以使用以下命令启动它:
jmc
这将打开JMC图形用户界面,允许您监视Java应用程序的性能和行为。
4.Java跨平台原理
ava 的 JAR(Java Archive)文件之所以能够跨平台运行,主要是由于 Java 的设计理念和运行时环境的特点。我们详细解析一下这个过程:
编写一次,处处运行:Java 的设计理念是“Write Once, Run Anywhere”(WORA),即在任何平台上都能运行同一段代码。为了实现这一点,Java 代码在运行之前会被编译成一种叫做字节码(Bytecode)的中间形式。
虚拟机(JVM):Java 字节码不是直接运行在硬件上的,而是在 Java 虚拟机(JVM)上运行的。JVM 是一个可以在各种硬件和操作系统平台上运行的软件,它负责解释和执行字节码。每个平台都有适配该平台的 JVM 实现,这样 Java 程序就可以在不同的平台上无缝运行。
JAR 文件:JAR 文件是一种压缩包,它包含了 Java 应用程序或库所需的类文件(以 .class 形式存在,即编译后的字节码文件)、资源文件和元数据。由于 JAR 文件中的内容是平台无关的字节码,所以它可以在任何安装了兼容的 JVM 的平台上运行。
标准库:Java 还提供了一套丰富的标准库(Standard Libraries),这些库在不同的平台上提供了一致的接口和实现。这意味着开发者可以使用这些标准库来编写应用程序,而不必担心平台的差异。
综上所述,JAR 文件之所以能跨平台运行,是因为 Java 的设计使其程序能够在任何安装了 JVM 的系统上运行,而 JAR 文件正是这种机制的一部分。这种设计极大地简化了软件的开发和部署过程,是 Java 成为流行编程语言的重要原因之一。
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现