2025-03-26

下面這個程序就是通過靜態初始化塊的方法來完成一個不需要main 方法的Java程序。
public class Hello
{
 static{
  System.out.println(“No MainJava say Hello,World”);
  System.exit(0);
 }
}

另外一個我見到使用這種技巧的地方是在  數據庫訪問類在初始化數據池用到
class SomeDBManager{
    private static InitialContext ic;
    private static DataSource ds;
    static {
        if (ds == null) {
            try {
                ic = new InitialContext();
                ds = (DataSource) ic.lookup(“java:comp/env/jdbc/snailIsPigWebApp”);
                prepareConnection();
            } catch (NamingException ex) {
                ex.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    private static Connection getConn() throws SQLException {
        return ds.getConnection();
    }

    public static void prepareConnection() throws SQLException {
        Connection conn = getConn();
        conn.close();
    }
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *