Java的“一次编译到处运行”

Java的“一次编译到处运行”,第1张

JVM是一个java虚拟机,所谓的java虚拟机就是和普通的虚拟机一样,拥有自己的CPU,RAM之类的。我们所使用的 *** 作系统是Windows的 *** 作系统,Windows *** 作系统支持的可执行文件是EXE文件,也就是说在Windows的 *** 作系统上只有EXE的文件是可以直接被 *** 作系统解释为底层机器语言并进行运行的。而java虚拟机可以支持的是class的可执行文件,在java的虚拟机中遇到class的文件就可以直接翻译成java虚拟机所能是别的底层机器语言并进行执行。这就是JVM的机制,正是因为java的这种机制才实现了java的跨平台,在不同的平台上安装能够在相应平台上运行的虚拟机,然后在java虚拟机中运行java的源程序,“一次编译,多次执行”就此实现了。

所以java的跨平台是离不开虚拟机的支持的。虚拟机充当着java源程序和 *** 作系统之间的中间,不同的 *** 作系统只需要寻找相应的中介就可以实现在不同的 *** 作系统上运行。而java的编译只是吧java文件编译为class字节码文件而已,然后把字节码交给虚拟机去执行。

虚拟机在执行的时候是读一句字节码文件人后解释一句给 *** 作系统听,这就是为什么java是解释型的语言。

所谓的编译型的语言是指这种语言被编译之后生成的是可以直接供 *** 作系统执行的010101文件,像C,C++都是编译型的,java因为中间有JVM这么个东西所以是解释型的。

Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。

1挂载光驱(就是VMWARE安装目录下的linuxiso)

2mount /dev/cdrom /media/cdrom

3rpm -vih /media/cdrom/VMrpm

4输入vm,再按TAB补全,然后会出现:vmpl的文件了

1、首先,更改兼容性——右击vmware虚拟机图标——属性

一般我们都会创建一个快捷方式在桌面上,那么你只需要右击快捷方式即可,不用找到源程序所在的路径。右击——属性。

2、选择兼容性——win7

在属性面板中有一个兼容性的菜单,选择后将里面的以兼容模式运行改程序里卖弄改成win7系统即可。

3、勾选以管理员身份运行

在兼容性面板的最下面有一个以管理员身份运行,勾选。然后点击确定即可,运行一下你的vmware软件看看是否能够正常运行,如果可以的话那你就不用做下面的工作了如果不行那么你还需要手动打卡服务。

4、右击计算机——管理

如果你用的是win7系统,可能桌面上没计算机的图标,也可以到开始菜单直接搜索服务即可。

5、选择服务也应用程序——服务按钮

进入管理界面你就会看到这个选项,进入服务后系统中所有的服务都会战士出来。

6、找到vmware的服务,将其设置为自动启动并且开启服务即可

vmware的服务就是问题中提示的那个无法开启的服务,如图,将其改为自动然后开启即可,以后再开机的时候就会自动的启动,不会在影响我们的虚拟机的运行了。

看教程吧 对硬件的要求 最低硬件配置:CPU 赛扬17GHz、内存1GB、可用磁盘空间6GB、64MB显存独立显卡 推荐硬件配置:CPU奔腾4 24GHz、内存2GB、可用磁盘空间10GB、128MB显存独立显卡 从推荐配置来看要用虚拟机玩Vista需要有足够强悍的电脑,下面我们测试了几台电脑的使用情况,大家可以从测试结果中对比一下自己的电脑情况。 要在虚拟机中安装Vista *** 作系统的前提是你有自己的虚拟机,这就如同你要安装Windows XP要有自己的电脑一样,所以首先要做的是建立自己的第一台虚拟机。 1当Microsoft Virtual PC 2004(以下简称VPC)中没有任何虚拟机时,它会d出“新建虚拟机向导”对话框。由于是第一次运行,VPC自然会d出此向导,根据向导提示我们来完成新建虚拟机设置,在这里我们点击“下一步”按钮。 2在第二步“选项”对话框中,选择“新建一台虚拟机”项,执行“下一步”命令(图1)。 3在第三步输入你的虚拟机名称和虚拟机配置文件所存放的磁盘路径,在这里我们输入名称为“Vista”,并设置虚拟机配置文件到非系统分区,如D:。 4在“ *** 作系统”对话框中会根据你前面输入的虚拟机名称自动匹配一个 *** 作系统,由于我们输入的是“Vista”,VPC2004发布时还不认识Vista,所以就会出现“其它” *** 作系统字样,我们将它更改为最新的“Windows Server 2003” *** 作系统(如图2),继续“下一步”。 提示:根据笔者经验在这里选择什么类型的 *** 作系统只对默认内存大小有影响,对后面的系统安装及运行没有什么大的影响,大家尽可任意选择。 5现在来配置虚拟机的内存,要注意此内存并不是VPC软件运行时自身占用的内存,它是指虚拟机电脑运行时所使用的内存容量,假如你现在的内存为512MB,如果分配给虚拟机200MB内存,则你的现实电脑实际上只有312MB内存可供使用。由于Vista *** 作系统至少要求512MB的内存,所以我们在这里选择“更改分配内存大小”将它设置为512MB内存,当然前提是你的真实电脑物理内存在512MB以上,甚至1GB以上。 6现在再来配置虚拟机的硬盘,在此对话框中选择“新建虚拟硬盘”选项,点击“下一步”。 7在此确定虚拟硬盘所在的磁盘路径,由于默认的虚拟硬盘实际上是一个扩展名为“VHD”的文件,文件体积会根据你在虚拟机中所安装的软件而动态改变大小,Vista *** 作系统光是ISO镜像就有约242GB,笔者安装完毕后查看其虚拟硬盘文件体积达32GB。因此我们要给它一个足够大的空间以便它施展身手,按下“浏览”按钮将它存放到一个10GB以上的磁盘分区。 经过上述七步,我们便成功地建立了自己的第一台虚拟机,有了这台虚拟机就如同给自己新购置了一台电脑,可以用它来做许多事情。最后点击“完成”按钮结束建立工作。 完成建立自己的虚拟机相当于刚购买了一台“裸机”电脑,只有硬件而没有软件,当然 *** 作系统也没有,这就需要我们自己动手来为它安装 *** 作系统了。如果你是没有安装过 *** 作系统的菜鸟,恭喜你,选择虚拟机来安装 *** 作系统最合适不过,因为在虚拟机中进行任何 *** 作都不会影响到你的真实电脑,你尽可放心地在里面 *** 作。 1在“Virtual PC控制台”中双击建立的“Vista”虚拟机图标,运行虚拟机,这就相当于我们按下了自己电脑的电源开关。虚拟机中的一切都能让你找到真实电脑的影子,在后面的 *** 作中你会感受到这一点。 2这时会d出一个自检窗口,稍候片刻就会看到熟悉的开机画面了,在这里你可以按下Del键进入虚拟机的BIOS,进行相关设置,当然你也可以不对BIOS作任何更改。 3由于虚拟机光驱共享物理光驱,所以我们现在将自己刻录好的Windows Vista安装光盘放入DVD光驱中,然后执行“光驱→载入物理驱动器”命令,然后再执行“ *** 作→复位”命令重启虚拟机,稍等片刻就能在虚拟机运行窗口中看到 *** 作系统安装界面了。 4众所周知,VPC支持加载ISO镜像和从光盘ISO镜像启动,如果你不想为安装Vista刻一张DVD光盘或你没有安装DVD光驱的话,则可以直接用下载到的ISO镜像文件来安装。不过将下载得到的Windows Vista的安装ISO镜像在VPC中执行“光驱→载入ISO镜像”中加入时,VPC竟然提示“这个文件不是ISO镜像”(如图3),看来VPC不能很好地支持大容量DVD格式ISO镜像,现在不得不另谋它法了。 笔者首先在自己真实电脑 *** 作系统中安装了虚拟光驱软件DAEMON(下载地址: >

其实楼上已经说的很清楚了

cygwin

:

为windows提供一个感觉貌似linux的环境的工具集;

这些DLL文件就是linuxAPI提供接口层,有着数量巨大的linuxAPI功能

Cygwin

不是:

一种在windows运行的本地linux的方法如果你想在windows运行linux的程序,你必须重新从源文件创建应用程序

一种不可思议的让本地windows应用理解UNIX功能的方法,像信号,专利的方法当然,你必须从源创建你的应用,如果你想使用cygwin功能的优势

那么,这就是区别了,虚拟机提供的是真实模拟功能,也就是说不是单纯提供API,可能提供的是真实物理API,拿生活的例子解释吧,Cygwin就是小说,虚拟机就是**,一个是通过文字途径传达信息,一个是通过对真实环境的剪辑传达信息最根本的区别在一个在linux上提供的接口;一个是硬件上提供的接口模拟出的linux,就是真实意义上的linux

以上就是关于Java的“一次编译到处运行”全部的内容,包括:Java的“一次编译到处运行”、java虚拟机就是java解释器吗如果不是的话他们之间有什么区别和联系、我在VMware5.5中装了红旗linux6,为什么我在虚拟机里装不了VM TOOL,双击那文件总是出来程序源码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9306078.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存