java exe是什么,javaserver64.exe是什么进程
这篇文章给大家聊聊关于java exe是什么,以及javaserver64.exe是什么进程对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
javaw.exe是什么文件怎么关闭
1、java.exe:
运行java程序
2、javac.exe:
编译的,生成.class文件
3、javaw.exe:
跟java命令相对的,运行java命令时,会出现并保持一个console窗口,
程序中的信息可以通过System.out在console内输出,而运行javaw,
开始时会出现console,当主程序调用之后,console就会消失;
javaw大多用来运行GUI程序
是你安装了什么基于Java的软件吧,象Lotus Notes,Eclipse等都有可能出现这种情况
javaserver64.exe是什么进程
javaserver64.exe是java运行时的进程。因为本地安装的64位的jdk,所以进程中带有64。
Java进程的建立方法:
在 JDK中,与进程有直接关系的类为 Java.lang.Process,它是一个抽象类。在 JDK中也提供了一个实现该抽象类的 ProcessImpl类,如果用户创建了一个进程,那么肯定会伴随着一个新的 ProcessImpl实例。同时和进程创建密切相关的还有 ProcessBuilder,它是在 JDK1.5中才开始出现的,相对于 Process类来说,提供了便捷的配置新建进程的环境,目录以及是否合并错误流和输出流的方式。
Java.lang.Runtime.exec方法和 Java.lang.ProcessBuilder.start方法都可以创建一个本地的进程,然后返回代表这个进程的 Java.lang.Process引用。
Runtime.exec方法建立一个本地进程
该方法在 JDK1.5中,可以接受 6种不同形式的参数传入。
Process exec(String command)
Process exec(String [] cmdarray)
Process exec(String [] cmdarrag, String [] envp)
Process exec(String [] cmdarrag, String [] envp, File dir)
Process exec(String cmd, String [] envp)
Process exec(String command, String [] envp, File dir)
他们主要的不同在于传入命令参数的形式,提供的环境变量以及定义执行目录。
ProcessBuilder.start方法来建立一个本地的进程
如果希望在新创建的进程中使用当前的目录和环境变量,则不需要任何配置,直接将命令行和参数传入 ProcessBuilder中,然后调用 start方法,就可以获得进程的引用。
Process p= new ProcessBuilder("command","param").start();
也可以先配置环境变量和工作目录,然后创建进程。
ProcessBuilder pb= new ProcessBuilder("command","param1","param2");
Map<String, String> env= pb.environment();
env.put("VAR","Value");
pb.directory("Dir");
Process p= pb.start();
可以预先配置 ProcessBuilder的属性是通过 ProcessBuilder创建进程的最大优点。而且可以在后面的使用中随着需要去改变代码中 pb变量的属性。如果后续代码修改了其属性,那么会影响到修改后用 start方法创建的进程,对修改之前创建的进程实例没有影响。
JVM对进程的实现
在 JDK的代码中,只提供了 ProcessImpl类来实现 Process抽象类。其中引用了 native的 create, close, waitfor, destory和 exitValue方法。在 Java中,native方法是依赖于操作系统平台的本地方法,它的实现是用 C/C++等类似的底层语言实现。我们可以在 JVM的源代码中找到对应的本地方法,然后对其进行分析。JVM对进程的实现相对比较简单,以 Windows下的 JVM为例。在 JVM中,将 Java中调用方法时的传入的参数传递给操作系统对应的方法来实现相应的功能。
jdk中两个重要可执行程序分别是什么
JDK是SUN公司提供的一套Java开发环境,
其中包含Java编译器、Java运行工具、Java文档生成工具、以及Java打包工具。
在JDK的bin目录下存放了很多可执行文件,其中最重要的就是java.exe和javac.exe、举例说明:
_正常我们编写好程序存放在源文件a.java中,之后会通过javac.exe(Java编译器工具)进行编译,编译完成后会生成a.class文件(字节码文件,是可执行的java程序),
_然后接下来java.exe(Java运行工具)会启动JVM(Java虚拟机)进程,Java虚拟机相当于一个小型的操作系统,它专门负责运行由Java编译器生成的字节码文件(a.class),从而使程序运行。
java.exe和javaw.exe的区别
jdk的java.exe和javaw.exe文件都可以运行由javac.exe编译出来的java文件,但是,这两个程序都是有区别的:
1、java启动的程序是命令行程序或阻塞程序,如果该程序未执行完毕或未被关闭,则所打开的命令行将被阻塞,不能执行其它命令如dir等,可以通过Ctrl+C等方式关闭程序;
2、javaw启动的程序是窗口程序或非阻塞程序,在使用该命令运行程序后,可接着在命令行中执行下一命令,且启动的程序与命令行无关不依赖命令行,不能通过Ctrl+C关闭。
也可以这样解释:
java.exe是win32控制台应用,javaw.exe是一个win32的GUI应用,这是它们的根本区别
这两句话的可以理解为当你用cmd控制台用这两个程序运行其他java程序的时候,java.exe运行的程序之后cmd控制台进入阻塞状态,正在运行的cmd控制台不能输入其他命令,而用javaw.exe运行java程序的话,控制台还可以输入其他命令,java.exe调用的是系统System.console即系统控制台,javaw.exe调用的是java的GUI库,当用java.exe运行java用户界面的时候,实际上是java.exe通过系统的控制台调用java的GUI库,所以通过系统控制台输出GUI界面,所以cmd是出于阻塞状态的。
文章分享结束,java exe是什么和javaserver64.exe是什么进程的答案你都知道了吗?欢迎再次光临本站哦!