大白成为Java软件攻城狮的第二天(java程序的编译和运行、JDK、JRE、JVM的关系、环境变量、HelloWorld程序)

Java程序的编程阶段

1、Java的加载与执行

*Java程序的运行包括两个非常重要的阶段
-编译阶段
-运行阶段

*编译阶段

编译阶段主要的任务是检查Java源程序是否符合Java语法

符合Java语法则能够生成正常的字节码文件(.class)
不符合Java语法规则则无法生成字节码文件

字节码文件不是单纯的二进制,这种文件无法在操作系统中直接执行。
javac.exe(Java编译程序,在JDK中自带)
怎么使用?在哪用?
在DOS命令窗口中使用。
**javac的使用规则:**javac java源文件的路径

class文件是最终要执行的文件,所以class文件生成之后,java源文件删除也不影响java程序执行。
*编译结束后,可以将class文件拷贝到其他操作系统当中运行。【跨平台性】

*运行阶段
JDK安装之后,除了自带的javac.exe之外,还有另外一个工具,叫做java.exe,其主要负责运行阶段。

java.exe在哪里用?怎么用?
-在DOS窗口使用
-使用方法 输入 java 类名

java.exe命令会启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader
ClassLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件装载到JVM中。
JVM将A.class字节码文件解释成二进制。
然后操作系统执行二进制和底层硬件平台进行交互。

2、JDK、JRE、JVM的关系

JDK:开发者提供的开发工具箱,是给程序开发者用的,它包括完整的jre、Java运行环境,还包括了其他供开发者使用的工具包。

JRE: 运行时所必须的包依赖的环境都在jre中

JVM: 当我们运行一个程序时,JVM负责将字节码转换为特定机器代码,JVM提供了内存管理、垃圾回收和安全机制等,他独立于硬件和操作系统,正是java程序可以一次编写多处执行的原因

JDK目录的介绍:
JDK/bin: 该目录下存放很多命令,例如javac.exe和java.exe
javac.exe负责编译
java.exe负责运行

开发HelloWorld程序

//public表示一个公开的
//class表示一个类
//HelloWorld表示一个类名
public class HelloWorld{
     //表示定义一个公开的类,起名HelloWorld
//类体中不允许直接编写Java语句(除声明变量之外)
/*
	public表示公开的
	static表示静态的
	void表示空
	main表示方法名是main
	(String[] args)是一个main方法的形式参数列表
	需要记住的是:以下的方法是一个程序的主方法。是程序的执行入口,是一个固定编写方式。
*/
	public static void main (String[] args){
     //表示定义一个公开的静态的主方法
	//方法体
	//方法体

	//Java语句以";"终止,分号必须是半角分号
		System.out.println("Hello World!");//向控制台输出语句
	}
}

将HelloWorld.java源程序通过javac工具编译:
首先需要解决的问题是:javac命令是否可用
打开DOS命令窗口,直接输入javac

*重要
PATH环境变量的配置
*注意:path环境变量和java语言没有关系,path环境变量是属于windows操作系统的一个知识点。path环境变量是专门给windows操作系统指路的。·

你可能感兴趣的:(java,jvm,jdk,编程语言)