-
Log4jの設定方法
Log4jの設定ファイルを指定する場合
(1)クラスパスの通ったところに置く
(2)-Dlog4j.configuration=urlを使って、Javaオプションで指定
(3)DOMConfiguratorクラスを使って、ロジック中で指定
-
静的インポート
クラスのstaticなメンバー(staticなフィールド、メソッド等)のみをインポート出来る。
→修飾部を省略して利用できる。(Java5から)
例えば)
import static java.lang.Math.PI;
import static java.lang.Math.sin;
class Test {
public static void main(String args[]) {
System.out.println(sin(PI/2));
}
}
-
リテラル
-
整数リテラル
16進数・・・先頭に0x
8進数・・・先頭に0
long型にする場合は、後ろにLまたはlをつける。
整数型に何もつけないと『int』と解釈される。
-
浮動小数点リテラル
小数表現に、eまたはEを使う。
例えば)
1e2,1E+2・・・100
1e-2・・・0.01
float型を表現したいときは、後ろにfまたはFをつける。
何もつけないと、『double』型とされる。
^^^^^^^^
-
文字リテラル
引用符「'」で囲む
-
文字列リテラル
引用符「"」で囲む
-
単項演算子と代入演算子は、右結合(右から演算が実行)
-
代入演算子が続いている場合は、オペランドを左から評価した後に、右から代入してゆく。
&&、||、?:以外の演算子に対しては、演算子実行前に左から評価される。
例えば)
f1()+f2()
f1,f2が実行されてから、+が実行される。
例えば)
int i=3;
h[i] = i + 5;
h[i]がh[3]に評価されてから、代入が行われる。
そのため、結果はh[3]に5が代入される。
-
剰余演算子
符号がある場合、符号をとって計算し、左オペランドの符号をつける。
例えば)
-9%5も-9%-5も、結果は-4
-
X=Y=Z=3;
右から実行され、それぞれの戻り値は、右辺の値になる。
まず、Z=3が実行され、戻りは、3
-
「サブクラス instanceof スーパークラス」「インターフェースを実装するクラス instanceof そのインターフェース」 の場合にtrueになる。
-
インスタンス初期化子
staticのついていない{}で囲まれたブロック
オブジェクトが生成されるときに(superの呼出し後に)実行される。
-
静的初期化子(staticイニシャライザ)
クラスのロード時に一度だけ実行される static で宣言されたコードブロックのこと。
-
継承の話
フィールドは、参照変数が参照するオブジェクトの型ではなく、参照変数の型によって指定される。
呼び出されるインスタントメソッドは(非staticメソッド)は、参照変数の型ではなく、その変数が参照するオブジェクトの型によって決められる。
クラスメソッド(staticメソッド)の場合は、、変数の型で決められる。
「変数.フィールド」は、オブジェクトの型のフィールドではなく、変数の型のフィールドを意味する。(継承の話)
インスタンスメソッドを「変数.メソッド」のように呼び出すと、変数が実際に参照するオブジェトの型のメソッドが呼び出される。(継承の話)
ちなみにクラスメソッドの場合は、変数の型のメソッドが呼び出される。
-
可変長引数リストより、引数の数が一致するものの方が優先して、呼び出される。
-
System.gc();やRuntime.getRuntime().gc();でガーベッジコレクションを促せる。
-
デバック時に、Javaのシステム日付を変更する。
#JAVAのオプション
#必要に応じて上書きする
#JVM_OPTS="-Dcmpf.properties=${BATCH_HOME}/bin/resources/lte.batch.properties -Dcmpf.properties.encoding=MS932"
JVM_OPTS="-Dcmpf.constantdate=20121205000001 -Dcmpf.properties=${BATCH_HOME}/bin/resources/lte.batch.properties -Dcmpf.properties.encoding=MS932"
#JVM_OPTS="-Dcmpf.constantdate=20121128000001 -Dcmpf.properties=${BATCH_HOME}/bin/resources/lte.batch.properties -Dcmpf.properties.encoding=MS932"