きしだのはてな このページをアンテナに追加 RSSフィード

2018-09-17(月) JDK12は3/19リリース。あとOpenJDKのGithubリポジトリができた

[]JDK12は3/19リリース。あとOpenJDKのGithubリポジトリができた 02:52 JDK12は3/19リリース。あとOpenJDKのGithubリポジトリができたを含むブックマーク

9/25のJDK11リリースまで1週間となりました。


JDK12のスケジュール提案

そんな中、JDK12のスケジュールの提案が出てますね。2019/3/19リリースの予定です。

  2018/12/13  Rampdown Phase One
  2019/01/17  Rampdown Phase Two
  2019/01/31  Release-Candidate Phase
  2019/03/19  General Availability

Proposed schedule for JDK 12


OpenJDKのGithubリポジトリができた

ところで、OpenJDKのソース管理はMercurialで行われ、レビューはメーリングリストで行われています。

これをGitに移行してGithubを使ってみようという流れが起きています。

OpenJDK Commiter's Workshopでも長い時間をとって議論が行われていましたが、Mercurialリポジトリサイズが大きな問題になっていたように思います。


このプロジェクトはSkaraという名前になってます。

Call for Discussion: New Project: Skara -- investigating source code management options for the JDK sources

メーリングリストもできていますね。

skara-dev Info Page


ということで、まずはGithubリポジトリができました。

openjdk/jdk: Read-only mirror of http://hg.openjdk.java.net/jdk/jdk


Raw String Literalsが正式にJEPに入った

Raw String Literalsは正式にJEPに入りました。まだコードは取り込まれてないけど。

JEP proposed to target JDK 12: 326: Raw String Literals (Preview)

トラックバック - http://d.hatena.ne.jp/nowokay/20180917

2018-09-11(火) ランダムな向きのベクトルを生成する

ランダムな向きのベクトルを生成する 02:44 ランダムな向きのベクトルを生成するを含むブックマーク

ちょっと、ランダムな向きのベクトルを生成する必要があったので調べてみた。

さすがStackOverFlow。すぐあった。

正規分布で各要素を得て正規化すればいいということらしい。

distribution - random unit vector in multi-dimensional space - Stack Overflow


詳しい説明は ここを見ろってあったけど、よくわからない・・・

Hypersphere Point Picking -- from Wolfram MathWorld


とりあえずJavaのコードのように書くとこう。

var r = new Random();
return new Vector3D(r.nextGaussian(),
                    r.nextGaussian(),
                    r.nextGaussian()).normalize();
トラックバック - http://d.hatena.ne.jp/nowokay/20180911

2018-09-04(火) Raw String LiteralsがJDK12のJEPに

[]Raw String LiteralsがJDK12のJEPに 15:35 Raw String LiteralsがJDK12のJEPにを含むブックマーク

Raw String Literals(RSL)がJDK12のJEPにProposalとして入りました。RSLはバッククオートで囲って改行やダブルクオートなどを含む文字列を表記する仕様です。

Amberで検討されているJava構文の変更 - Qiita


必要なAPIコンパイラでの対応はすでにレビュー中なので、早ければもしかしたら今週末のEAで試せるかもしれません。


先にJEPに入ったSwitch Expressionは、まずはcaseの拡張がEA9に入りました。

しかし、利用するには--enable-previewオプションが必要になります。

f:id:nowokay:20180904153408j:image


まだExpressionには なってないようですね。

f:id:nowokay:20180904153405j:image


RSLもPreviewとしてJEPに入っているので、--enable-previewが必要になるんだろうな。

トラックバック - http://d.hatena.ne.jp/nowokay/20180904

2018-08-27(月) JDK11 RCリリースと、Loomの継続は継続なの?疑惑

[] JDK 11 RC1リリースと、Loomの継続は継続なの?疑惑 14:01  JDK 11 RC1リリースと、Loomの継続は継続なの?疑惑を含むブックマーク

バグが2つ残っていて遅れたJDK 11 RC1が先週末にでてますね。「そして運がよければ最後の!」 by Mark Reihhold

JDK 11: First Release Candidate


昨日さくらばさんがLL2018でLoomの話をしてTwitterがにぎわってから、Loomで言ってる継続はほんとに継続なのか、という話題がでてます。


このAPIだと継続(=残りの計算)っぽくないけど、やろうとしてることや実態は継続(or 限定継続?)、ということなんですかね。

トラックバック - http://d.hatena.ne.jp/nowokay/20180827

2018-08-20(月) JDK12の最初のJEPはSwitch Expression(Preview)

[][] JDK12の最初のJEPはSwitch Expression(Preview) 12:23  JDK12の最初のJEPはSwitch Expression(Preview)を含むブックマーク

JDK12に最初のJEPが入りました。

JDK 12


JEP325 Switch Expressions(Preview)です。

JEP 325: Switch Expressions (Preview)


拡張Switchについては、Qiitaでまとめていますが var a = switch(f){case 0->false;default->true;}のような書き方ができるような仕様変更です。

Amberで検討されているJava構文の変更 - Qiita


これで、Switchが便利に使えるようになります。


ところで、JDK11はRCが出るはずでしたが、2つほどP1のバグが残ってるのでまだのようです。

JDK 11: No Release Candidate, yet


IBMメインフレームで使われているs390x CPUでネイティブコールに失敗してるのと、SSLの挙動がおかしいみたいですね。

[JDK-8209637] [s390x] Interpreter doesn’t call result handler after native calls - Java Bug System

[JDK-8207317] SSLEngine negotiation fail Exception behavior changed from fail-fast to fail-lazy - Java Bug System


それと、ツッコミ隊長であるStephen Colebourneさんが、OpenJDKでのLTSについて質問しています。そこにOracleのMark Reinholdさん、Red HatのAndrewさん、AdoptOpenJDKのMartijnさんが答えていて、だいたい肯定的な意見に見えますね。

What does LTS mean for OpenJDK?

トラックバック - http://d.hatena.ne.jp/nowokay/20180820