当前位置: 首页 > 编程笔记 >

Windows下java、javaw、javaws以及jvm.dll等进程的区别

汲涵育
2023-03-14
本文向大家介绍Windows下java、javaw、javaws以及jvm.dll等进程的区别,包括了Windows下java、javaw、javaws以及jvm.dll等进程的区别的使用技巧和注意事项,需要的朋友参考一下

java  ,javaw   和  javaws 的区别:
首先,所有的这些都是java的启动装置,java.exe经常使用,当使用命令行输出到window的时候,会有java.exe进程,通过任务管理器可以看到。通常 我们执行一些小的java程序的时候会有 java.exe进程在运行。javaw.exe对于我们也比较特殊,我们也能够通过任务管理器看到javaw.exe进程的运行。javaws通常web开启的时候的进程。

jvm.dll

jvm.dll是一个java虚拟机在windows平台环境上的实现,也是JRE的一部分,一个C程序能够使用jvm.dll直接运行在jvm上。

java.exe

java.exe是win32控制台应用,它提供了一种帮助,代替使用jvm.dll执行java  classes 文件,作为一个win32控制台应用,显然他是和一个控制台相关联,当执行java classes的时候,它运行。

javaw.exe

javaw.exe是相似的和java.exe  是一个win32的GUI应用,应用提供自己的GUI窗口,不启用控制台。

因此我们想运行一个GUI程序不需要命令控制台。

下面是一个例子:


package javaw;

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();             }         });     } }

上面是一个GUI程序,按照如下方式运行就是在控制台上运行:


java -classpath . javaw.HelloWorldSwing


 解释:其中 -classpath .  代表把classpath 的路径设置为当前目录。
运行后查看任务管理器出现了 java.exe进程   ------ 因为这是通过控制台运行的。
图如下:

如果在eclipse中直接运行:运行后 查看任务管理器出现 javaw.exe进程  --因为没有通过控制台输出运行。
图如下:

如果用javaw通过命令行运行也是如上图所示:

注:

javaw -classpath . javaw.HelloWorldSwing  启动的进程为javaw.exe
java -classpath . javaw.HelloWorldSwing  启动的进程为java.exe

java.exe  和 javaw.exe两种运行方式的区别还有一点  java运行GUI以后堵塞在那里直到窗口关闭。

javaw运行GUI后 直接就可以进行下一条命令的运行了。

javaws.exe

javaws.exe进程适用于启动通过web 配置的程序,简而言之就是在web应用程序中应用。

总结:
java.exe用于启动window console  控制台程序
javaw.exe用于启动 GUI程序
javaws.exe用于web程序。
jvm.dll就是java虚拟机规范在windows平台上的一种实现

 类似资料:
  • 本文向大家介绍java和 javaw 及 javaws的区别解析,包括了java和 javaw 及 javaws的区别解析的使用技巧和注意事项,需要的朋友参考一下 java  ,javaw   和  javaws 的区别: 首先,所有的这些都是java的启动装置,java.exe经常使用,当使用命令行输出到window的时候,会有java.exe进程,通过任务管理器可以看到。通常 我们执行一些小的

  • 问题内容: 使用java.exe,javaw.exe和jvm.dll运行应用程序(例如Eclipse)有什么区别?而且,它在性能方面有什么不同吗? 问题答案: 是JVM的实际Windows实现(或者更好的是,主要入口点)。C或C ++应用程序可以使用此DLL来运行嵌入式Java运行时,这将允许该应用程序直接与JVM交互,例如,如果他们想将Java用于其GUI。 是DLL的包装,以便人们可以实际运行

  • 问题内容: 我想在Windows中杀死特定的Java进程,例如在Linux中(获取processid然后杀死该进程)。 问题答案: 您可以使用JRE中包含的实用程序来查找Java进程的进程ID。输出将显示可执行JAR文件的名称或主类的名称。 然后使用Windows任务管理器终止该过程。如果要在命令行上执行此操作,请使用

  • 本文向大家介绍Java如何获取当前进程ID以及所有Java进程的进程ID,包括了Java如何获取当前进程ID以及所有Java进程的进程ID的使用技巧和注意事项,需要的朋友参考一下 首先是获取当前Java运行的Java进程ID,这个是网上常见的,也就是Java程序自身将进程ID打印出来: 运行结果: ManagementFactory是一个在运行时管理和监控Java VM的工厂类,它能提供很多管理V

  • 本文向大家介绍Windows下PyMongo下载及安装教程,包括了Windows下PyMongo下载及安装教程的使用技巧和注意事项,需要的朋友参考一下 PyMongo下载 PyMongo下载地址: http://pypi.python.org/pypi/pymongo/#downloads 当前可下载选项: PyMongo安装 安装pymongo-1.11.tar.gz 解压之后,cmd运行语句:

  • 问题内容: 这与另一个用户先前提出的问题有关,该问题询问如何在EclipseIDE中检测代码是否正在运行。 我注意到Eclipse总是使用而不是来启动程序。(这并不意味着启动的程序是从Eclipse启动的)。 我可以找到使用传递的参数 但这并不能告诉我它是使用还是启动的。 有没有办法找出它是使用还是启动的? 为什么Eclipse用于启动程序? 问题答案: System.console()将返回,因