1、编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件。
2、编译:是指使用 Java 编译器对源文件进行错误排査的过程,编译后将生成后缀名为 .class 的字节码文件,不像C语言那样生成可执行文件。
3、运行:是指使用 Java 解释器将字节码文件翻译成机器代码,执行并显示结果。
字节码文件是一种和任何具体机器环境及 *** 作系统环境无关的中间代码。它是一种二进制文件,是 Java 源文件由 Java 编译器编译后生成的目标代码文件。编程人员和计算机都无法直接读懂字节码文件,它必须由专用的 Java 解释器来解释执行,因此 Java 是一种在编译基础上进行解释运行的语言。
Java 解释器负责将字节码文件翻译成具体硬件环境和 *** 作系统平台下的机器代码,以便执行。因此 Java 程序不能直接运行在现有的 *** 作系统平台上,它必须运行在被称为 Java 虚拟机的软件平台之上。
Java 虚拟机(JVM)是运行 Java 程序的软件环境,Java 解释器是 Java 虚拟机的一部分。在运行 Java 程序时,首先会启动 JVM,然后由它来负责解释执行 Java 的字节码程序,并且 Java 字节码程序只能运行于 JVM 之上。这样利用 JVM 就可以把 Java 字节码程序和具体的硬件平台以及 *** 作系统环境分隔开来,只要在不同的计算机上安装了针对特定平台的 JVM,Java 程序就可以运行,而不用考虑当前具体的硬件平台及 *** 作系统环境,也不用考虑字节码文件是在何种平台上生成的。
JVM 把这种不同软、硬件平台的具体差别隐藏起来,从而实现了真正的二进制代码级的跨平台移植。JVM 是 Java 平台架构的基础,Java 的跨平台特性正是通过在 JVM 中运行 Java 程序实现的。Java 的这种运行机制可以通过下图来说明。
Java 语言这种“一次编写,到处运行”的方式,有效地解决了目前大多数高级程序设计语言需要针对不同系统来编译产生不同机器代码的问题,即硬件环境和 *** 作平台的异构问题,大大降低了程序开发、维护和管理的开销。
提示:Java 程序通过 JVM 可以实现跨平台特性,但 JVM 是不跨平台的。也就是说,不同 *** 作系统之上的 JVM 是不同的,Windows 平台之上的 JVM 不能用在 Linux 平台,反之亦然。
java程序无法运行的几个原因:一. 系统存在问题(运行环境或配置问题):
很正常,当一个程序无法运行时,第一时间想到的是最大的一个问题:环境抑或系统出现了这样或那样的问题,人之常情。对这种问题,一般情况下很容易找到解决方案:找到曾经敲过的并且可以正常运行的代码再次运行一次,如果正常运行,则问题已经带到解决;如果该程序也无法正常运行,也不要果断的认为是系统问题,这时要多次运行曾经已经正常运行过的程序,如果都无法运行,则问题显而易见;如果只有一部分可以运行,则问题就复杂了很多(这种情况估计是科学所无法解释的),那接下来要做的就是逐一的排查系统问题了;反之,若这些都能运行,那么就不要再将那不如灯泡大的眼球聚焦于系统问题了。
二. 语法错误:
在Eclipse环境下编写的Java程序如果出现语法错误,很多稍微稍微了解这种软件的人都可以清楚地排查这种错误。
三.缺少主函数:
这种错误相对来说就比较的隐蔽了,至少在排查掉以上所列的两种错误后。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)