1. 對於java應用伺服器,每次正常的關閉或者重啟,是否需要等所有線程(除了主線程)執行完
朋友讓我幫忙寫個程序從文本文檔中導入數據到oracle資料庫中,技術上沒有什麼難度,文檔的格式都是固定的只要對應資料庫中的欄位解析就行了,關鍵在於性能。
數據量很大百萬條記錄,因此考慮到要用多線程並發執行,在寫的過程中又遇到問題,我想統計所有子進程執行完畢總共的耗時,在第一個子進程創建前記錄當前時間用System.currentTimeMillis()在最後一個子進程結束後記錄當前時間,兩次一減得到的時間差即為總共的用時,代碼如下
Java代碼
{
;
publicImportThread(CountDownLatchthreadsSignal){
this.threadsSignal=threadsSignal;
}
@Override
publicvoidrun(){
System.out.println(Thread.currentThread().getName()+"開始...");
//Dosomethings
threadsSignal.countDown();//線程結束時計數器減1
System.out.println(Thread.currentThread().getName()+"結束.還有"+threadsSignal.getCount()+"個線程");
}
}
主線程中
Java代碼
CountDownLatchthreadSignal=newCountDownLatch(threadNum);//初始化countDown
for(intii=0;ii<threadNum;ii++){//開threadNum個線程
finalIterator<String>itt=it.get(ii);
Threadt=newImportThread(itt,sql,threadSignal);
t.start();
}
threadSignal.await();//等待所有子線程執行完
System.out.println(Thread.currentThread().getName()+"結束.");//列印結束標記
列印結果:
main開始
Thread-1開始...
Thread-0開始...
Thread-2開始...
Thread-3開始...
Thread-4開始...
Thread-5開始...
Thread-0結束. 還有5 個線程
Thread-1結束. 還有4 個線程
Thread-4結束. 還有3 個線程
Thread-2結束. 還有2 個線程
Thread-5結束. 還有1 個線程
Thread-3結束. 還有0 個線程
main結束.
2. java 怎麼實現關機或重啟
java不能直接實現關機或者重啟,但是可以通過調用windows的關機命令實現關機
BAIDU搜索」java調用exe」有詳細的解答
3. #java:如果伺服器重啟了,之前正在執行的timer定時任務還在嗎
伺服器重啟了,那內存中的數據全部丟失了,之前執行的 timer 肯定不在了啊。
下單這種操作,肯定是要將詳細數據記錄到資料庫,這樣即使伺服器重啟了,也能將場景還原。
4. 求java重啟伺服器的代碼
Process procStop = Runtime.getRuntime().exec("shutdown -r -t 0");
5. java開發,驗證碼發送的時候伺服器重啟怎麼解決方法
1.用兩個伺服器不就行了,業務處理伺服器+緩存伺服器,驗證碼生成後在緩存伺服器存放,重啟業務處理伺服器不會導致緩存伺服器驗證碼丟失!
2.或者也可以使用資料庫保存驗證碼,不推薦這種方式,因為資料庫不會自動刷新數據(驗證碼失效),數據交互也比較頻繁,耗資源!
6. java web怎麼重啟tomcat伺服器
可以進入tomcat的bin目錄執行shutdown停止服務,然後在執行startup啟動服務
7. java synchronousqueue 伺服器重啟怎麼辦
java synchronousqueue 伺服器重啟解決辦法:
直接分配接收者線程,此時可採用SynchronousQueue,只要當前池的大小還小於最大值,ThreadPoolExecutor就會創建新線程。
SynchronousQueue並不是真正的隊列,而是一種管理直接在線程之間移交信息的機制,Executors.newCachedThreadPool()工廠就採用的這種機制。
8. 如何通過JAVA代碼 重啟tomcat
配置文件的作用就是方便修改吧。在單例的時候加個判斷,如果用戶點擊了「重啟載入配置文件」就讓程序重新讀取配置文件,否則不讀取文件。這樣就不用重啟Tomcat了.
9. 有關Java和Weblogic服務每次重啟的問題
你重新部署一下就行了,沒有必要重啟啊!
10. 如何讓Java伺服器定時清理內存怎樣每周自動重啟一次伺服器
如果你的伺服器在Linux 你寫一個shell腳本 重啟JAVA WEB伺服器即可。
內存回收問題 你需要設置相關參數比如 heap size,perm size 等 這個比例要設置好,重啟伺服器就不用自己再去釋放內存了,重啟的話 進程就會重開一個新的。