ページ

2011年4月26日火曜日

JDK7 にバンドル予定の新機能 メモ

■ JDK7 にバンドル予定の新機能 メモ


【APIの改善点】
・switch 文での String
~ switch 文で String を使用できるようになる。
例:
switch (myString) {
    case "one":
        <do something>;
        break;
    case "red":
        <do something else>;
        break;
    Default:
        <do something generic>;
}


・Generics インスタンス生成のための型推論の改善
~ 2 番目の <> 構成体を以下のように推定することができる。
例:
Map<String, List<String>> anagrams = new HashMap<();


・コレクションの言語サポート
~ 配列を初期化する構文を使用して配列に含める値を指定することが出来る。
例:
List<String> numbers = ["one", "two", "three", "four", "five"];


・自動リソース管理
~ try 文の実行が完了すると、InputStream や OutputStream などのリソースが自動的に閉じられる。
例:
try (BufferedReader reader = new BufferedReader(new FileReader(file)) {
    return reader.readLine();
}


・マルチキャッチ
~ 複数の例外を同じcatchブロックでキャッチできる。
例:
try {
    ・・・
} catch (IOException | InterruptedException e) {

・java.util.Objectsクラスの提供
~ リフレクションを使い、オブジェクトのすべてのフィールドを書き出すtoString(arg)など。


・ダイアモンド演算子
~ new LinkedList<>()


・enumの大小比較
・BigDecimalで直接演算子で計算が可能
・引数チェック用のアノテーション(@NotNullみたいなもの)



【VMの改善点】

・コンプレス64ビットオブジェクトポインタ
~ 64ビットJavaでもポインタ(オブジェクトの位置を表現する変数)を短く表現することで消費メモリを減らす機能


・G1ガベージコレクタ
~ ヒープ領域は1つだけ用意され、その中を小さな領域に分割する。
そしてその領域のうちいくつかをYoung領域とし、残りをOld領域として利用する。(FullGCの発生頻度を減らす効果)
Java SE for Businessのサポート契約を購入する必要がある。


・クラスローダアーキテクチャアップグレード


■ その他(JDK8に持ち越し?)
・クロージャ
・Swingアプリケーションフレームワーク


2011年4月17日日曜日

partimageを使ったOSのバックアップ&リストア手順

partimageを使ったOSのバックアップ&リストア手順

■ 事前準備
ハードディスクを3台用意する。それぞれは以下の目的で利用する。
HD1 ・・・ WindowsXP(通常利用するOS)、Ubuntu(バックアップやリストア作業を行う為のOS)
2つのOSをデュアルブート起動出来るようにしておく。
HD2 ・・・ データ専用(作成したデータは、すべてここに保存する。マイドキュメントの位置もCドライブから移動しておく)
HD3 ・・・ HD1のWindowsXPがインストールされているパーティションのクローン。
通常利用するOSが壊れたときのための緊急用OS
NAS ・・・ OSイメージをバックアップしておく場所。HD2のバックアップにも利用する。


■ バックアップ
# 管理者になる
su -

# バックアップイメージを保存するファイルサーバーをマウントする。
mkdir /mnt/private
smbmount //<NASのIPアドレス> /mnt/nas -o password=<パスワード>,username=<ユーザーID>,ip=<NASのIPアドレス>

# partimageを起動
partimage

・ 設定内容
1."Partition to save/restore"にバックアップ対象のパーティションを選択する。
例) /hdb/dev1

2."Image file to create/use"にイメージファイルの保存先を指定する。
例)"/mnt/nas/partimage/xp_20110417"

3."Action to be done"で"Save partition into a new image file"が選択されている事を確認する。

F5を押す。
イメージの圧縮方法がGZipになっていると時間がかかるのでNoneにする。

F5 → OK → OK

※ ハードディスクが断片化していると、うまくリストアできない場合がある、
バックアップをとる前に、"Defraggler"などのツールを利用して、
断片化されているファイルを0個にすることをお勧めする。


■ リストア
# 管理者になる
su -

# partimageを起動
partimage

・ 設定内容
1."Partition to save/restore"にリストア対象のパーティションを選択する。
例) /hda/dev1

2."Image file to create/use"にイメージファイルの保存先を指定する。
例)"/mnt/nas/partimage/xp_20110417.000"
※末尾に".000"が付いていることに注意

3."Action to be done"で"Restore partition from an image file"が選択されている事を確認する。

F5を押す。
F5 → OK → OK