Java
そろそろJava8でコード書きたい ↓ まずはJVMをJava8で動かさないと...!(JVMに問題があった時に詰む) ↓ 本番のJVMをJava8にした ↓ 起動時にNewRelic入れてるサーバでエラーが出た ↓ 対応に数ヶ月かかるかもしれないとのこと\(^o^)/ (←イマココ) 出たエラー…
JVM Operation Casual Talks #1でLTとパネルディスカッションしてきました(togetterまとめ)。 運用に効く!JVMオプション三選 from Kazuhiro Oinuma この日登壇した人でJVM好きな人っていたんだろうか?っていうぐらいLL寄りな人が多かった印象だった。パネ…
I use Java VM's option -XX:+PrintGCTimeStamps in order to output time in GC log of Java VM , Just like this. TODAY=`date "+%Y%m%d-%H%M%S"` JAVA_OPTS="-server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=256m -XX:MaxPermSize=256m \ -XX:+UseConcM…
最近MacにJDKをインストールすることが多いんだけど(脆弱性がよく見つかる)、インストールされるディレクトリがどこだか覚えられらなくなってきたのメモ。 インストール Oracle からMac版の jdk-7uXX-macosx-x64.dmg のファイルを選んでダウンロードする。ん…
JRebelというソフトウェアを使うと、JavaでWebアプリケーションを開発する時に、ソースの修正→サーバ再起動 or 再ディプロイ がいらなくなるよーという話。 ライセンス 商用で使う場合はちゃんとライセンスを購入する必要があるけど、Socialという謎ライセン…
最近Jettyと戯れている。Tomcatに比べてちょっと扱いづらいところが可愛らしい。 Jettyはセキュリティ的な理由でAlias(Symbolic Link)をデフォルトでは無効にしている。でもsymlink使いたいんですよあたしゃ。というわけで、調べた結果web.xmlに下記を追加す…
なんか秘伝のタレみたいになってきたので後世のために共有。 前提 Webアプリケーションを想定 TomcatなりJettyなりがListenするポートは外部からはアクセスできない ※-Xms -Xmx -Xmn あたりは搭載しているメモリ容量によって変える、-XX:MaxPermSize -XX:Per…
English version JVMでGCのログ出すじゃないですか。んで、その時↓みたいに -XX:+PrintGCTimeStamps っていうオプションを指定するじゃないですか。 TODAY=`date "+%Y%m%d-%H%M%S"` JAVA_OPTS="-server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=256m -XX:Ma…
Javaの有名なライブラリでcommons-langというのがある。この中にEqualsBuilderというequals()メソッドを簡単に実装するための便利クラスがある(HashCodeBuilder, ToStringBuilderというクラスもある)。使い方はこんな感じ。 @Override public boolean equals…
JavaのテンプレートエンジンとしてFreeMarkerがある。テンプレートエンジンって割とみたいに書くことで余計な改行が入らないようになるじゃないですか。このFreeMarkerではどうするの?っていうのを同僚の人に教えてもらったので、ググれるようにまとめてお…
Javaで文字列を結合するときは一般的にはStringBuilderを使うけど、個人的には結合後の文字列がより直感的になるString.format() が好き。ただ、ソースを見ると明らかにString.format()は遅そうなのでベンチを取ってみた。 1万回ループを実行した場合の結果…
こんにちは。最近仕事ではめっきりJavaばっかり書いていて、そろそろ大嫌いなEclipseを使い始めて3ヶ月以上経ったので、今まで得たノウハウの一部をまとめておこうかと。 Eclipseで覚えておきたいショートカットキー とりあえず自分が日常的に使っているもの…