2012-09-01から1ヶ月間の記事一覧

main メソッドがなくてもコードが実行できる裏技が Java 7 で封じられた

class Test { static { System.out.println("Hello"); } } こんな main メソッドのないクラスをコンパイルして以下の要領で実行すると: java Test Java 1.6 までなら: Hello Exception in thread "main" java.lang.NoSuchMethodError: main という具合に s…

DrRacket にイースターエッグが存在した

PC

日付を 7/2 にした状態で DrRacket を起動すると、Robby のアイコンが現れ、クリックするとダイアログが表示される。

Eclipse CDT で参照を解決できない

単純なコードだと問題がなかったんだけど、ソケットを使用するコードで以下のように sys/socket.h に定義されているはずの定数が CDT 上では解決できない。Windows の CDT は GNU C という環境が定義されていて、cygwin を参照するようになっている。インク…

あまり知られていないと思われる Java のインスタンスイニシャライザの紹介

スタティックイニシャライザというのは Java をやってる人なら何度も使ったことがあると思う。Java を 10 年以上やっていて「インスタンスイニシャライザ」というものがあることを先日知った。 public class Test { int i; { // このブロックがインスタンス…

ThreadLocal というクラスを発見した

以下のような感じで使用する。 public class ThreadLocalTest { // これがスレッドローカル変数の原資 private static int num = 0; // 実体はひとつしかないが、スレッド毎に異なる値を返す変数 private static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>(</integer></integer>…