匿名の構築方法とShutDownHook

1289 ワード

匿名構築メソッドは、任意の構築メソッドの前に呼び出されます.Businessクラスの初期化時にキュー2にデータが挿入されていることを保証します.

static class Business{
         
        BlockingQueue<Integer> queue1 = new ArrayBlockingQueue<Integer>(1);
        BlockingQueue<Integer> queue2 = new ArrayBlockingQueue<Integer>(1);
 
        {
            try{
                queue2.put(1);
            }catch(Exception e){
                e.printStackTrace();
            }
        }
}

 shutdownhook, , serversocket 。

Runtime.getRuntime().addShutdownHook(new ShutdownHookThread(server)); 

    class ShutdownHookThread extends Thread {  
        private ServerSocket server;  
      
        public ShutdownHookThread(ServerSocket server) {  
            this.server = server;  
        }  
      
        @Override  
        public void run() {  
            try {  
                server.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            } finally {  
                server = null;  
            }  
        }  
    }