为什么这个程序第一次运行时,不会报错,等我第二次运行就报错了?
2个回答
展开全部
地址已占用
JVM_Bind问题出现通常有两种情况。
一种是原来的javaw.exe没有结束掉而又新创建了一个javaw.exe进程。这本无可厚非,允许多个java的进程同时运行,但是如果两个java的进程都使用了同一个资源的情况下,后者的javaw.exe进程就会出现JvmBind的问题。
解决方法:在资源管理器进程中找出javaw.exe进程,关闭与当前需要执行的javaw.exe无关联的其他javaw.exe进程。注意如果在Eclipse下运行,eclipse也会创建一个javaw.exe进程,这个进程所占的内存通常比其他javaw.exe大,不要关闭这个进程。
第二种情况就是端口占用。首先查看一下端口占用的情况:,windows下在命令行中输入:netstat -aon|findstr '8090'(这边的8090是我程序需要开启的tomcat的设置端口)
根据命令行输出找到监听端口的进程号ID,命令行中输入tasklist|fidstr '进程ID',来找到是什么应用在监听该端口。
找到该进程后,通过在资源管理器中关闭该进程,解除其对端口占用。下次启动应用程序应该就不会出现JVMBind的问题了。
第二种情况的解决方案参考:http://jzh.123456.blog.163.com/blog/static/31670582201072644915920/
JVM_Bind问题出现通常有两种情况。
一种是原来的javaw.exe没有结束掉而又新创建了一个javaw.exe进程。这本无可厚非,允许多个java的进程同时运行,但是如果两个java的进程都使用了同一个资源的情况下,后者的javaw.exe进程就会出现JvmBind的问题。
解决方法:在资源管理器进程中找出javaw.exe进程,关闭与当前需要执行的javaw.exe无关联的其他javaw.exe进程。注意如果在Eclipse下运行,eclipse也会创建一个javaw.exe进程,这个进程所占的内存通常比其他javaw.exe大,不要关闭这个进程。
第二种情况就是端口占用。首先查看一下端口占用的情况:,windows下在命令行中输入:netstat -aon|findstr '8090'(这边的8090是我程序需要开启的tomcat的设置端口)
根据命令行输出找到监听端口的进程号ID,命令行中输入tasklist|fidstr '进程ID',来找到是什么应用在监听该端口。
找到该进程后,通过在资源管理器中关闭该进程,解除其对端口占用。下次启动应用程序应该就不会出现JVMBind的问题了。
第二种情况的解决方案参考:http://jzh.123456.blog.163.com/blog/static/31670582201072644915920/
追问
谢谢你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询