(b91)Java前回(2013-02-19)から3か月ほど経過しましたが、また少し状況が変わったようです。今回は、EarlyAccess版ビルドをインストールしてみました。Available,正式リリース?)は、来年の3月(2014-03-18)になるようです。経由インストール今回インストールしたバージョンは、b91です。mode)ラムダのバイトコードラムダ自体のサンプルは特になしです。例によって、バイトコードがどうなっているかを調べました。0privateのlambda$0メソッドが作られていて、メソッドfnとほとんど同じコードになっているのが分かります。見えないローカルメソッドに置き換えられています。一点、lambda$0の方にはflagsにACC_SYNTHETICが余計についています。§4.7.8.と書いてあります。ラムダのように、コンパイラが生成してソースコード上は見えないメソッドに付けられるフラグのようです。ところで、ラムダの呼び出しの仕掛けはこれだけではなく、省略した最初の方にBootstrapMethodsという記述があり、invokedynamicの際に使われるようです。これより古い実装では、内部クラスによる実装だったとか(未確認)。この辺の詳細は、また機会があれば。ProfilesAPIドキュメントを見てみます。b91)ラムダのためのパッケージ、java.util.functionとjava.util.streamが追加されています。新しい日時APIのjava.timeも追加されています。java.sqlのDate,Time,Timestampには、java.timeのクラスとの相互変換ユーティリティメソッドが追加されています。compact3"のような見慣れない記述があります。Profiles"という機能のためのもので、JREフルセットでなくても動くアプリケーションを作るのに使うようです。その他ダイジェストでお送りします。interfaceのデフォルト実装メソッドは、JDBC-APIのようにinterfaceが多いAPIには向いていますね。JDBC4.2以降で追加されるメソッドはほとんどdefaultメソッドになるのかも。ラムダのために、primitiveラッパークラスにメソッドが追加されていたりします。staticなhashCodeが追加されているのは単なるユーティリティ?Eclipseは、まだJava8使えません。IDEAを推奨されていました。editionを使ってみました。Java8使えましたよ!またリリースが近くなったらまとめたいと思います。#java8Java8未満を切り捨てて色々と作ってみるシリーズ。処理系の実装これまでの実験のまとめとして、最後に処理系を作ってみました。(2)プロフィールid:argiusはてなブログをはじめよう!argiusさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。