Hello World
在学习一门编程语言时我们都会先写一个hello world,这里我们也一样来了解java程序是什么样的,以及其基本的原理。
首先我们新建一个hello_world文件夹在C盘(这里我的系统是win10),然后在txt文件中写如下代码,并讲该txt文件改为java后缀的java文件:
class hello_world {
public static void main(String[] args) {
System.out.println("hello world!");
}
}
然后我们在hello_world文件夹下打开cmd窗口,或者从cmd打开,跳转到hello_world目录。
接着执行javac命令生成java代码对应的class文件。

最后在hello_world目录下执行java hello_world就行。

如此便完成了一个java程序从编码到编译,再到运行得出结果的过程。
在这里针对第一次编写java的hello world程序的新人几个小提示:
- 代码需在全英文路径下,如果路径中有中文,或者在桌面(桌面的路径在windows里可以理解有中文)会导致编译不成功。
- 代码如果写了包路径,会导致直接使用javac编译不成功。
- 代码中的类名称必须与文件夹的名称一致。
- 执行javac命令需要带上文件名及后缀名,即:类名.java。
- 执行java命令时不要在路径、文件后缀名
Java代码编译的本质
概述:通过javac命令将java源文件编译成.class字节码文件,再通过java命令运行字节码文件,由java虚拟机对字节码进行解释和运行。
细究其本质:java代码是通过jdk的javac编译器,将 *.java文件转为 *.class,该过程称为编译器的前端(前端编译);然后字节码( *.class文件) 会由编译器转变为本地机器码,该过程称为Java虚拟机的即时编译运行期(JIT编译器,Just In Time),目前常见处理该过程的编译器有:HotSpot虚拟机的C1、C2编译器;最后JDK的Jaotc,即静态的提前编译器(AOT编译器,Ahead Of Time Compiler)会直接把程序变异成与目标及其指令集相关的二进制代码
更详细的原理可在对java有一定认知后再深入字节码相关的研究,这里就不深入。
1173

被折叠的 条评论
为什么被折叠?



