目录
前言
要想一个Java程序跑起来,电脑一定要先安装好JDK, 安装步骤可以点击链接查看JDK的安装
Java程序的运行步骤
在电脑上运行Java程序需进行3个步骤:
1. 编写Java程序
我们可以使用编辑文本文档的工具(比如记事本,Notepad++) 编写Java程序。既然这个文件记载的是Java的源代码,那么把文件的后缀改成 .java
以记事本或者Notepad++的形式打开HelloWorld.java文件,编写输出Hello World!程序。
2. 用javac命令编译Java文件
编译Java文件的目的是:把JVM (Java Virtual Machine) 不能理解的源代码文件 (.java文件) 翻译成JVM可以理解的字节码文件 (.class文件) 。 JVM具体是什么在运行class文件会提到。
编译文件需要用到JDK的bin文件中的 javac.exe
其中bin文件中存放了各种工具命令,比较重要的有 javac.exe 和 java.exe
javac.exe是JDK提供的一个编译工具,用来编译.java文件
java.exe是JDK提供的一个运行工具,用来运行.class文件,具体怎么运行,在运行class文件会提到。
如何使用javac.exe文件编译.java文件呢?在cmd中执行。
操作步骤:
- 在需要编译的.java文件的上方点击,
输入cmd之后回车
此时,cmd中直接显示了.java文件所在的路径,然后在cmd中输入命令来操作.java文件
可是javac.exe文件路径在C盘,如何在cmd中直接使用javac.exe文件来编译.java文件呢?此时配置环境变量的作用出现了。配置环境变量的操作步骤可以点击链接查看JDK的安装
配置环境变量的意义
虽然在安装JDK的时候,已经帮助我们配置了环境,包含了java.exe, javac.exe, javaw.exe 和 jshell.exe四个工具,但如果要使用JDK的bin文件中的其他工具,还是要手动配置环境变量。
配置环境变量的目的:方便操作系统找到和执行特定的可执行文件或命令。
在命令行中输入一个命令时,操作系统会根据配置的环境变量来查找并执行对应的可执行文件。如果环境变量设置正确,就可以在任意路径下执行该命令而无需指定完整的文件路径。
比如我要编译上面已经写好的HelloWorld.java文件,编译需要用到javac.exe文件,直接在HelloWorld.java文件的路径下输入javac 后面跟着当前文件路径下需要编译的文件名和.java后缀
回车执行,编译完成后,在HelloWorld.java文件上方出现HelloWorld.class文件。
.class文件的内容是字节码,字节码是源代码与二进制机器码的中间形式,此时还不能够在特定的操作系统和硬件平台上执行。
3. 用java命令运行Class文件
C语言的运行和Java的运行不同。
C语言文件编译之后成为二进制的机器文件,操作系统和硬件平台能直接运行编译好的C语言文件;
Java编译之后是class字节码文件,字节码是源代码与二进制机器码的中间形式,操作系统和硬件平台不能直接运行编译好的class文件,这时需要通过执行JDK中的java.exe命令 启动Java运行时环境JRE(Java Runtime Environment)中的Java虚拟机(JVM)并传递字节码文件作为输入,JVM将会加载并解释执行字节码,将其转换为特定操作系统的机器指令执行,最终达到运行class文件的效果。
在cmd运行class文件时,后面不写.class后缀
JDK, JRE 和JVM的关系
JDK:Java Development Kit 是Java开发工具包,包含JRE和开发工具,开发工具有javac,java,jdb…
JRE:Java Runtime Environment 是Java运行环境,包含了:
- JVM:Java Virtual Machine 是Java虚拟机,Java程序运行的地方。
- 核心类库:也就是JavaSE的标准类库,是Java已经写好的东西,可以直接用。
- 运行工具:用于执行Java程序和管理Java应用程序。
Java跨平台运行的原理
针对不同的操作系统安装不同的JDK,Java文件用javac编译后,用对应操作系统的JVM解释运行class文件,最后就可以在不同操作系统下运行相同的Java源代码。很符合Java的口号:Write once, Run anywhere
集成开发环境(IDE)存在的意义?
IDE(Integrated Development Environment,集成开发环境)
在cmd上编译,运行,调试等操作终究是麻烦的。
集成开发环境把编写代码,编译,运行,调试等多种功能综合到一起的开发工具,提高了程序员的开发效率,程序员只需关注写的代码和运行的结果就行。
比如我编写好了输出Hello world!的程序,只需点击Run,集成开发环境自动帮我编译和运行,得到运行结果。
完。