• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

最新Java情報局

Java SE 9はAPI実験の場をIncubator Modulesで提供、第1弾はHTTP/2 Client

櫻庭 祐一=Java in the Box 2017/08/10 ITpro

 Java SE 9では、今までのJavaでは考えられなかった機構が取り入れられました。Java SE 8までは非公式に行われていた実験的なAPIの実装を、Java SE 9では「JEP 11: Incubator Modules」として公式にできるようになったのです。

 今までJava SEで公開されたAPIは、表向きにはすべて標準化されたAPIという扱いになっています。しかし、sun.misc.Unsafeクラスやsun.misc.BASE64Encoderクラスのように、標準化されていないAPIも存在しました。これらの非標準のAPIはドキュメントもそろっていないことが多く、知っている人だけが使えるAPIになっていました。

 ところがJava SE 9は、Project Jigsawの導入に伴い、パッケージ名がsunで始まるほとんどのAPIが使用できなくなっています。sun.misc.Unsafeクラスなど影響の大きいAPIは引き続き使用できますが、今後のリリースでは使えなくなる可能性が高いです。今まで抜け穴になっていた非標準のAPIを提供するすべがなくなってしまったわけです。

 とはいうものの、標準化は完了していないが、実験的に提供したいというAPIもあるかもしれません。例えば、BASE64Encoderクラスは非公開APIでしたが、その後標準化が進められ、Java SE 8からは標準のAPIとなっています*1

 このように、標準化されていないAPIを実験的にJava SEに含めることは、使用者からのフィードバックを集めやすくなり、使いやすいAPIにするためには有効です。Java SE 9では、HTTP/2 ClientがIncubator Moduleとして提供されます。そこで、今回からIncubator ModuleとHTTP/2 Clientを紹介していきます。

*1 もっとも、クラス名はjava.util.Base64.Encoderクラスに変更され、使い方も若干変わりました。

ここから先はITpro会員(無料)の登録が必要です。

次ページ JEP 11: Incubator Module...
  • 1
  • 2
  • 3
  • 4
  • 5

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る