本文源自于【http://blog.csdn.net/kl222/article/details/16360759】
版权声明:本文为博主原创文章,未经博主允许不得转载。
这一节主要讲Java语言的特点、工作原理、编译方式。
java语言的特点:
- 解释型:java是一种解释型语言,相对于C/C++语言来说,效率较低。但它可以通过不同平台上的java解释器,对java代码进行解释执行。从而达到“一次编写,到处运行”。
- 可移植性:java写出来的程序可以在所有平台上运行,windows、linux、macos等。
java程序的运行机制和java虚拟机:
java源程序(.java)经过编译后生成与任计算机无关的“中间”代码(.class)。然后由计算机执行。这个计算机是一个java虚拟机(JVM)。jvm负责解释中间代码成目标设备代码。如下图:
从上图可以看出,java的可移植性是由jvm提供的。
前面已经搭建好了java开发环境。现在我们开始写第一个java程序——Hello World
建立java源文件Hello.java:
k@k-C410:/data/test$ vi Hello.java
注意:文件名必须与类名相同,注意大小写。
编译:
k@k-C410:/data/test$ javac Hello.java
编译后,会在当前目录产生Hello.class文件。
运行程序:
k@k-C410:/data/test$ java Hello
Hello World!
参数-verbose:用于显示加载动作。
java根据环境变量classpath设置查找执行类。jvm通过classpath查找加载类,默认情况下classpath指向当前目录。
好了,这个程序已经可以在linux下运行了。我们把Hello.class复制到windows下,看它是否可以正常运行。
c:>java Hello
Hello World!
ok!在windows下也可以运行。java工具实际上就是提供jvm的功能。
我们来javap工具分析下Hello.class文件。
k@k-C410:/data/test$ javap -sysinfo Hello.class
Classfile /data/test/Hello.class
Last modified 2013-11-17; size 416 bytes
MD5 checksum b6b5b761dbbe77827d73c5ea136c7727
Compiled from "Hello.java"
public class Hello {
public Hello();
public static void main(java.lang.String[]);
}
总结:
- 建立java程序源文件.java
- 用javac编译工具编译源文件(.java)成中间代码(.class)
- 用java工具解释并执行指定的类
参考: