成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

讓Java程序只運行一個實例

瀏覽:108日期: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
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
狠狠色丁香婷婷综合| 亚洲国产婷婷综合在线精品| 国产精品黄色在线观看| www.欧美色图| 欧美日韩国产大片| 日韩成人免费在线| 久久狠狠一本精品综合网| 玉米视频成人免费看| 亚洲免费成人| 亚洲精品中文在线观看| 亚洲高清毛片| 成人欧美一区二区三区白人| 99视频精品在线| 精品久久一二三区| 丁香五精品蜜臀久久久久99网站| 7777精品伊人久久久大香线蕉完整版| 国模少妇一区二区三区| 欧美日韩mp4| 韩国在线一区二区| 欧美日韩在线播放一区| 激情欧美一区二区| 日韩欧美在线影院| 91片黄在线观看| 亚洲欧洲日韩在线| 亚洲影视综合| 美女一区二区视频| 3d动漫精品啪啪1区2区免费| 成人午夜视频在线| 久久久精品一品道一区| 色综合久久中文综合久久牛| 久久亚洲精精品中文字幕早川悠里| 99国产精品久久久久| 中文字幕欧美国产| 雨宫琴音一区二区在线| 一区二区三区精品久久久| 亚洲欧美国产精品桃花| 视频一区二区三区在线| 在线看不卡av| 国产激情精品久久久第一区二区 | 国产精品色哟哟网站| 韩国亚洲精品| 亚洲综合自拍偷拍| 欧洲视频一区二区| 国产精品自拍av| 国产亚洲午夜高清国产拍精品| 欧美日产一区二区三区在线观看| 中文字幕一区二区在线播放 | 色综合天天综合网国产成人综合天 | 制服丝袜中文字幕一区| av日韩在线网站| 国产欧美精品日韩区二区麻豆天美| 亚洲午夜精品福利| 亚洲一区二区三区影院| 欧美自拍偷拍午夜视频| 成人a免费在线看| 综合久久久久久久| 久久五月天婷婷| 国产成人在线视频网址| 国产喂奶挤奶一区二区三区| 中文日韩在线| 看电视剧不卡顿的网站| 精品国产一区二区三区不卡| 精品99视频| 免费观看91视频大全| 精品久久一区二区| 亚洲精品国产日韩| 老司机精品视频一区二区三区| 欧美精品一区二区三区在线| 亚洲欧洲精品一区| 久久99在线观看| 欧美一级日韩免费不卡| 亚洲午夜精品久久| 蜜桃久久久久久久| 国产日韩欧美a| 久久久久久网| av福利精品导航| 亚洲一级二级三级在线免费观看| 欧美一区二区三区影视| 海角社区69精品视频| 丝袜美腿一区二区三区| 欧美一区二区免费视频| 伊人久久亚洲热| 蜜桃久久久久久| 欧美国产精品一区二区三区| 久久精品五月| 91浏览器在线视频| 日韩精品视频网站| 国产丝袜美腿一区二区三区| 一本到三区不卡视频| 91丨九色丨国产丨porny| 偷拍自拍另类欧美| 久久久久九九视频| 久久久久久9| 91蜜桃视频在线| 免费观看成人鲁鲁鲁鲁鲁视频| 国产人伦精品一区二区| 色久综合一二码| 欧美日韩三区四区| 精品亚洲免费视频| 亚洲老妇xxxxxx| 日韩美女视频在线| 蜜桃av噜噜一区二区三区| 欧美一区1区三区3区公司| 日本少妇一区二区| 国产精品人妖ts系列视频| 欧美性大战xxxxx久久久| 亚洲国产合集| 成人永久aaa| 日韩成人一级大片| 国产精品第13页| 秋霞电影网一区二区| 在线免费观看日韩欧美| 成人高清免费在线播放| 午夜久久久久久| 国产婷婷一区二区| 精品视频色一区| 国自产拍偷拍福利精品免费一 | 欧美电影免费观看高清完整版在线观看 | 欧美日韩国产探花| 久久精品99国产精品| 综合电影一区二区三区 | 日本欧美韩国一区三区| 国产精品网站导航| 91精品国产综合久久精品| 99视频+国产日韩欧美| 不卡的av网站| 色婷婷av久久久久久久| 国产精品三级av| 日韩欧美美女一区二区三区| 亚洲中字黄色| 欧美日本一区| 国产精品99久久久久久有的能看 | 欧美肥大bbwbbw高潮| 免费国产自线拍一欧美视频| 国产一区久久| 99久久精品免费看国产 | 99亚洲精品| 91麻豆免费看| 国产一区在线观看视频| 亚洲高清视频中文字幕| 国产精品你懂的| 久久一区二区视频| 日韩一级片网址| 欧美男女性生活在线直播观看| 噜噜噜躁狠狠躁狠狠精品视频 | 欧美视频完全免费看| 在线观看成人一级片| 99久久99久久精品免费观看| 久久国产日韩欧美精品| 一区二区三区产品免费精品久久75| 久久精品亚洲乱码伦伦中文| 精品久久久久久久人人人人传媒 | 日韩免费高清视频| 6080日韩午夜伦伦午夜伦| 欧美亚洲综合久久| 91传媒视频在线播放| 久久精品五月| 久久久久久久久久久久久9999| 亚洲中字黄色| 免费久久久一本精品久久区| 一本久道久久综合婷婷鲸鱼| 亚洲高清毛片| 亚洲成色www久久网站| 黄色一区三区| 尹人成人综合网| 永久域名在线精品| 亚洲国产一区二区在线| 久久精品一区二区三区四区| 性一交一乱一区二区洋洋av| 极品尤物久久久av免费看| 99久久99久久精品免费观看| 国产在线精品免费av| 天涯成人国产亚洲精品一区av| 亚洲国产一区二区在线播放| 中文字幕一区二区不卡| 国产欧美日韩精品在线| 国产午夜精品一区二区三区嫩草| 色妹子一区二区| 麻豆精品网站| 国产精品日韩欧美一区二区| 一区二区三区成人精品| 99亚洲一区二区| 亚洲自拍偷拍网站| 亚洲精品综合在线| 亚洲免费观看高清| 亚洲免费视频成人| 亚洲欧美日韩小说| 亚洲精品国产无天堂网2021| 亚洲精品精品亚洲| 亚洲欧美国产77777| 亚洲黄色在线视频| 一区二区三区在线免费观看| 亚洲国产成人自拍| 国产精品久久久久一区二区三区| 国产精品免费视频观看| 欧美国产一区视频在线观看| 亚洲欧洲另类国产综合| 国产精品电影一区二区三区| 亚洲欧洲三级电影| 亚洲精品成人少妇|