Runtime

编程开发

Java调用脚本实现线程不卡住的sleep

在Java开发中遇到需要延时的操作时通常都是java.lang.Thread.sleep(long millis)进行延时,但是这种方式线程会卡住,如何既不卡住线程又能实现延时呢?这个时候可以使用Runtime.getRuntime().exec("").waitFor();配合外部脚本实现不卡住的sleep。 在Windows环境下可以通过调用vbs脚本利用WScript.sleep ...

阅读(2887)评论(0)赞 (0)

编程开发

Windows环境下Java获取指定进程的句柄总数

在做网银爬虫时用swt处理密码控件,做成web服务供外部调用,时间一长总会跪掉,控制台显示 org.eclipse.swt.SWTError no more handles然后java进程就没了,这个错误,注意是错误,不是异常!!!翻译过来就是句柄用完了,那么如何让程序知道自己到底用了多少句柄呢?代码如下: 主要是利用了wmic命令,关于wmic命令它其实很强大,几乎可以控制方方面面。

阅读(3006)评论(0)赞 (0)

编程开发

Java执行本地命令之Runtime.getRuntime()

如果需要延时又不想Thread.sleep();线程卡住,可以使用此方法执行:ping 127.0.0.1 -n 5实现,ping的单位为秒,如果需要毫秒级的精确度可以执行:cmd /cEcho WScript.Sleep 3000>delay.vbs && Start /wait delay.vbs即可;如果只需要执行并等待完成而不需要回显输出,则代码可以简写为:Runti...

阅读(2395)评论(0)赞 (0)