thunder://QUFodHRwOi8vYWlrYW5keS5vcmcv6Z+p6aG65bmzIGxpbnV46KeG6aKR5pWZ56iL56ysMjHnq6Ag5Y6L57yp5ZKM6Kej5Y6L57ypIGxpbnV45LiLamF2Yee9kee7nOe8lueoiy53bXY/ZmlkPU91U1ptb0Y2VnJ4YmFnMjlzRlhON2lSU2VuOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEmbWlkPTY2NiZ0aHJlc2hvbGQ9MTUwJnRpZD1FNTFERDdCQzAxQTkyODJCQTc3RUMxQzNCRUIzQ0JGNyZzcmNpZD0xMjAmdmVybm89MVpa
采纳!做一个有道德的观众
使用linux运行java程序具体步骤如下:
1.Windows上使用eclipse编译java工程,编译完成后导出为Runnable JAR File。
例如,此处将test工程中的Test2文件export为MyTest2.jar文件。
2.Ubuntu上java环境安装。
①jdk官网http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载Linux上使用的jdk。
②eclipse官网http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr1/下载Linux上使用的eclipse。
③将jdk和eclipse上传到Linux服务器并解压,然后配置java环境变量(eg.jdk的解压目录是/home/test)。
配置方法:编辑/etc/profile文件,添加如下内容(备注:Linux中冒号:用于分隔路径,点号.表示当前目录)。
编辑完成后保存文件
④使配置生效,命令 source /etc/profile
⑤测试环境变量是否配置成功,命令java -version,显示jdk版本,则表示java环境变量配置成功。
java程序是提供了这个一方法, Process pro = Runtime.getRuntime().exec(cmds)
但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活, 而且耗费资源少。但是Runtime.getRuntime().exec()这种调用方式在java虚拟机中是十分消耗资源的,即使命令可以很快的执行完毕,频繁的调用时创建进程消耗十分可观。
java虚拟机执行这个命令的过程是,首先克隆一条和当前虚拟机拥有一样环境变量的进程,再用这个新的进程执行外部命令,最后退出这个进程。频繁的创建对CPU和内存的消耗很大。
下面是一个调用linux命令的例子:
public class Test {public static void main(String[] args) throws Exception{
String[] cmds = {"/bin/sh","-c","ps -ef|grep java"}
Process pro = Runtime.getRuntime().exec(cmds)
pro.waitFor() //阻塞,直到上述命令执行完
InputStream in = pro.getInputStream()
BufferedReader read = new BufferedReader(new InputStreamReader(in))
String line = null
while((line = read.readLine())!=null){
System.out.println(line)
}
}
}
注:参数中“/bin/sh“ “-c“ 是可以用shell执行指定的命令的意思
这里/bin/sh -c ps -ef|grep java,会执行ps linux命令
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)