JavaのGCログの出力設定

JavaでGCログを出力する時の設定方法です。

Javaコマンドに2つのパラメータを付けます。

  •  -Xloggc:<ファイル名>  (GCログ出力先ファイル名を指定します)
  • -XX:+PrintGCTimeStamps (GCログに時刻を追加します)

<例>

上記の例にある「date +%Y%m%d%H%M%S 」を入れることで、実行する度にファイル名に時刻が含まれて、新しくログファイルを作成してくれます(これやらないと毎回上書きしてしまって大事なログが消えちゃいます(ノД`))。

出力されたGCログはGC Viewerできれいにみることができます。

tagtraum

GC Viewerのダウンロードはこちら


HTML5やCSS3のブラウザごとの対応状況の調べ方

HTML5やJavaScriptなど新しめの技術を使って、開発する際にその技術がどのブラウザでサポートされているかを調べる必要がありますよね~。そういう時によく使ってるサイトCan I useです↓

対応状況が一目でわかる:Can I use

Screenshot of caniuse.com

「Can I use ____ ?」の___部分に調べたい技術を入力してenterキーを押すだけです! 例えば、JavaScriptの「XMLHttpRequest Level2」で調べた場合はこんな感じです↓

Screenshot of caniuse.com

私だけかもしれませんが、これ使う度に「またIEかぁ・・・」って思ってます。。。(社内がまだIE8なんです(´Д`。))


XMLHttpRequestでクロスドメインにCookieを送信する

仕事で少し調べたので、その時のメモです。

XMLHttpRequestでクロスドメインにリクエストを送信する時にCookieもリクエストに含めたい場合は以下のように書きます。

3行目の「withCredentials」プロパティをtrueに設定する必要があります。

【ソースコード詳細】

1行目: var xhr = new XMLHttpRequest();
 → XMLHttpRequestオブジェクトを作成します。

2行目: xhr.open(‘GET’, ‘http://test.com/rest.php’, true);
 → openメソッドでリクエストを初期化する。左から順にメソッド(GET、POSTなど)、URL、非同期フラグを指定します。

3行目: xhr.withCredentials = true;
 → withCredentialsプロパティをtrueにセットする(デフォルトはfalse)。これで、Cookieが送れるようになります。

4行目以降: xhr.onreadystatechange = function() {・・・・・・・
 → 非同期通信にしている場合は、readyState プロパティが変わる毎に呼び出されるonreadystatechangeに匿名関数を代入して、readyStateが4(通信完了)になった時に、APIから取得した文字列(responseText)をalertで表示しています。

※注意※
XMLHttpRequest Level2に対応したブラウザでしか使用できません。IE8、IE9とかでは対応できません。

ブラウザごとの対応状況を調べるにこちらの記事↓
HTML5やCSS3のブラウザごとの対応状況の調べ方


日々のSE業務で得たノウハウと趣味