目录
前一节我们学习了Java环境变量配置以及用IDEA 创建第一个Java工程。今天我们来学习用文本编辑器编辑Java程序。
1、第一个Java程序
第一步:新建一个文本文件,将文件名命名为HelloWorld.java。
第二步:编写Java源代码。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("helloworld");
}
}
编辑文本可以用自己已安装软件。我用的是Notepad++。
第三步:编译源代码为字节码
“开始“,然后输入:cmd,进入到java文件所在目录下,执行命令:javac HelloWorld.java。
编译之后, 我们得到了HelloWorld.class文件。在HelloWorld里面, 我们调用了 JAVA API中的 java.lang.System这个类的静态成员对象 out, out 的静态方法: public static void println(String string)。
第四步:运行HelloWorld。
输入命令:java HelloWorld。输出“helloworld”。
2、Java程序执行流程
我们先来简单了解一下这段代码大致执行流程:
1) 虚拟机在ClassPath中找到HelloWorld.class。
2) 虚拟机中的解释器(Interpret)会把HelloWorld.class解释成字节码。
3) 把解释后的字节码(Byte-code)交由执行引擎(Execution Engin)执行。
4) 执行引擎会调用本地方法(Native Method 平台相关字节码)来在主机(Host System)的stdout(显示器)指定部分打印出"helloworld"字符串。
3、Java相关的几个术语了解
有了上面的流程后, 我们先大致了解JAVA开发相关的几个术语:
3.1 JDK
JDK是 Java 语言的软件开发工具包(JAVA API包),全称为java develop kit。主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
3.2 JRE
Java运行环境(Java Runtime Environment,简称JRE)是一个软件,JRE可以让计算机系统运行Java应用程序(Java Application)。JRE的内部有一个Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类别函数库(Class Library)。
我们的helloworld必须在JRE(JAVA运行环境,JAVA运行环境又叫JAVA平台)里面, 才能跑起来。 所以, 显然地, JRE其实就是JDK + JVM。
3.3 JVM
JVM(Java Virtual Machine)是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
简单地讲, 就是把class文件变成字节码, 然后送到执行引擎中执行。而为什么叫虚拟机, 而不叫真实机呢? 因为JVM本身是又不能运算, 又不能让显示器显示"helloworld"的, 它只能再调用主机的API, 比如在Win32里面就会调C++的API, 来让CPU帮他做做算术运算,来调用C++里面的API来控制显示器显示显示字符串。 而这些API不是JDK里面有的,我们平时又看不见的,所以我们就叫它Native API了。
在下一节内容,将给大家介绍虚拟机内存模型及运行原理。