目录
前两章介绍了如何安装java开发工具包,本章讲java的运行基本原理,及如何用记事本手工写一个java代码,并运行。
一、程序是什么
把你想让计算机做的事用编程语言一条条列出就是程序
我在《hualinux 编程概念 3.3:程序是怎样路起来的(照顾新人)》做了详细的介绍,有兴趣的可以看一下。
二、java程序是怎么运行的
2.1 java运行的基本原理
我这里就用一个图简单表示一下:
源代码:
这里是指我们直接用java语言写的代码,并保存后缀为.java就可以了。
这里写代码可以使用任何文本工具,我这里就使用最简单的记事本
字节码:
由源代码编译生成的.class文件,一般的编程语言是直接编译最后生成二进制可执行文件的,比如c/c++,java为了可移植性,选择了使用生成一个二进制的中间码,这个中间码叫字节码,主要是供jvm虚拟机执行。
JVM(java虚拟机)
下图是jvm基础结构:
从上图可以看出jvm是用来读.class文件的。
jvm封装了一组自定义的字节码指令集,有自己的程序计数器和执行引擎,像 CPU 一样,可以执行运算指令。它还像操作系统一样有自己的程序装载与运行机制,内存管理机制,线程及栈管理机制,看起来就像是一台完整的计算机,这就是 JVM 被称作 machine(机器)的原因。
2.2 java主要的两个命令
前两章我们在讲jdk中有2条关键的命令就是java和javac
javac:主要是编译.java文件的,后面接.java后缀,源文件
java:主要是运行java程序的,查看帮助可以用--help,后面接.class后缀,类文件
三、用记事本运行一下java程序
3.1 使用记事本编写java代码
如果要运行一个java程序,可以看一下《java教程》我觉得不错,可以看一下,先不看也行,直接着我操作就行
3.1.1 编写java代码
打开记事本,写如下代码
public class Hello {
/* 第一个Java程序
* 它将打印字符串 Hello java
*/
public static void main(String []args) {
System.out.println("Hello java"); // 打印 Hello World
}
}
如下图所示:
写好之后,另存为Hello.java文件,我这里放在d:/test目录下
注意:文件名要和代码中class后面跟的名字要一样!大小写也要一样!
比如我上面的是Hello,你不能另存为hello.java,也不能为test1.java,一定要一模一样!
3.1.2 使用javac命令进行把源文件编译为类文件
“开始菜单”-->"运行"-->“cmd”回车,我的代码放在d:/test目录下,所以用命令进行目录
d:
cd tesst
javac Hello.java
3.2 效果
dir
java Hello
运行命令和显示效果如下图所示:
PS:虽然我们可以直接用任何文本工具写java代码,但是如果java代码很多,很复杂的话就要用到专业级的开发工具了,我们称它们为ide。
常见的IDE有:Eclipse(免费)、MyEclipse(收费)、idea(有免费的社区版和商业版),个人推荐使用idea