Java Main 函數啟動不退出的解決方案
背景
我在準備使用 JVM 的命令時候觀察程序的動態,但是發現 Main 函數啟動就退出瞭,所以也沒辦法直接觀察,於是想到瞭如何讓 Main 函數啟動一直不退出,這樣就可以該幹啥就幹啥啦~
方案
1、System.in.read()
簡單粗暴(推薦)
public static void main(String[] args) throws IOException { System.out.println(1); System.in.read(); System.out.println(2); }
2、Object.wait()
這個還需要 synchronized 配合使用,繁瑣
public static void main(String[] args) throws InterruptedException { System.out.println(1); Object o = new Object(); synchronized (o) { o.wait(); } System.out.println(2); }
3、Thread.sleep(9999999)
讓線程睡覺,睡久點,這個也還行吧,比第二種簡單點,就是有時間限制,當然有些場景還真需要這種來控制動態
public static void main(String[] args) throws InterruptedException { System.out.println(1); Thread.sleep(9999999); System.out.println(2); }
到此這篇關於Java Main 函數啟動不退出的方法的文章就介紹到這瞭,更多相關Java Main 函數啟動不退出內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java多線程Thread類的使用及註意事項
- 新手初學Java網絡編程
- 一篇文章掌握Java Thread的類及其常見方法
- Java線程通信之wait-notify通信方式詳解
- 淺談Java鎖的膨脹過程以及一致性哈希對鎖膨脹的影響