日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

讓Java程序只運行一個實例

瀏覽:148日期:2024-07-02 15:43:21
內容: 一個程序可以在內存里面存在多個運行實例,比如,你可以打開多個微軟的Word程序。但是,有些時候我們需要控制程序運行的實例只有一個,也就是說,該程序同一時刻在內存里面運行的只有一個實例。這樣當這個程序在內存中已經存在一個運行實例而用戶又再次運行了該程序的時候,有兩種結果,第一種結果是結束目前的運行實例,打開新運行的實例;第二種就是讓新運行的實例退出,原有的運行實例繼續運行。 原理 因為任何時候只有一個實例,所以在實現這種功能的時候必須借助只能被獨享的資源。如果我們的程序是基于某個平臺的,那么就可以借助操作系統的內核對象來完成,比如Windows操作系統就提供了CreateMutex這個API來創建一個獨享的內核對象。但是因為要考慮平臺無關,Java程序的實例控制不應該使用系統的內核對象來完成,那么我們就必須找到其它的、可以獨享的資源。實際上,一臺機器無論是在什么操作系統上,網絡端口都是獨享的,也就是說基于網絡端口這個獨享的原理,我們可以很方便地讓我們的Java程序實現在內存里面只有一個運行實例這個功能,而且這個功能的實現是與平臺無關的。 實現 我們先來看看第一種情況是如何實現的,也就是說如果系統中已經存在運行實例的話,那么結束原有的運行實例,讓新實例運行。這個實現實例控制的Java類也是一個線程,具體的實現如下: import java.net.*;public class InstanceControl extends Thread { public void run() { try{ Socket sock = new Socket('127.0.0.1',22222); //創建socket,連接22222端口  } catch (Exception e) {} try{ ServerSocket server = new ServerSocket(22222);//創建socket,在22222端口監聽 server.accept(); //等待連接 server.close(); //有連接到來,也就是說有新的實例 System.exit(0); //這個實例退出 }catch (Exception e) { e.printStackTrace(); } }} 下面這個Java程序的程序入口是沒有實例控制功能的: public class ProgramMain { public static void main(String argv[]) { mainFrame frame = new mainFrame(); }} 現在想加入實例控制,只需要添加兩行代碼,添加后代碼如下所示: public class ProgramMain { public static void main(String argv[]) { InstanceControl ic = new InstanceControl(); ic.start(); mainFrame frame = new mainFrame(); }} 在這個基礎上,要實現第二種情況,也就是已經有實例運行的情況下,新的實例退出,保持原有的運行實例,就只需要一點小的改動了。具體的實現如下: import java.net.*;public class InstanceControl2 extends Thread { public void run() { try{ Socket sock = new Socket('127.0.0.1', 22222);//創建socket,連接22222端口 System.exit(0); //連接成功,說明有實例存在,則退出 }catch (Exception e) {} try{ ServerSocket server = new ServerSocket(22222);//創建socket,連接22222端口 while (true) { server.accept(); //接受連接請求 } }catch (Exception e) { e.printStackTrace(); } }} 這個類的使用方法和第一種情況的那個類是一樣的,只需要在原有的代碼上加入兩行代碼即可: InstanceControl2 ic = new InstanceControl();ic.start(); 擴展上面的程序也許有一個小bug,就是如果程序在開始運行時ServerSocket監聽的端口已經被其它程序占用,那么程序的運行就會受到影響。所以程序的端口應該盡量取得大一些,在這種情況下其它程序占用這個程序使用的端口的概率是可以忽略不計的。同時,還可以做兩種擴展,第一種是把端口寫在配置文件中,可通過讀配置文件得到端口,這樣就能夠在其它程序占用目前端口的情況下改變這個程序使用的端口。還有一種是在運行的時候用兩個InstanceControl類分別在兩個端口監聽,只要有一個InstanceControl類得到連接就做出響應,這樣兩個端口都被其它程序占用的概率就更加的微乎其微了。 轉自: 賽迪網 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆精品新av中文字幕| 日韩久久精品网| 91精品福利| 在线午夜精品| 日本欧洲一区二区| 奇米777国产一区国产二区| 日本91福利区| 国产精品男女| 国产成人精品一区二区三区免费| 97人人精品| 国产一区日韩欧美| 日韩影院免费视频| 日韩高清不卡一区二区| 国产精品3区| 成人午夜亚洲| 久久免费国产| 欧美亚洲精品在线| 蜜臀精品一区二区三区在线观看 | 狠狠色综合网| 中文字幕日韩亚洲| 国产精品.xx视频.xxtv| 国产在线观看www| 日韩欧美午夜| 美女尤物久久精品| 精品一区二区三区中文字幕在线| 久久狠狠婷婷| 日韩黄色在线观看| 久久影院午夜精品| 日韩中文字幕av电影| 国产伦一区二区三区| 欧美香蕉视频| 亚洲制服欧美另类| 久久精品免费看| 蜜臀91精品国产高清在线观看| 亚洲毛片网站| 国产精品国产三级国产在线观看| 欧美日韩精品一本二本三本 | 欧美一区自拍| 亚洲精品.com| 亚洲免费观看高清完整版在线观| 日产精品一区二区| 综合国产视频| 久久久久午夜电影| **爰片久久毛片| 欧美不卡视频| 国产亚洲精品美女久久| 欧美综合另类| 国产麻豆一区| 国产精品呻吟| 你懂的亚洲视频| 久久国产精品亚洲77777| 精品国产欧美| 日韩一区二区三区精品| av综合电影网站| 日韩国产欧美在线视频| 国产99久久久国产精品成人免费| 国产色噜噜噜91在线精品| 午夜久久美女| 四虎成人av| 日本精品久久| 99国产精品99久久久久久粉嫩| 精品91福利视频| 亚久久调教视频| 999国产精品永久免费视频app| 日韩精彩视频在线观看| 国产伊人精品| 国产一区二区三区久久| 日韩精品欧美成人高清一区二区| 另类中文字幕国产精品| 国产黄色精品| 日本欧美大码aⅴ在线播放| 一区免费视频| 久久久久国产| 亚洲天堂资源| 狂野欧美性猛交xxxx| 日本免费在线视频不卡一不卡二| 午夜精品亚洲| 久久视频一区| 日韩一区二区三区免费播放| 国产欧美大片| 69堂精品视频在线播放| 中文一区一区三区免费在线观| 久久九九99| 成人高清一区| 精品国产欧美| 久久91视频| 国产精品网站在线看| 亚洲一区导航| 天堂va蜜桃一区二区三区| 1024精品一区二区三区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 日韩在线a电影| 今天的高清视频免费播放成人| 欧洲av不卡| 97欧美在线视频| 国产一区二区久久久久| 久久免费福利| 国产精品亚洲欧美一级在线| 亚洲一二三区视频| 麻豆91精品| 美女日韩在线中文字幕| 久久国产66| 六月婷婷一区| 久久都是精品| 蜜臀va亚洲va欧美va天堂| 91久久视频| 亚洲在线网站| 日韩在线观看一区二区| 视频一区视频二区中文字幕| 午夜亚洲精品| 中文字幕av一区二区三区人 | 欧美不卡高清| 在线国产一区二区| 久久成人精品| 亚洲三级视频| 国产精品视频首页| 久久影视三级福利片| 成人在线视频中文字幕| 韩国久久久久久| 欧美亚洲激情| 欧美资源在线| 日韩精品亚洲一区二区三区免费| 日韩av影院| 国产精品啊啊啊| 麻豆国产精品一区二区三区| 国产一区二区三区亚洲综合| 岛国精品一区| 私拍精品福利视频在线一区| 精品中文字幕一区二区三区av| 九九久久电影| 亚洲精品日本| 久久99蜜桃| 亚洲性色av| 欧美专区在线| 国产欧美一区二区三区国产幕精品| 久久wwww| 久久人人97超碰国产公开结果| 影院欧美亚洲| 日韩欧美激情| 大香伊人久久精品一区二区| 亚洲成人精选| 亚洲3区在线| 精品视频亚洲| 欧美日韩黑人| 日本视频一区二区| 日韩精品永久网址| 日本欧美在线看| 国产欧美日韩综合一区在线播放| 超碰成人av| 免费欧美日韩| 精品五月天堂| 99riav国产精品| 国产精品亚洲四区在线观看| 日韩免费视频| 中文字幕一区二区三区日韩精品| 精品淫伦v久久水蜜桃| 久久精品高清| 欧美日韩精品一区二区三区视频| 国产美女高潮在线| 亚洲天堂日韩在线| 国产91在线播放精品| 91久久中文| 欧美国产日韩电影| 今天的高清视频免费播放成人| 亚洲精品在线a| а√天堂中文在线资源8| 亚洲视频二区| 日韩欧美另类一区二区| 日本va欧美va瓶| 久久久9色精品国产一区二区三区| 日韩久久99| 日韩精品网站| 国产精品一区二区精品视频观看| 欧美不卡在线| 麻豆视频久久| 日韩在线一二三区| 色偷偷色偷偷色偷偷在线视频| 日韩中出av| 激情久久久久久久| 精品三级av| 日韩黄色av| 中文亚洲欧美| 日韩国产一区二区| 国产欧美日韩在线一区二区| 国产亚洲毛片| 午夜av成人| 欧美精品第一区| 日韩中文字幕视频网| 蜜桃视频欧美| av中文字幕在线观看第一页| 日本免费一区二区视频| 一区在线观看| 三上悠亚国产精品一区二区三区| 777久久精品| 免费不卡在线观看| 欧美影院三区| 美女一区网站| 美女在线视频一区| 亚洲精品影视| 99香蕉国产精品偷在线观看|