第3篇:Java程序执行原理简述

老王带你从0~1学Java!  Java基础内容、Java进阶内容以及Java面试题分享。无论你将来从事后端开发,还是从事大数据,亦或人工智能任一方向,Java基础一定要掌握好!

目录

1、第一个Java程序

2、Java程序执行流程

3、Java相关的几个术语了解

3.1 JDK

3.2 JRE

3.3 JVM


前一节我们学习了Java环境变量配置以及用IDEA 创建第一个Java工程。今天我们来学习用文本编辑器编辑Java程序。

1、第一个Java程序

第一步:新建一个文本文件,将文件名命名为HelloWorld.java。

第3篇:Java程序执行原理简述_第1张图片
第二步:编写Java源代码。

public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("helloworld");
  }
}

编辑文本可以用自己已安装软件。我用的是Notepad++。

第3篇:Java程序执行原理简述_第2张图片
 

第三步:编译源代码为字节码

“开始“,然后输入:cmd,进入到java文件所在目录下,执行命令:javac HelloWorld.java。

第3篇:Java程序执行原理简述_第3张图片

 编译之后, 我们得到了HelloWorld.class文件。在HelloWorld里面, 我们调用了 JAVA API中的 java.lang.System这个类的静态成员对象 out, out 的静态方法: public static void println(String string)。

第3篇:Java程序执行原理简述_第4张图片


第四步:运行HelloWorld。

输入命令:java HelloWorld。输出“helloworld”。

第3篇:Java程序执行原理简述_第5张图片

2、Java程序执行流程

第3篇:Java程序执行原理简述_第6张图片

我们先来简单了解一下这段代码大致执行流程:
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了。

在下一节内容,将给大家介绍虚拟机内存模型及运行原理。

你可能感兴趣的:(Java入门/实战/面试系列,java,开发语言)