また開発者として知っていけないことを知らなかった。
googleさんに
「static 変数名省略 java」
とか
「static {} java」
とか
「static 変数無し java」
とかで聞いても何もひっかかりやしねぇ。
恥ずかしい検索履歴を残してしまった。
で正式名称?は
その名も
「静的ブロック」
というらしい。
ググりづらいんで、ぜひとも改名して頂きたい。
package test.prj;
import java.io.IOException;
import javax.servlet.http.*;
@SuppressWarnings("serial")
public class Tstprj4Servlet extends HttpServlet {
// 静的ブロック
static {
System.out.println("static block");
}
// Getメソッド
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
System.out.println("doGet");
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
}
これのdoGetを呼び出したらコンソールに
static block
doGet
の順番で表示された。(呼び出し1回目)
もう一回呼び出したらコンソールに
doGet
のみが表示された。(呼び出し2回目)
さらに別のブラウザから呼び出しても
doGet
のみが表示された。(呼び出し3回目)
ということで、サーバ起動後(JVM起動後)1発目のみ一番最初に走る?
まぁstaticだからね。。。
googleさんに
「static 変数名省略 java」
とか
「static {} java」
とか
「static 変数無し java」
とかで聞いても何もひっかかりやしねぇ。
恥ずかしい検索履歴を残してしまった。
で正式名称?は
その名も
「静的ブロック」
というらしい。
ググりづらいんで、ぜひとも改名して頂きたい。
package test.prj;
import java.io.IOException;
import javax.servlet.http.*;
@SuppressWarnings("serial")
public class Tstprj4Servlet extends HttpServlet {
// 静的ブロック
static {
System.out.println("static block");
}
// Getメソッド
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
System.out.println("doGet");
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
}
これのdoGetを呼び出したらコンソールに
static block
doGet
の順番で表示された。(呼び出し1回目)
もう一回呼び出したらコンソールに
doGet
のみが表示された。(呼び出し2回目)
さらに別のブラウザから呼び出しても
doGet
のみが表示された。(呼び出し3回目)
ということで、サーバ起動後(JVM起動後)1発目のみ一番最初に走る?
まぁstaticだからね。。。