您当前的位置: 首页 >  Java

星拱北辰

暂无认证

  • 0浏览

    0关注

    1205博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Java】辨析jvm.dll、java.exe、javaw.exe、javaws.exe

星拱北辰 发布时间:2020-03-06 10:03:17 ,浏览量:0

Eclipse运行程序

我们写的命令行程序和GUI程序,在Eclipse中运行程序,显示是使用了javaw.exe。

在这里插入图片描述 在这里插入图片描述

可是我们在刚接触Java的时候,基本只知道 java、javac 等命令,javaw 是什么?

本文讲解 java、javaw、javaws 三种命令。

java、javaw、javaws

先简单概括下三者的应用场景:

  • java 适用于小型Java应用程序,也可以做运行GUI等其他Java程序。
  • javaw 适用于Java的GUI程序,也可以运行普通命令行程序,与 java 类似。
  • javaws 是Web启动实用程序。

在这里插入图片描述

jvm.dll

我们顺便先了解一下 jvm.dll。这是Windows环境中实际的Java虚拟机实现,它是JRE的一部分。 C语言程序可以直接使用此 jvm.dll 来运行 jvm。

.dll 这种文件后缀,电脑中很常见,想必大家在学习OS的时候也接触过了,不熟悉的建议去看看。 在这里插入图片描述

java.exe

java.exe 是 Win32 控制台应用程序。它是作为帮助程序提供的,因此我们可以使用Java类来代替使用 jvm.dll。由于它是 Win32 控制台应用程序,因此显然与控制台相关联,并在执行时启动它。

java.exe 一般适合于启动小型应用程序,常用于命令行程序。

javaw.exe

javaw.exe 与 java.exe 非常相似,看起来像是双胞胎。javaw.exe 是一个Win32 GUI应用程序。它作为一个辅助程序,方便应用程序启动其自己的GUI窗口,而不会启动控制台。每当我们想要运行基于GUI的应用程序且不需要Console时,我们都可以将其用作应用程序启动器。

例如,要启动Eclipse,将使用此javaw.exe(前面也说了这个事)。

也可以编写一个小型Java-GUI的HelloWorld程序,并使用CMD输入"javaw HelloWorld”命令运行,就能看到GUI启动。 javaw一样可以运行普通命令行程序,此时感觉和java一样。

javaws.exe

javaws.exe 用于启动通过Web分发的Java应用程序。我们有一个与此应用程序关联的 jnlp_url。我们可以使用 “javaws jnlp_url” 启动该应用程序。它从URL下载应用程序并启动它。将应用程序分发给用户并提供集中控制以提供更新,并确保所有用户都使用最新软件,非常有用。当应用程序被调用时,它被缓存在本地计算机中。每次启动时,它都会检查分发服务器是否有可用的更新。

实战辨析java和javaw

举个例子辨析一下java和javaw吧!

编写简单的GUI程序代码
import javax.swing.*;

public class HelloWorldSwing {
    private static void createAndShowGUI() {
        JFrame jFrame = new JFrame("HelloWorld Swing");
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JLabel helloLabel = new JLabel("Hello World!");
        jFrame.getContentPane().add(helloLabel);
        jFrame.pack();
        jFrame.setVisible(true);
    }

    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

我们可以同时使用 java.exe 和 javaw.exe 在命令行执行上述GUI应用程序。

结论

使用 java.exe 启动时,命令行将等待应用程序响应,直到其关闭。此时关闭命令行就是终止GUI程序的执行。 使用 javaw.exe 启动时,应用程序启动,命令行立即退出,并准备好下一条命令。此时关闭命令行不会终止GUI程序的执行。

(截图不方便,就没截,自己试试就好啦!)

关注
打赏
1660750074
查看更多评论
立即登录/注册

微信扫码登录

0.0463s