Archive for 5 月 6th, 2009

日本語対応が遅れているのかなぁ?

水曜日, 5 月 6th, 2009

製品バージョン: NetBeans IDE Dev (Build 200905051401)
Java: 1.6.0_13; Java HotSpot(TM) Client VM 11.3-b02
システム: x86 上で動作する SunOS バージョン 5.10; eucJP-open; ja_JP (nb)
ユーザーディレクトリ: /.netbeans/dev

この環境で下記のように日本語が含まれているコードとなると不具合がおこる。(サンプル長くてごめんなさい)

package javaapplication1;

import java.util.concurrent.atomic.AtomicInteger;

public class Main {

    private static final AtomicInteger count = new AtomicInteger();

    public static void main(String[] args) throws InterruptedException {
        long start, stop, diff;
        System.out.println(“Start”);
        start = System.currentTimeMillis();
        Thread t = new Thread() {

            @Override
            public void run() {
                for (int i = 0; i < 1000000000; ++i) {
                    count.incrementAndGet();
                }
            }
        };
        t.start();
        for (int i = 0; i < 1000000000; ++i) {
            count.incrementAndGet();
        }
        t.join();
        stop = System.currentTimeMillis();
        System.out.println(“Finish”);
        diff = stop – start;
        System.out.println(diff + “ミリ秒”);
        System.out.println(count);
    }
}

 

このように 6.7Beta ユーザーテストプログラムでレポートされていた現象と同じ?ようなエラーが発生します。

レポートでは Windows 環境で文字コードに UTF-8 を使用すると起こる現象で Windows-31j を使用すれば回避できるようでした。

Solaris 10 5_09 で UTF-8 を使用してもアウトでした。

11

ならば、文字コードを EUC-JP にすれば・・

12

ガ━━(= ̄□ ̄=)━━ン!!

13

エラーの数が少しへっただけじゃん (ToT)

Solaris よく解んないから念のために x-eucJP-Open でも試したけど一緒でした。

まさか Windows-31j で回避できたら笑っちゃね

しまった!

もう一つこのプロジェクトと比較用のプロジェクトを開いてました。

EUC-JP にすれば OK でした。

どうりで数が減ったんでおかしいと思った。

すみませんでした。

たぶん、システムのデフォルト文字コードでないと駄目なのかなぁ・・・

Hatena タグ: