tomcat-jdbc poolのStatementFinalizerを有効にするとメモリリークっぽい事象になる件

StatementFinalizerはStatementのクローズ漏れを検知するために使用するが、Connectionから発行されたStatementの数だけインスタンスを生成する。 Statament自体はWeakReferenceのみの参照となっているが、そのWeakReferenceをハンドルするインスタンスは破…

Angularハンズオン#7@熊本を開催してきた

とはいってもやったのはほとんど会場貸しだけ。 [twitter:@albatrosary]さんが来てくださると言う事になったのでハンズオンという形で勉強会を開きました。地方だと東京に比べるとどうしても情報の密度が低く、業務で使用しない技術については触れる機会も少…

JSR 236 Concurrency Utilities for Java EEは何が嬉しいのか

これはJava EE Advent Calendar 2015の6日目です。Java SEの世界では自由にスレッドを生成することができましたが、Java EEの世界ではユーザーが自分たちでスレッドを新しく立ち上げることは大きな制限がありました。 JSR 236 Concurrency Utilities for Jav…

Javaの例外処理について

これはJavaアドベントカレンダーの5日目です。最近例外処理について考えなければいけないことがあったので、こうしたほうが良いよというのをまとめます。 他の言語からJavaに移ってきた場合に微妙なところで変な感じになることがあるので。ここで扱うJavaの…

現場で使える[最新]Java SE 7/8 速攻入門をいただいたので読んだ

[twitter:@skrb]さんから現場で使える[最新]Java SE 7/8 速攻入門をいただいたので読みました。 ありがとうございます。現場で使える[最新]Java SE 7/8 速攻入門作者: 櫻庭祐一出版社/メーカー: 技術評論社発売日: 2015/11/19メディア: Kindle版この商品を…

Thymeleafのth:includeとth:replaceの差

Thymeleafのth:includeとth:replaceは両方とも外部ファイルの内容を持ってくるタグだが、th:includeはタグの中身のみ置換するのに対して、th:replaceはタグごと置換する。http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf_ja.html#フラグメントの…

現在の筋トレ時の栄養補給について

1年半ぐらいもうがんばってるので、サプリメント類何を使ってるのかを備忘録として。 私は以下のものを飲んでます。 プロテイン 色々試した結果、今は以下のものを飲んでます。ビーレジェンド ホエイプロテイン 激うまチョコ風味 1Kg出版社/メーカー: 株式会…

Windows上でのJavaのファイルアクセスが特定の場合に微妙な感じ。

コード public class Main { public static void main(String[] args) throws IOException { System.out.println("c:=" + new File("C:").getCanonicalPath()); System.out.println("c:\\=" + new File("C:\\").getCanonicalPath()); } } 実行結果 c:=C:\Use…

最初のシステムを作った時の思い出

自分のシステム開発の仕方はよくも悪くも社会人になって最初のシステムの作り方の影響を受けている気がするので、思い出しながら書いてみる。学生時代、ずっとデータの打ち込み作業をやっていました。フリーソフトウェアを公開代行するサービスを行っている…

javaのコンパイル時に-targetを使用してクロスコンパイルをする場合は-bootclasspathでrt.jarを指定する必要がある。

最近まで知りませんでした(しろめhttps://docs.oracle.com/javase/jp/6/technotes/tools/windows/javac.html#crosscomp-example% javac -target 1.5 -bootclasspath jdk1.5.0\lib\rt.jar \ -extdirs "" OldCode.java ・-target 1.5 オプションにより、1.5 VM…

WebSphere Application Server Liberty Coreのmavenリポジトリを見てみた

CodeZineの方でWebSphere Application Server Liberty Core(以下Liberty Core)についての概要記事が書いてあったので微妙なところで。 http://codezine.jp/article/detail/8834CodeZineではEclipseによる開発からのデプロイ方法が公開されていますが、 本番…

WebSphere Application Server Liberty CoreのJava EE 7対応版が出てたので見てみた

先月、Java EEの商用御三家の一角IBMのJava EE 7対応版Application Serverが出ていたので、触ってみました。遊ぶだけなら無償なのでダウンロードは以下から。 https://developer.ibm.com/wasdev/GlassFish、WildFly、WeblogicはなんだかんだでRI系のJava EE …

ThreadDumpの内容をJavaのコード内で扱う

[twitter:@making]さんにおしえてもらいました。 code public static void main(String... args) { java.util.List<java.lang.management.ThreadInfo> threadInfos = java.util.Arrays.asList(java.lang.management.ManagementFactory.getThreadMXBean().dumpAllThreads(true, true)); System.</java.lang.management.threadinfo>…

Windows上のNetBeans 8.0.2 でmaven3.3.3を使用しようとすると失敗する

maven3.3.3からmvn.batがmvn.cmdにリネームされたらしいです。 cd XXXXXXt; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_45" M2_HOME=C:\\apps\\maven\\apache-maven-3.3.3 cmd /c "\"\"C:\\apps\\maven\\apache-maven-3.3.3\\bin\\mvn.bat\" -DskipTests…

Team Foundation Serverが使いにくすぎて辛い

今仕事でTeam Foundation Serverを使っているのだけれども、使いにくすぎる。 と思って調べてみたら元々VSSに皮かぶせただけなのね。バージョン管理システムとしてVSSを採用した統合イテレーション環境という感じみたい。現時点ではバージョン管理システムと…

2年以上勉強会の運営をしてて(懇親会偏)

工夫しようは使う必要がない。工夫したなら、使ってもいいッ!※このエントリはどこかの組織を代表して言うものではありません。個人的な意見なのでご注意ください。忙しい人のために3行で。 お金があるなら懇親会は居酒屋で ビアバッシュ形式だと2000円ぐら…

2年以上勉強会の運営をしてて

工夫しようは使う必要がない。工夫したなら、使ってもいいッ!※このエントリはどこかの組織を代表して言うものではありません。個人的な意見なのでご注意ください。忙しい人のために3行で。 東京ではドタキャンが3割ぐらいいる。リマインダすることでドタキ…

自分が欲しかったJavaのOptional

こんなの public class Optional<T> implements List<T>, Set<T> { ・ ・ ・ }</t></t></t>

ドラゴンボールZ復活の『F』を見てきた(ネタバレ)

ドラゴンボール世代として非常に面白かったのでメモ。 ドラゴンボール世代としては一度は見るべきだと思う。ただ、そのかわり結構気になるところもある。 まず、宇宙警察出てきたけど、鳥山明の短編で出てきて、本編で出てこなかったキャラをいきなり説明な…

gs-collections-kataをやってみた

とりあえずひと通りやってみての感想Java 8のStream APIと命名が違いすぎるというのは結構困る。 ほんとうに困る。 これなんだっけ?みたいなことが結構ある。Java 8以前からあるのでしょうがない。 どうもSmalltalk系の命名らしい。 C#のLINQとかRubyを扱っ…

Java SE 7のサポート終了に向けて

Java SE 7のサポート終了します。と、Oracleさんは言ってますが、実はまだ終了しません。終了するのはOracle製Java SE 7の無償でのサポート期間です。 Java SE自体は、多数の会社が出荷しています。Oracle JDK(無償版)、Oracle JDK(有償版)、Open JDK、IBM J…

JJUG CCC Spring 2015を開催してきた

開催してきただけで結局セッション一つ見てません。 裏方こんなことやってますよ的な。 4月7日 JDTのハンズオンの打ち合わせ 有楽町まで来たのでついでにJDTの懇親会のお店の予約をした人が忙しいということだったので、その人の代わりにお店に伺い、打ち合…

Java Day Tokyo に参加していた

ということで、Java Day Tokyoに参加してきました。 参加したセッションは以下のとおり。 Java Day Tokyo 2015 基調講演 NetBeansとGlassFishではじめるJava EE 7ハンズオンラボ Java EE開発におけるJSFの活⽤について Project Lambdaハンズオン - ラムダ道…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

Java SE 8時点ではリフレクションを使ったインスタンス生成はほぼ問題にならない程度に早いらしい

ただし、Classオブジェクトをキャッシュした場合。 コード public class Hoge { public static void main(String[] args) throws ReflectiveOperationException { //一回目はウォームアップ test1(); test2(); test3(); test1(); test2(); test3(); } privat…

【間違い】Javaのパッケージ名に必ずドメイン名を含めなければいけないというのは現時点では古いらしい。

コメントにある通り、章立てが変わっただけらしいですね(・ω きちんと全部読みましょうというお話でした。 - Java SE 6 の言語使用では含めましょうとありました。 http://docs.oracle.com/javase/specs/jls/se6/html/packages.html#7.7ただ、この7.7につい…

spring-boot-batch-parentに依存したプロジェクトはconfigrationのバリデーションが行えない

ドキュメントには特に記載がないけれども、23.7.3 @ConfigurationProperties Validationの内容はバッチの作成時には使用できない。 使用するためにはbean validationを追加してあげる必要がある。 <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.e</groupid></dependency>…

SpringのRequestMappingの一覧をmavenで出力する。

こんな感じ。 ただし、Controllerのみで、RestControllerについては出力されません。SpringDocletというのがあって https://github.com/scottfrederick/springdocletそれを、 [twitter:@yujiorama]さんが更新したものを使います。 https://bitbucket.org/yuj…

spring-bootのログ出力[1.2.2]

spring-bootはデフォルトではslf4j+logbackでログ出力が行われている。 また、最初からそれなりに適切に設定されているため、運用段階ではそれほど困らないようにはなっている。 ただ、開発中は出てほしいログが足りないため、デフォルトのまま開発すると結…

spring-bootの設定一覧が神すぎる

Appendix A. Common application properties に設定一覧があることに気が付いた。 http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.htmlSpring bootはお手軽に開始できるけれども、商用APサーバーに近い規模…