Eclipse: JavaDocビューが文字化けする問題

f:id:ikuyani:20170426041638p:plain
テキストエディタの文字コートがUTF-8ではないためです。メニューバーから[ウィンドウ]-[設定]-[一般]-[ワークスペース]の順で辿り、テキスト・ファイル・エンコードUTF-8に変更すると解決しますが、ファイルの文字コードがMS932が指定されているプロジェクトの場合は、ファイル個々の設定でMS932に変更する必要があります。

Java: メモリ使用量のチェックをする

まずJavaVMのメモリ関連の値を取得するメソッドを紹介します。

// JavaVMが利用できるメモリの上限値
Runtime.getRuntime().maxMemory();

// JavaVMが確保済みのメモリ領域のうち、未使用領域のサイズ
Runtime.getRuntime().freeMemory();

// JavaVMが確保済みのメモリ領域のサイズ
Runtime.getRuntime().totalMemory();

実行中のJavaアプリケーションのメモリ使用量は、確保済みメモリ領域から未使用領域を減算することで計算します。

// Javaアプリケーションのメモリ使用量
Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
続きを読む

Windows bat: 設定ファイルを読む

設定ファイルを作り、Windowsのbatプログラムで読み込む方法です。

  • key=value形式の設定ファイルを読み込む
  • 環境変数の定義のみのbatファイルをcallする

の2通りを紹介します。
前者は他の言語のアプリケーションと設定ファイルを共通化することができますが、読み込み処理を実装する必要があり、想定外の定義がされるとバグの原因となります。
後者はbatのみでしか使えませんが、確実に読み込めます。

続きを読む

Windows bat: ログファイルをローテートする

Windowsのbatプログラムでログのローテートをする方法です。サンプルとしてファイルサイズによるログローテートを記載しています。

  • 最大バイト数を超えた場合、世代番号でローテートする。ローテートは1から最大の世代数で範囲で実行し、途中で抜けがあっても範囲内のファイルは全てローテートする。
  • 最大の世代数を超えた場合、そのファイルは削除する。

週単位や月単位でローテートする場合は、ジョブの実行タイミングを調整し、「FileRotate.bat」を週1や月1で実行すればよいと思います。

続きを読む

Windows bat: サービスの状態監視をする

Windowsのサービスの状態監視をするbatプログラムのサンプルです。OVOなどの監視サービスを利用することを想定し、実行中以外の場合にエラーログ(Error.log)に出力します。もっともサービス監視はどの監視サービスにもありますし、監視機能を自前で用意する場合もJavaなどで実装しますが。

続きを読む