yuu_nkjm blog
2010-07-19(Mon) 編集
[Java][リンク] Javaでの文字列結合
つまり、文字列の結合を1行でしか使わない場合は、わざわざ自分でStringBuilderに書き換える意味は無い。
複数行にまたがって結合する場合は、自分でStringBuilder#append()を使ってやらないと実行効率が悪い。
(中略)結合をループで使う場合や複数行で使う場合はStringBuilderを使うべき。
Java文字列メモ(Hishidama's Java String Memo)
上記リンク先に,JDK1.5でStringに対する+演算子がどう変換されるかを,jadを使って解析した結果が出ている.これを見ると,抜粋したまとめに従うのが良さそう.
結合をループで行う場合の解析結果が出ていないが,ループを行う場合は必然的に複数行で結合を行うことになるので,最終行の様な結論になるのだろう.
参考ページ
- ひしだまのコンピューター関連技術メモ(Hishidama's Programming MemoPage)
今回引用したページでは,StringBufferとStringBuilderの違いとか文字列の比較に関する考察とか,時々思い出したくなる情報がよくまとまっている.それだけでなく,本サイトには,Javaに関するちょっとマニアックな情報がたくさん載っている.さらに,技術系に関しても役立つTipsがいっぱい.Javaに関して網羅的な勉強が出来るといったまとめかたではないが,Tipsが雑然とならんでいるのでもなく,Tipsがテーマ毎にほどよいサイズにまとめられているので非常に有用だと思う.
2011-07-19(Tue) 編集
[サーバまとめ][Linux][openSUSE] pdumpfsの設定
- pdumpfsのインストール.
cd /usr/local/src wget http://0xcc.net/pdumpfs/pdumpfs-1.3.tar.gz tar zxvf pdumpfs-1.3.tar.gz cd pdumpfs-1.3 make ln -s /usr/local/src/pdumpfs-1.3/pdumpfs /usr/bin/pdumpfs
- pdumpfs-cleanのインストール.
wget http://tobysoft.net/archives/ubuntu/pdumpfs-clean
- pdumpfsを愛用しているが,rsyncに乗り換えても良いかも.
- pdumpfs: Plan9もどきのバックアップシステム
- rsync で pdumpfs みたいなことをする - daily dayflower
定期実行
"/etc/cron.daily/whole-pdumpfs.sh"に以下の様な内容を記述する.
# vi /etc/cron.daily/whole-pdumpfs.sh
#!/bin/sh
#PATH=$PATH:/usr/bin
DEST_DIR=/mnt/exthdd/pdumpfs
LOG_DIR=/mnt/exthdd/pdumpfs/log
# Settings
pdumpfs --log-file=$LOG_DIR/exec.log /etc $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
# Data
pdumpfs --log-file=$LOG_DIR/exec.log /srv $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /var $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /usr $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /home $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
# System
pdumpfs --log-file=$LOG_DIR/exec.log /bin $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /boot $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /lib $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /lib64 $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /media $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /opt $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /root $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /sbin $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
pdumpfs --log-file=$LOG_DIR/exec.log /selinux $DEST_DIR>$LOG_DIR/stdout.log 2>$LOG_DIR/error.log
LVMのスナップショットを使ったデータの整合性を考慮した同期バックアップ - yuu_nkjm blog(2011-08-09)と組み合わせたいんだけど,手が回っていない.