j***a语言垮平台原理,j***a语言跨平台原理

kodinid 17 0

大家好,今天小编关注到一个比较意思的话题,就是关于java语言垮平台原理问题,于是小编就整理了3个相关介绍Java语言垮平台原理的解答,让一起看看吧。

  1. 简述JAVA的工作机制。为什么它能实现跨平台?
  2. 为什么大家都说Java,可以一次编译,到处运行呢?
  3. 怎么将编好java程序打包?

简述JAVA工作机制。为什么它能实现跨平台

因为j***a程序是用j***a虚拟机(JVM)执行的,不论是用什么平台开发的j***a代码,最终都会被转换成只被JVM识别的代码。 所以只要下载各个平台的j***a虚拟机就可以实现代码的跨平台运行

j***a的跨平台即跨操作系统的平台,也就是说你写的j***a程序不需要修改就可以在不同操作系统上运行windows,linux,unix,当然有个前提就是你的操作系统必须有j***a环境了,即安装了对应的jdk。应为j***a程序编译成class文件都交给JVM来处理了。

java语言垮平台原理,java语言跨平台原理-第1张图片-安济编程网
图片来源网络,侵删)

在j***a之前,跨平台是很痛苦的事情,主要是因为所有对于系统的调用,在不同的操作系统下结果都不一样,简单的来说,int长度在不同操作系统里面就不一样,甚至于连字节排列顺序都不同。调用同一个函数返回格式也不同,因此,写程序的人自己要对不同的系统非常了解如果真的需要对不同操作系统进行兼容,要在程序里面写很多if,编译的时候要先判断使用的操作系统,创造很多环境变量才能编译,而且编译好的二进制可执行文件只能在本系统上运行。如果你写的是个功能库供别人调用的,那么光对操作系统的判断就占了代码的绝大部分,而且,还要你在不同平台下进行测试,这可是个艰苦卓绝的工作。

自从有了j***a之后,就把操作系统兼容的工作丢给了jvm了,对于程序员来说就再也不要关心int有几位,还有高位在前还是地位在前的问题了,你只要用j***a的代码把你程序的逻辑实现出来就可以了,这些兼容的问题就交给jvm去处理吧。这样,如果你写一个程序交付给客户使用,如果客户的环境是运行AIX的,你就不需要在本地也装一个AIX来开发和运行,你可以在Windows上完成所有的开发,然后把编译好的文件交给客户就可以了,以后有别的客户需要在Solaris上运行这个程序,你都不用修改,直接拿过去就可以运行,很方便!只有被跨平台开发折磨过的人才能更深得体会到用j***a开发跨平台应用的优势。

为什么大家都说J***a,可以一次编译,到处运行呢?

这个“到处运行”是说任何平台上只要安装了JRE,就可以运行已经编译过的(不管是什么环境编译的)J***a程序。ps:如果在windows平台上运行,则通过windows平台上的j***a虚拟机(VM)进行解释

java语言垮平台原理,java语言跨平台原理-第2张图片-安济编程网
(图片来源网络,侵删)

如果运行在linux平台上,则通过linux平台上的j***a虚拟机进行解释执行。

所以说能跨平台“到处运行”,前提是平台上必须要有相匹配的j***a虚拟机。如果没有j***a虚拟机,则不能进行跨平台。

怎么将编好j***a程序打包?

在j***a里是没有EXE这个概念的,但实际仍然有很多人把j***a代码做成了EXE。 其实这是将J***a代码打包成jar后,用第三方工具对jar文件进行处理,加一个外壳,使其能有exe的样子。实际并没有太大价值,而且破坏了j***a的跨平台特性(生成exe后只能在Windows平台运行)。 值得说明,jar文件也能双击运行,跟EXE一样,只是后缀不一样而已。 在Eclips中打包j***a文件的步骤点击 文件-> 导出 即导出该项目到项目所在文件夹下的dist文件夹里 在Netbeans中点击 文件 -> 清理并生成 即生成该项目的jar压缩文件,在项目文件夹下的dist文件夹里 (导出、清理 都是生成jar文件,效果一样)

java语言垮平台原理,java语言跨平台原理-第3张图片-安济编程网
(图片来源网络,侵删)

到此,以上就是小编对于j***a语言垮平台原理的问题就介绍到这了,希望介绍关于j***a语言垮平台原理的3点解答对大家有用。

标签: j***a 跨平台 运行

上一个java语言标准版权,java的版权

下一个剪刀石头布c语言,剪刀石头布c语言程序设计