原文はこちら。
https://blogs.oracle.com/java-platform-group/introducing-java-se-10Java SE 10 (OpenJDK)過去22年間にわたって、Javaは、比類なき規模に達した活気のあるコミュニティに成長しました。Javaは引き続き世界中の開発者や企業に価値をもたらし続けています。思慮深い計画とエコシステムの関わりのおかげで、Javaは地球上で最も使用されているプログラミング言語の1つに成長しました。世界中で1,200万人以上の開発者と共に、Javaは、ソフトウェアプログラマが選択する第1位のプログラミング言語であり続けています。今後は、Javaがクラウドにおけるモダンな開発と成長のためによい位置につけることを確保したいと考えています。
http://jdk.java.net/10Java SE 10 (Oracle JDK)
http://www.oracle.com/technetwork/java/javase/downloads/index.html
2017年、OracleとJavaコミュニティは、Javaの新しい6か月のケイデンス(リリースサイクル)に移行し、メジャーリリース間のレイテンシを短縮する意向を発表しました。
Faster and Easier Use and Redistribution of Java SE同時に、OracleはOpenJDKバイナリを構築して出荷する計画も発表しました。このリリースモデルは、他のプラットフォームや最新のアプリケーション開発環境に対応したさまざまなオペレーティングシステムのディストリビューションで使用されているリリースモデルからインスピレーションを得ています。イノベーションのペースはますます速くなっています。この新しいリリースモデルによって、開発者はできるだけ早期に本番環境で新しい機能を活できます。モダンなアプリケーション開発では、シンプルなオープンライセンスと予測可能な時間ベースのリズムが期待されています。新しいリリースモデルは、その両方をうまくやり遂げています。
https://blogs.oracle.com/java-platform-group/faster-and-easier-use-and-redistribution-of-java-se
https://orablogs-jp.blogspot.com/2017/09/faster-and-easier-use-and.html
そんなわけで、Oracleは、新しい6か月のリリース・サイクルの一環として初めてタイム・バウンド・リリースであるJava 10の一般提供を発表でき喜ばしく思っています。このリリースは、Java SE 9に比べて単純な安定性とパフォーマンスが向上しただけでなく、開発者がすぐに使い出せるJDK拡張提案(JDK Enhancement Proposals / JEPS)で定義された12個の新しい拡張機能が導入されています。
JDK Enhancement Proposals (JEPS)
http://openjdk.java.net/jeps/0
- JEP 286 : ローカル変数型推論(Local-Variable Type Inference)
http://openjdk.java.net/jeps/286
型推論をイニシャライザを持つローカル変数の宣言に拡張するようにJava言語を拡張する。この目的でJavaにvarに導入する。これは他の言語でよく見られるものである。 - JEP 296 : JDKフォレストの単一リポジトリへの統合(Consolidate the JDK Forest into a Single Repository)
http://openjdk.java.net/jeps/296
JDKフォレストの多数のリポジトリを1つのリポジトリにまとめて、開発を簡素化し合理化する。 - JEP 204 : ガベージ・コレクタ・インターフェース(Garage Collector Interface)
http://openjdk.java.net/jeps/304
クリーンなガベージ・コレクタ・インターフェースを導入して、異なるガベージ・コレクタのソースコード分離を改善する - JEP 307 : G1のパラレルフルGC(Parallel Full GC for G1)
http://openjdk.java.net/jeps/307
フルGCを並列化することでG1における最悪の場合のレイテンシを改善する - JEP 301 : アプリケーションデータクラスの共有(Application Data-Class Sharing)
http://openjdk.java.net/jeps/301
起動およびフットプリントを改善するため、既存のクラスデータ共有(CDS)機能を拡張して、アプリケーションクラスを共有アーカイブに配置できるようにする。 - JEP 312 : スレッドローカルハンドシェイク(Thread-Local Handshakes)
http://openjdk.java.net/jeps/312
グローバルVMセーフポイントを実行せずにスレッドでコールバックを実行する方法を提供する。すべてのスレッドだけでなく、個々のスレッドを停止することも簡単。 - (JEP 313)ネイティブ・ヘッダー・ジェネレーター・ツールの削除(Remove the Native-Header Generator Tool)
http://openjdk.java.net/jeps/313
javahツールはjavacの優れた機能に取って代わられているため、JDKからjavahツールを除去する。 - JEP 314 : 追加のUnicode言語タグ拡張(Additional Unicode Language-Tag Extensions)
http://openjdk.java.net/jeps/314
java.util.Localeおよび関連するAPIを拡張し、BCP 47言語タグのUnicode拡張を追加実装する。 - JEP 316 : 代替メモリー・デバイスでのヒープ割り振り(Heap Allocation on Alternative Memory Devices)
http://openjdk.java.net/jeps/316
HotSpot VMが、ユーザーが指定したNV-DIMMなどの代替メモリー・デバイスにJavaオブジェクト・ヒープを割り振ることを可能にする。 - JEP 317 : 実験的なJavaベースのJITコンパイラ(Experimental Java-Based JIT Compiler)
http://openjdk.java.net/jeps/317
JavaベースのJITコンパイラGraalをLinux/x64プラットフォーム上の実験的なJITコンパイラとして使用できるようにする。 - JEP 319 : ルート証明書(Root Certificates)
http://openjdk.java.net/jeps/319
JDK内のルート証明機関(Certification Authority、CA)証明書のデフォルトセットを提供する。 - JEP 322 : 時間ベースのリリースのバージョニング(Time-Based Release Versioning)
http://openjdk.java.net/jeps/322
現在および将来のタイムベースのリリースモデルのために、Java SE PlatformおよびJDKのバージョン文字列スキームおよび関連するバージョン情報を改訂する。
OpenJDK project
http://openjdk.java.net/