Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

関ジャバを初めてマイクロソフト様にて開催しました

僕が運営メンバーをしている関西Javaエンジニアの会(関ジャバ)ですが、 1/22(金)にマイクロソフト 関西支社にてMicrosoft Azure + Javaにフォーカスしたイベントを開催しました。 直前に連絡をいただいたのですが、なんとピザとビール、ソフトドリンクま…

JDK 9ではJavadocに検索ボックスができる

JEP 225: Javadoc Search いるよね〜。みんなブラウザの拡張機能とか入れてたはず。 生成してみた。 $ java -version java version "9-ea" Java(TM) SE Runtime Environment (build 9-ea+99-2015-12-23-184955.javare.4146.nc) Java HotSpot(TM) 64-Bit Serv…

JDK 9ではちょっとしたコレクションはファクトリメソッドで作れる

JEP 269: Convenience Factory Methods for Collections コレクションへの便利なファクトリメソッドを追加します、と。 上記のページにはJavaでのコレクション生成についてのJDK 9以前の書き方がいろいろありました。 一番ベーシックなやつ。 Set<String> set = new </string>…

JDK9では文字列の連結にinvokedynamicが使われることになりそうだ

JEPにあり、JDK9のターゲットになっている。 JEP 280: Indify String Concatenation Change the static String-concatenation bytecode sequence generated by javac to use invokedynamic calls to JDK library functions. This will enable future optimiz…

1/30(土)ScalaMatsuri 2016でスピーカーします

ScalaMatsuri 2016でスピーカーします。1/30(土)14:30 - 14:45です。部屋は、国際交流会議場 (400席; 通訳付き)でして、すごい部屋を割り当てていただいています。 scalamatsuri.org タイトルは「ScalaコードはJVMでどのように表現されているのか」です。お…

Uber JARとは

とある資料を読ませていただいていて、「Uber JAR」なる単語が。 java -jar hoge.jarでアプリケーションを起動するタイプのものを指すのは理解できたのですが、 Uberって?っと思い検索してみました。 stackoverflow.com Über is the German word for above …

ScalaのHelloWorldをjavapしてみた

クラスファイルはすべからくjavapしよう - Fight the Futurejyukutyo.hatenablog.com ということを言ったので、Scalaのコードもjavapしようと思いました。 もちろんscalacしてからjavapしてもよいのですが、ScalaはなんとREPLからjavapできると知りました。 …

クラスファイルはすべからくjavapしよう

public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } } javac HelloWorld.javaしてクラスファイルを生成します。さっそくjavap HelloWorldしましょう。javapコマンドはOpenJDK系(OpenJDKやHotSpot、…

try-with-resources 文のclose順序

超いまさらですが、JDK7で導入されたtry-with-resources文のclose順序です。 public class TryWithResources { public static void main(String[] args) { try (Resource r1 = new Resource("Resouce 1"); Resource r2 = new Resource("Resouce 2");) { // …

JavaOneステッカーとDukeポストイット

Java Magazine Vol.21を読んでJava 20周年記念のステッカー(非売品)をもらおう! - Fight the Futurejyukutyo.hatenablog.com いただきました!

JPAでエンティティ以外のクラスにクエリの結果をマッピングする in Hibernate

JPAでそもそもそういう使い方するなよってことかもしれませんが。 ネイティブクエリを発行してその結果をエンティティ以外のクラスのインスタンスにマッピングしたいことがあるとします。 JPAの実装にHibernateを使っているときは、以下のコードで実現できま…

TomcatとGlassFishで動作が違った

ServletContext#getRealPath(String)がTomcat 6,8ではnullではなかったけれど、GlassFish 4ではnullを返しました。 This method returns null if the servlet container cannot translate the virtual path to a real path for any reason (such as when the…

Gitのホスティングサイトを変更するコマンド

GitHubからBitBucketに移すとか、ホスティングサイトを変更したいとき。 --mirrorオプションを使うと楽でした。 $ git clone --mirror http://example.com/hoge.git $ cd hoge.git $ git push --mirror https://github.com/jyukutyo/hoge.git 最初ローカルで…

Java Magazine Vol.21を読んでJava 20周年記念のステッカー(非売品)をもらおう!

Java Magazine Vol.20 「パフォーマンス特集」/Java Day Tokyo 動画・資料公開ほか【Java Developer Newsletter Japan】 Java Magazine Vol.21を読んでいただいたご感想をお寄せ下さい。 お寄せいただいた方には、Java 20周年記念のステッカー(非売品)を3枚セ…

JDK1.6だと出るけど1.7だと出ないエラー

Jenkinsのサーバを移行したところ、古いプロジェクトのユニットテスト実行時に出るようになった。 java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b at javax.crypto.Cipher.getInstance(DashoA13*..) SunJCE_bはjce.jar…