Archive for 8 月, 2009

無限大

金曜日, 8 月 21st, 2009

Java でも無限大を定義することができます。

ちょっとそれを試してみました。

なぜかって?

今まで無限大を使ったことがないからです。(^^;

 

package infinity2;

public class Main {

    private static final double i = Double.POSITIVE_INFINITY;
    private static final double j = Double.NEGATIVE_INFINITY;
    private static final double k = 1.0e40;

    public static void main(String[] args) {
        if (i == i + 1) {
            System.out.println(“無限大 ” + i);
        }
        if (j == j – 1) {
            System.out.println(“無限小 ” + j);
        }
        if (k == k + 1) {
            System.out.println(“1.0e40 に1を足しても ” + k);
        }
        System.out.println(“ulp = ” + Math.ulp(k));
        System.out.println(“最も近い浮動小数点数 ” + Math.nextUp(k));
    }
}

 

このプログラムの実行結果は下記のとおりです。

無限大 Infinity
無限小 -Infinity
1.0e40 に1を足しても 1.0E40
ulp = 1.2089258196146292E24
最も近い浮動小数点数 1.0000000000000002E40

 

無限大や無限小って英語で Infinity , -Infinity って表示されるんですね。

初めて知りました。

おまけがついてますけど浮動小数点数演算って癖があるので微妙・・・(^^;;;

Hatena タグ:

素敵な無限ループ

木曜日, 8 月 20th, 2009

無限ループ文の作り方にはいろいろなものがありますが最近知った素敵な無限ループ文を個人的に覚え書きしておきます。

package infinity;

public class Main {

    public static void main(String[] args) {
        int count = 0;
        // 素敵な無限ループ
        for(int i = 0; i <= Integer.MAX_VALUE; i++)
            if (i == Integer.MAX_VALUE)
                // 無限ループになるトリックの答え
                System.out.println(“Integer.MAX_VALUE + 1 = ” + (i + 1));
            count++;
        System.out.println(count);
    }
}

無限ループがあるので標準出力に変数 count の値は表示されません。

無限ループの中で int の最大値の時に 1 を足した時の値を表示させてます。

Integer.MAX_VALUE + 1 = -2147483648

これで解るように int の最小値になってます。

普通このような無限ループを使う人はいないと思うので素敵ですね!

Hatena タグ:

JDK 6 Update 15 がリリースされてます

木曜日, 8 月 6th, 2009

JDK 6 Update 15 がリリースされてます。

Windows 7 、Internet Explorer 8、Windows Vista SP2 などのサポートをしているようです。

G1 ガベージコレクタも含まれているようです。

この G1 ガベージコレクタ と言うものはいったい何なのでしょう?

調べてみたところ Garbage-Firstガーベージコレクタ 略のようです。

名前からして早そうですね。

今までのガベージコレクタは 世代別GC と呼ばれるものでヒープ領域を物理的に二つのYoung領域とOld領域(Tenured領域)に分けて管理しています。

それに対してG1 ガベージコレクタ はヒープ領域は一つです!

その一つだけ用意された領域の中でいくつかをYoung領域とし、残りをOld領域として利用してます。

詳しくは Java SE 6 Update 14のEarly Access公開、G1ガーベージコレクタが利用可能に をご覧ください。

これによって、全ヒープ領域に対して常にフルGCを実施するのではなくGCの効果が高い領域を優先的に開放するので、アプリケーションの停止時間を大幅に減少できる。

パフォーマンスアップが期待されますね。

とりあえず今からダウンロードしてインストールすることにします。

Hatena タグ:

永ちゃん 歌ってくれないの?

火曜日, 8 月 4th, 2009

スマスマに永ちゃんが出演するので録画した。

それを今日見たけど飯食ってトークしてるだけじゃん!

一曲くらい歌ってくれるのかと最後までみたけど歌ってくれなかった。

4年ぶりのアルバムは今度の休みにでも買いに行こう。

もう一度ロックンロール・アーミーツアーやってくれないかなぁ・・・

歳が歳だから無理だろう・・・

でもキャパが1500人程度の小さなステージでも来てくれた時はうれしかった!

一番前の席は取れなかったが前から6列目のセンターでしっかり楽しませてもらった。

それ以来テレビでしか見てないなぁ・・・

WOWOW でやってた100回目の武道館はしゃれが効いててよかった。

やっぱ、永ちゃんは最高!