Java的编译过程以及打印helloworld

首先需要安装jdk(Java SE Development Kit)

下载地址


安装后需要配置 环境变量 Path 添加上 jdk的路径
002.png
003.png
具体步骤可以百度


首先是在屏幕上输出hello,world的代码

public class helloworld{//注意这里的helloworld需要和文件名一致,否则会报错
    public static void main(String[] args){
        System.out.println("hello,world;" );    
    }
}

在cmd里用javac编译为class文件
004.png
cmd里面什么都没有返回的话就代表编译成功了
之后通过java命令启动JVM,由JVM来加载.class文件并运行
05.png
ok这里已经可以看到helloworld了


下面说一下java的编译过程

程序员所编写的是以.java为后缀的文件,此文件操作系统不能正确识别,因此,首先要经过编译,生成所谓的字节码文件(.class),而字节码文件需要JVM来提供运行环境的支持。
JVM是一个软件,安装在操作系统中,是建立在操作系统之上的,为字节码文件提供运行环境.
Java官方提供了针对不同平台的JVM软件,即:不同平台的JVM是不同的。但这些JVM遵循着相同的标准,即:只要是标准的.class文件,就可以在不同的JVM上运行,而且运行的效果相同。这样,就实现了所谓的“一次编程到处使用”。
Java程序遵循着先编译、后执行的原则。首先,通过javac命令将JAVA源程序(.java文件)编译为JAVA字节码(.class文件),而后,通过java命令启动JVM,由JVM来加载.class文件并运行.class文件。

注意:java并不是编译机制,而是解释机制
下面这段引用 _Cassie未联系作者,侵权可删
在java中有第一次编译,还有第二次解释来适应不同平台;根据不同的平台进行解释执行。在JVM中的第二次编译过程中(从字节码向机器码转换过程中)真正采用的是“解释”机制。即翻译一句,执行一句,不产生整个的机器代码程序。翻译过程如果不出现错误,就一直进行到完毕,否则将在错误处停止执行。
同一个程序,如果是解释执行的,那么它的运行速度通常比编译为可执行的机器代码的运行速度慢一些。但是,对Java来说,二者的差别不太大。
以下是查到的解释:Java的字节码经过仔细设计,很容易便能使用JIT 即时编译方式 编译技术将字节码直接转化成高性能的本地机器码,Sun 公司在 Java 2发行版中提供了这样一个字节码编译器——JIT(Just
InTime),它是Java虚拟机的一部分。Java运行系统在提供JIT的同时仍具有平台独立性,因而“高效且跨平台”对Java来说不再矛盾。如果把 Java的程序比做“汉语”的话,字节码就相当于“世界语”,世界语不和具体的“国家”关,只要这个“国家”提供了“翻译”,就可以再快速地把世界语翻译成本地语言。

一次编译,到处运行

Last modification:September 9th, 2017 at 05:46 pm
If you think my article is useful to you, please feel free to appreciate

One comment

  1. xiangli2341

    |´・ω・)ノ

Leave a Comment