java程序不能执行?

java程序不能执行?,第1张

Java程序的运行过程(执行流程)分析

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 平台,反之亦然。

一般的浏览器中是无法通过js调用判滑本地java程序的,但是可以调用嵌入到网页的applet的方法。交互唤冲握方式如下:

<applet codebase = "." width = "400" height = "400"

name= "MyApplet" code = "test.applets.MyApplet1.class">

<script>

// js访问applet属性:document.appletName.appletField (属性必须是public的)

// js访问Applet方法:document.appletName.appletMethod (方法必须和庆是public的)

function showLable{

// 调用test.applets.MyApplet1类的invokeByJS方法

document.applets["MyApplet"].invokeByJS('myvalue')

}

</script>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12343781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存