天天看點

JVM bind的集中解決方法

最近,在整理web項目下的運作出現的幾種情況的解決方法

1、一種是原來的javaw.exe沒有結束掉而又新建立了一個javaw.exe程序(如jdk異常退出)。這本無可厚非,允許多個java的程序同時運作,但是如果兩個java的程序都使用了同一個資源的情況下,後者的javaw.exe程序就會出現Jvm Bind的問題。

解決方法:在資料總管程序(ctrl+alt+delete)中找出javaw.exe程序,關閉與目前需要執行的javaw.exe無關聯的其他javaw.exe程序。注意如果在Eclipse下運作,eclipse也會建立一個javaw.exe程序,這個程序所占的記憶體通常比其他javaw.exe大,不要關閉這個程序。

2、第二種情況就是端口占用。首先檢視一下端口占用的情況:windows下在cmd.exe中輸入:netstat -ano

根據指令行輸出找到監聽端口(如tomcat一般是用8080)的程序号ID,找到占用8080端口的pid,通過在”資料總管“中找到對應pid的程序,關閉該程序,解除其對端口占用。下次啟動應用程式應該就不會出現JVM Bind的問題了。

3、第三種是比較正常的情況出現,比較好解決,如在eclipse中開啟了兩個tomcat(如測試的時候會開啟内嵌伺服器,jetty、tomcat 等web伺服器),占用同一個端口。

解決方法:1、此時隻需要關掉其中一個伺服器就行

                   2、或者不清楚是否有其他關鍵程序占用此端口,可以修改伺服器端口号

4、netstat -aon|findstr "49157"  檢視端口

      tasklist|findstr "2720"       檢視端口對應的程序,直接定位關掉或殺掉對應的端口

5、最暴力的解決方法,也是最有效的辦法,就是重新開機電腦,貌似是用這種方法有點nc,好像我以前也這樣幹過,O(∩_∩)O。

繼續閱讀