Factory Method ってなに?
他のクラスのインスタンス化の責任を負う必要がある普通の実装。
class Sample { class showName() { Name name = new AName(); System.out.println(name.getName()); // I'm A Name name = new BName(); System.out.println(name.getName()); // I'm B } } abstract class Name { abstract void getName(); } class AName extends Name { void getName() { System.out.println ("I'm A"); } } class BName extends Name { void getName() { System.out.println ("I'm B"); } }
インスタンスの生成は一箇所に集約して、責任を Factory に任せる実装
abstract class Factory { abstract Name factoryMethod(); } public class NameFactory extends Factory { abstract Name factoryMethod(); return new GetName(); } } public abstract class GetName { public abstract void manA(); public abstract void manB(); } public class Name extends GetName { public void manA() { System.out.println ("I'm A"); } public void manB() { System.out.println ("I'm B"); } } class Sample { void hoge() { Factory factory = new NameFactory(); Name name = factory.factoryMethod(); name.manA(); // I'm A name.manB(); // I'm B } }
CPU の使用状況をチェックする方法
CPU の使用状況をチェックする方法 (sar -u)
$ sar -u 00:00:00 %usr %sys %wio %idle 01:00:00 0 0 0 100
%usr
プロセッサがユーザーモードになっている時間の割合が表示されます。
%sys
プロセッサがシステムモードになっている時間の割合が表示されます。
%wio
プロセッサがアイドル状態で入出力の完了を待っている時間の割合が表示されます。
%idle
プロセッサがアイドル状態で入出力を待っていない時間の割合が表示されます。
一般に、%wio
の値が大きい場合は、ディスクの処理速度が低下していることを意味します。
参照
http://docs.oracle.com/cd/E19504-01/805-1753/spmonitor-40118/index.html
いまさらながら、権限のおさらい
パーミッション
項目 | 内容 |
---|---|
r | 読み込み |
w | 書き込み |
x | 実行またはディレクトリの移動 |
ユーザー | グループ | その他 | |
---|---|---|---|
パーミッション | r w x | r w x | r w x |
8進数 | 4 2 1 | 4 2 1 | 4 2 1 |
設定値 | 合計値 | 合計値 | 合計値 |
chmodコマンド
現状の状態を変更したい場合はu+rw-xとか書いた方がいいが、元の状態に関わらず変更したいときは数字で指定する
[penguin@suzuki ~]$ touch chownfile [penguin@suzuki ~]$ chmod u+rw-x,go+r-wx chownfile [penguin@suzuki ~]$ ls -l chownfile -rw-r--r--. 1 penguin users 0 6月 10 17:00 2014 chownfile [penguin@suzuki ~]$ chmod 664 chownfile [penguin@suzuki ~]$ ls -l chownfile -rw-rw-r--. 1 penguin users 0 6月 10 17:00 2014 chownfile [penguin@suzuki ~]$ chmod 266 chownfile [penguin@suzuki ~]$ ls -l chownfile --w-rw-rw-. 1 penguin users 0 6月 10 17:00 2014 chownfile