2018-08-01から1ヶ月間の記事一覧
JEP 181: Nest-Based Access Controlというものがあります。これはNestmates(ネストメイト)と呼ばれるものです。 http://openjdk.java.net/jeps/181 Nestmatesは、クラスやインタフェースをネストして作成したとき、ネストする側される側の両方を指す言葉…
JEP 309: Dynamic Class-File Constantsというものがあります。これはConstant Dynamic(condy)と呼ばれるものです。 http://openjdk.java.net/jeps/309 Constant Dynamic、つまり動的な定数です。Javaでは今まで(10まで)プリミティブとリテラルを持つStr…
以前HotSpot VMのIntrinsicsを見ました。ビルド時にAD(Architecture Description)ファイルから各CPUアーキテクチャに合わせたC++のソースファイルを生成しています。 www.sakatakoichi.com しかし、ADファイルからどのようにC++のソースを生成しているのか…
Project Loomのソースを読んでいると、また遭遇しました。 public class Continuation { ... @HotSpotIntrinsicCandidate private static int doYield(int scopes) { throw new Error("Intrinsic not installed"); }; ... } @HotSpotIntrinsicCandidateアノ…
アノテーションをimplementsしたクラスを作成できるというのを最近知りました。アノテーションなんてJDK 1.5からあるのに、知らないもんですね… みなさんはご存知ですか?とTwitterにツイートしたところ、ご存知の方もたくさんいらっしゃいましたが、ご存知…
こんなことができるのを知りませんでした。 public class MethodReferenceSample { private void method1() { } public static void main(String[] args) { Runnable method1 = new MethodReferenceSample()::method1; } } メソッド参照の値をRunnable型の変…
LINE様が東京を始め京都、大阪、福岡などで頻繁に開催されているいわゆる勉強会、Developer Meetupがあります。 2018年7月に福岡のLINE Fukuoka様で開催されたDeveloper Meetupに登壇しました。こちらの模様をLINE様のEngineer Blogに書いていただきました。…
以前Project ValhallaのL-World Value Typesのアーリーアクセスビルドを試しました。 www.sakatakoichi.com 今回もう少し触ってみます。 利用バージョン $ java -version openjdk version "11-lworldea" 2018-09-25 OpenJDK Runtime Environment 18.9 (build…
こちらのツイートが話題になっていました。 MySQL MLE Pluginはマルチ言語VMであるGraalVMを内包することでMySQL上で複数の開発言語でストアドプログラムを作成/実行可能とする。近日中にMySQL Labsで利用可能となる予定。まずはJavaScriptのサポートから。M…
今回は他言語実行環境としてのGraalVM、Polyglotに着目します。現時点での最新版、1.0.0-rc5を使います。 http://www.graalvm.org/downloads/ なお、rc5からCommunity EditionがmacOSに対応しました(今まではEnterprise Editionだけでした)。こちらを使い…
Project ValhallaのL-World Value Typesのアーリーアクセスビルドが出ています。 Valhalla Early-Access Builds Value Typesは、L-WorldではないQタイプのMinimal Value Types(MVT)という初期のプロトタイプがありました。 www.infoq.com 現在は従来のLタ…
Project Loomの(プロトタイプ的な)ソースコードが公開されました。chiroitoさんがさっそく試されています。 chiroito.hatenablog.jp 記事はLinuxですが、私もmacOSで動作させることができました。 Project Loomって何?という方はこちらをご覧ください。 w…
2018年7月30、31日にオラクルのサンタクララオフィス(つまりあのデータベース型の建物ではない)で開催された、JVM Language Summit(通称JVMLS)に参加しました。 http://openjdk.java.net/projects/mlvm/jvmlangsummit/ JVM Language Summitとは The JVM …