Java
毎度忘れるのでメモしておく。 事前準備としてTomcat起動のjavaオプションに以下を追加しておく。 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=7900 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.aut…
インストールされているJavaのバージョンを確認する $ /usr/libexec/java_home -V Matching Java Virtual Machines (2): 1.8.0_40, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home 1.8.0_05, x86_64: "Java SE 8" /L…
オブジェクトを楽にディープコピーするコード。 性能面の問題やSerializableなメンバーじゃないとコピーされないとか問題があるけどメモ。 private <T> T deepCopy(final T target) { final ByteArrayOutputStream bos = new ByteArrayOutputStream(); final Ob</t>…
TomcatはデフォルトでPostサイズが2MBを超えるとエラーになる。 デフォルト値を変更するにはserver.xmlにmaxPostSizeを指定する。 The maximum size in bytes of the POST which will be handled by the container FORM URL parameter parsing. The limit ca…
POSTしているはずの項目がサーバ側で取得できない事象が発生。 大量にPOSTした場合だけに発生するので単純なアプリのバグではない。 Tomcatのログ(catalina.out)にログが吐かれていた。 INFO: More than the maximum number of request parameters (GET pl…
今日Mybatisではまったこと。 以下のような値がnullの項目を含むレコードをselect。resultTypeにはMapを指定。 iduser_namemail_address 4 山田 太郎 (null) 取得結果をダンプしてみると、mail_address列はMapのキーが作られていない! [{id=4, user_name=山…
SuppressWarningsに指定できる文字列をど忘れしたときのTips。 javacコマンドに-Xオプションを渡してオプションの一覧を表示、-Xlintのところに書いているものが指定できる。 C:\Users\Eiichi>javac -X -Xlint 推奨の警告を有効にする -Xlint:{all,cast,depr…
Java1.4からあったらしいが、仕事ではlog4jばかりなので使う機会がなかった。 import java.io.IOException; import java.util.logging.FileHandler; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.SimpleForm…
Java7から追加されたtry-with-resourcesを試してみる。 java.lang.AutoCloseableを実装したクラスなら何でも良いのだが、 close()が呼ばれたことを分かりやすくするため自作クラスを作成する。 public class AutoCloseableStub implements AutoCloseable { @…