问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

javaserver64.exe是什么进程

发布网友 发布时间:2022-04-30 16:10

我来回答

2个回答

热心网友 时间:2022-06-27 03:24

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 中调用方法时的传入的参数传递给操作系统对应的方法来实现相应的功能。

热心网友 时间:2022-06-27 03:25

将java程序打包注册成windows系统服务的工具。
安装
将JavaService-2.0.10.zip解压缩到C:\JavaService目录下。(其实任意目录下都可以)

3 编写java类(测试用)
Java代码
import java.io.*;
import java.text.*;
import java.util.*;

public class Test
{
public static void main(String[] args) throws Exception
{
PrintWriter out=new PrintWriter(new FileWriter("d:\\javaTest\\test.log",true),true);
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
out.println("服务启动在:"+df.format(new Date()));
while(true)
{
out.println("现在时间是:"+df.format(new Date()));
Thread.sleep(1000*5);
}
}
}

保存为任意目录,如:"D:\JavaTest\Test.java",并编译为Test.class;

4 进入C:\JavaService目录,执行如下命令:

(1).针对单独的Test.class文件(该文件在D:\JavaTest下)
JavaService.exe -install MyService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path="%JAVA_HOME%\lib\tools.jar;D:\JavaTest" -start Test

(2).将Test.class文件打成jar包放在-Djava.class.path后,其中-start Test中的Test是该.class文件在jar中的路经,如:com.cyber.service.Test,在src中的路经是:\com\cyber\service\Test.java。

JavaService.exe -install MyService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path="%JAVA_HOME%\lib\tools.jar;C:\Tomcat 5.5\webapps\wpgl\WEB-INF\lib\驱动.jar;D:\JavaTest\Test.jar" -start Test

如果需要其他的外部jar包(数据库的驱动jar包等等),只要在-Djava.class.path 中添加即可,并以分号区分开.(也可以把其他的外部jar包,整合到Test.jar里去,只需要一个Test.jar包就可以了.但是需要第三方插件fatjar来完成外部jar包的整合)

(3).可以添加日志文件(也可以在Test文件中写好日志的路径及其文件名)
JavaService.exe -install MyService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path="%JAVA_HOME%\lib\tools.jar;C:\Tomcat 5.5\webapps\wpgl\WEB-INF\lib\驱动.jar;D:\JavaTest\Test.jar" -start Test -out D:\JavaTest\log\stdout.log -err D:\JavaTest\log\stderr.log -current D:\JavaTest\log\ -description "测试"

其中-install 开关后面的参数是要添加的服务名;-start开关后面的参数是要启动的java类名;这里-Djava.class.path后面参数中的d:\javaTest是我的Test.class所在路径,实际应用中应该添加你的CLASSPATH。
运行后控制台显示“The MyService automatic service was successfully installed”表示安装成功。

需要注意的问题:
(1) %JAVA_HOME%为JDK目录,如果你没有设置,这里用jdk的绝对地址替代;
(2) -Djava.class.path是必须的,因为服务启动的时候无法访问系统的CLASSPATH变量,必须在这里显示指明;
(3) 服务添加成功以后,为自动启动类型,如需更改,需要自行在服务管理器(services.msc)中修改。

5 测试:
运行net start MyService启动服务;
检查d:\javaTest\test.log文件,数据一直在更新;
确认无误后,运行net stop MyService关闭服务;

Javaservice不支持C:\Program Files中间的空格,所以找不到JVM;使用%JAVA_HOME%时,又必须在其上加双引号才行,即:"%JAVA_HOME%" 。

删除服务:sc delete [service name]
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
请问世事洞明皆学问,人情练达即文章是什么意思呀 世事洞明皆学问人情练达即文章意思 翡翠中的绿是怎么形成的翡翠中的绿是如何形成的 小学资格证音乐好考吗 关于心机套路深的句子 大宗交易体现在龙虎榜吗 一个大锅盖,怎样加两个高频头,收看同一个卫星呢?请高手指教。_百度知 ... 如何制作卫星锅 DNF 里有个任务不知道怎么做,请各位帮我看一下 国内怎么炒黄金期货? 佳能1D Mark IV 是全画幅么 java中serversocket是什么意思 java开发中svr的client是什么意思 佳能5D mark4和尼康z7哪个更好? java 如何实现Server.CreateObject(&quot;Microsoft.XMLHTTP&quot;) java构建最简单的 Web Server 准备买一个外置闪光灯,相机是佳能5Dmark4,哪种好用? 手机贴膜有白边应该怎么办? Java web中mvc模式,请问service层到底怎么用 佳能5dmark4 4k多少帧 用java编写Client和Server程序,实现Client和Server的数据通信。_百度知 ... 台式电脑开机时键盘灯闪了一下,但电脑启动开后,键盘不好使 什么是java serverlet 佳能5D Mark IV和佳能6D Mark II有什么区别 JAVA里什么是C/S模式什么是B/S模式? 为什么我的电脑开机时键盘的指示灯闪了几下后就没反应了呢? 如何在windows服务模式的tomcat8中设置JVM为server模式?即-server如何写入注册表java_opt中? 打开电脑键盘指示灯闪了一下就不亮了 模式和Server模式的区别 jvm 参数优化 启动时键盘灯闪一下就没反映了 佳能1dmark4多重曝光怎么设置 北极绒保暖内衣怎么查询真伪 佳能5dmark4单反相机带gps或无线上网功能吗 北极绒怎么样鉴别真假,淘宝北极绒保暖内衣正品仿品真伪识别方法 北极绒防伪查询 佳能eos 5d mark iv 什么时候产品 北极绒男士内裤的防伪码 佳能1D Mark IV新固件更新了什么? 请问各位北极绒内衣标签上的防伪码显示在哪里 北极绒内衣裤防伪码查询电话 canon5D Mark IV为什么拍摄出来的照片会模糊,是因为什么没有调好吗?要怎么操作 北极绒防伪码查询 26780343951584905083 官网打不开,手机查不到,请帮忙找是否是正品谢谢 人民保险车险能退吗 我在淘宝上看了北极绒的保暖内衣,老板说只要掉牌上的号码(刮掉后可见)进官网查 佳能mark iv eos-1d怎么打开短片模式 北极绒男货号821是正品吗 佳能5D Mark IV 相机怎么设置背景虚化? 北极绒官网 南极人保暖内衣怎样辨别真假? 我想在淘宝上买一件保暖内衣,什么牌子的好?
  • 焦点

最新推荐

猜你喜欢

热门推荐