繁体   English   中英

从理论上讲,JAVA程序是否需要JRE进行编译?

[英]Theoretically speaking, does a JAVA program need JRE to compile?

如果我们有一个独立的常规JRE,那么我们总是可以运行Java程序,但不能创建Java程序。 我知道在安装JDK时会包含JRE。 但是,为了清楚地了解这一点,在内部也是如此。 如果我有一个Java程序,而只需要用它制作一个.class文件,那么JRE可以在其中发挥任何作用吗? JRE的任何组件是否参与了编译过程,例如“ import <>。<>。*”语句等?

JRE(Java运行时环境)与许多组件保持一致,其中最重要的三个是:

  • JVM(Java虚拟机)
  • Java运行时库
  • java.exe (使用上述组件的Windows 1可执行文件,用于运行自定义Java代码)

JDK(Java开发工具包)与许多组件保持一致,其中最重要的三个是:

  • JRE(见上文)
  • Java编译器
  • javac.exe (用于运行编译器的Windows 1可执行文件)

因此,关于主要问题:

是否需要JRE来编译 Java程序?

好吧,不。 您只需要两件事即可编译Java程序:

  • Java编译器
  • Java运行时库

如果编译器本身不是用Java编写的,则不需要JDK或JRE。

但是,大多数Java编译器实际上是用Java编写的,因此它们也需要JVM,并且如果您同时需要JVM和运行时库,则获得这些的最佳方法是获取JRE,尽管任何JVM都可以。

那么,您需要JDK吗? 不需要。您只需要一个JRE和一个编译器,并且那里有很多好的编译器,例如Eclipse编译器,这是Tomcat使用的,因此不需要完整的JDK。

1)当然,对于非Windows,类似的java可执行文件。

需要编译时,只需要JDK,但是运行程序时,它需要JRE。 如果程序需要在运行时进行编译,则两者都需要。 如果只是编译程序,则只需要JDK,但是如果编译器是由Java制成的,则需要JRE。 这篇文章可以帮助运行JAR文件是否同时需要JRE和JDK?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM