R42日記スマートフォン用の表示で見るR42日記この日記は私的なものであり所属会社の見解とは無関係です。takahashikznITmediaに寄稿しました。Connector/Jの1.3.0以降でTIME型カラムの値が00:00のときにNULLになるバグ?Javaタイトルの通りです。昨日はBOOLEAN型に関するバグを見つけましたが、今度はTIME型です。00:00の値のときだけNULLになります。Connector/Jの1.3.0以降でBOOLEANのカラムが常にtrueになるバグ?Javaちょっと前にConnector/Jが1.3.0にアップデートされたのですが、とたんにTINYINT(1)のカラムの値を正しく取得できなくなりました。MySQLはBOOLEANをTINYINT(1)の別名として扱います。アプリケーションから見たらこのカラムはBoolean型です。Connector/Jの1.3.0以降でBOOLEANのカラムが常にtrueになるバグ?2015-11-12SpringとGroovyにも直列化オブジェクト脆弱性Java昨日の記事の続きです。昨日はcommons-collectionsについて、どのような仕組みで攻撃が成功しうるかを書きました。この問題はcommons-collections限定ではなく、GroovyまたはSpringFrameworkのクラスをロードしている環境でも起こりえます。「SpringとGroovyにも直列化オブジェクト脆弱性」も参照してください。昨日からJava界隈で話題になっているcommons-collectionsの脆弱性について。対応するチケットはこちら。CentralにJavassist-3.19.0が登録されていたので、早速試してみたところ、この有り様。諦めて、このバグを回避するようソースを全面的を書き換えることにしました。書き換えた内容...UseStringDeduplicationの効果を計測する2014-11-29ドッペルゲンガー?Java言葉は違えども、考えていることは全く同じ。何のことかというと、これ。このライブラリ、僕が作ったIndolentlyにソックリなんです。関数名も...ドッペルゲンガー?2014-10-20CheckStyleがJava8に対応JavaCheckStyle-5.9がリリースされています。リリースノートはこちら。5.9での最大の変更点は、このバージョンからJava8の文法に対応したことです。ラムダ式だらけのソースに対してチェックを試して...CheckStyleがJava8に対応2014-10-15Java8u25がリリースされるもコンパイラのバグは解消されずJavaJava8u25がリリースされています。...!!!以前書いたコンパイラのバグ*1は依然として解消されず。バグパレードを検索したら、まさに同じ問題が登録済みでした。Java8u20から導入された...Java8u25がリリースされるもコンパイラのバグは解消されず2014-09-03Java8u20で文字列のメモリ効率が向上Java以前、こんな記事(と言ってもほとんど意訳だけ)を書きました。Java7u06より前のバージョンでは、String.substringなどで文字列を切り出す際に元の文字列の内部表現であるchar配列...Java8u20で文字列のメモリ効率が向上2014-08-25JDK8u20のコンパイラのバグにぶち当たるJavaいつの間にかJDK8u20がリリースされていたので更新しました。コンパイラで例外が発生しました(1.8.0_20)。みんなが「無いとムリ!!死ぬ!!」と、一斉唱和したおかげで、作者の方も最優先で対応することを決めた模様です。正式リリース!Java長いベータ版の期間を経て、とうとうTomcat8がリリースされました。商用環境で数ヶ月間の連続運用を行っている現在、大きな問題は出ていません。正式リリース!2014-06-23caseがStringなswitch文はmapで実装されている?Javahttp://java-performance.info/string-switch-performance/こちらより。in...caseがStringなswitch文はmapで実装されている?2014-06-01CheckStyle-all.jarをビルドする方法JavaCheckStyleがlambdaの構文に対応していないので、最新版をソースからビルドしてみることに。installではダメです。checkstyle本体のJar...CheckStyle-all.jarをビルドする方法2014-05-08closure-compiler-20140407でVMBridgeのエラーJava僕は強力にタイプチェックのかかる環境で開発するのが好きです。Javaではできるだけキャストを排除するのは当然として、JSを書くときもclosure-compilerのアノテーションでタイプセーフに書くようにしています。repoに未登録だったことに若干の不便を感じておりました。インスタンスフィールドなら、finalであってもリフレクションで変更できました。finalなフィールド限定です。FIXされた模様です。いうか、リリースされて数時間後に早速、バグチケット切られとるやん。spring-4.0.1のリリースはよ。ht...Spring4.0.0のStackOverFlowは4.0.1で解消2013-12-24実はStringはメモリリークの原因だった(※1.7.0_06未満)JavaInfoQから。1.7.0_06でアグレッシブな変更が入ったらしいです。org.springframework.util.ObjectUtils.nullSafeHashCode(...Spring4.0.0が出た2013-10-22Tomcat8.0.0がやたら遅い件JavaTomcat8もそろそろリリースですね。