当前位置:首页 > 虚拟机 > 正文

java虚拟机真的好吗(java虚拟机值不值得入手)

JAVA程序不能在虚拟机中运行吗?有没有办法来解决这个问题?有没有比UNIX更快的系统?大师

Java语言跨平台的根本原因在于Java虚拟机是跨平台的。Java的工作方式必须依赖JVM的支持。如果JVM消失了,那么Java源代码和类字节将被编译。代码文件无法被识别和执行。Java之所以能够在多个平台上一次编译运行,就是JVM的跨平台特性在起作用。至于直接运行的话,打包成exe程序就万事大吉了吧?

有什么问题可以问我。没问题。我希望他们能被接受。谢谢!

什么是JAVA虚拟机?电脑没有安装jdk可以运行JAVA程序吗?

Java虚拟机用于编译Java文件。无需安装JDK即可运行Java程序。只要有JRE,就可以运行Java程序。

安装JDK后还需要安装JAVA虚拟机吗?/

是的,安装JDK即可,因为JDK包含了Java虚拟机。

JDK安装目录下有一个jre目录,其中包含bin和lib两个文件夹。这里可以把bin看成是jvm,lib是jvm工作所需的类库,jvm和lib的组合就称为jre。

从这个角度来说,当你运行一个所谓的java程序时,真正运行的是一个叫做Java虚拟机的进程,而不是我们写的class文件。这个称为虚拟机的进程处理一些低级操作,例如内存分配和释放等。我们编写的类文件只是虚拟机进程执行所需的“原材料”。

这些“原材料”在运行时被加载到虚拟机中,由虚拟机解释执行,控制虚拟机实现我们java代码中定义的一些比较高级的操作,比如创建文件等,类文件中的信息可以认为是虚拟机的控制信息,是虚拟指令的一种。

扩展信息

编译后的class文件被放入Java虚拟机中,作为Java虚拟机的原材料。事实上,Java虚拟机内部有一个称为类加载器的子系统。该子系统用于在运行时根据需要加载类。注意上面句子中的四个字“根据需要”。

Java虚拟机在执行过程中,只有当需要某个类时,才会调用类加载器来加载该类,并不是在开始运行时就会加载所有的类。就像人一样,只有饿了才吃东西,而不是一次把胃里一年的食物全部吃掉。

摘要:

1.虚拟机并不神秘。从操作系统的角度来看,这只是一个正常的过程。

2.这个称为虚拟机的过程是相当特殊的。它可以加载我们编写的类文件。如果把JVM比作一个人,那么类文件就是我们吃的食物。

3.加载类文件的是一个称为类加载器的子系统。就像我们的嘴一样,我们将食物摄入胃中。

4.虚拟机中的执行引擎用于执行类文件中的字节码指令。就像我们的肠胃一样,它消化我们吃的食物。

5.虚拟机执行过程中,必须分配内存来创建对象。当这些对象变得过时且无法使用时,必须自动清理这些无法使用的对象。垃圾收集器负责清理对象并回收内存。就像人吃进去的食物一样,消化后,废物必须排出体外,以便在下次饥饿时腾出空间来进食和消化食物。