今回から、Java SE 8について紹介していきます。1回目の今回は、Java SE 8の成り立ちや、主な新機能について紹介します。

Java SE 8の成り立ち

 Java SE 8の成り立ちについて紹介するには、まずJava SE 7について言及しなければなりません。というのも、Java SE 8の主要な機能はもともとJava SE 7で導入される予定だったからです。

 しかし、Java SE 7のリリースは遅れに遅れていたのです。特にProject LambdaとProject Jigsawはなかなか議論が収束せず、いつ合意に達するか全く読めない状況でした。

 そこで、2010年9月にJava SEのチーフアーキテクトのMark Reinhold氏がblogで2つの案を提示したのです。

  • Plan A: すべてを含んだJava SE 7を2012年中旬にリリース
  • Plan B: Project LambdaやProject Jigsawなどを含まないJava SE 7を2011年中旬にリリース、Project LambdaやProject Jigsawを含んだJava SE 8を2012年下旬にリリース

 このエントリーには175ものコメントがつき、そのほとんどがPlan Bに賛成していました。

 その後、2010年のJavaOneでReinhold氏は正式にPlan Bにすることを決定しました。そして、Project LambdaとProject Jigsawを抜いたJava SE 7が2011年7月にリリースされたのです。

 もともとPlan Bでは、Java SE 8に以下のような機能が導入される予定でした。

  • Project Lambda
  • Project Jigsaw
  • Project Coinの一部
  • Type Annotation
  • Bulk-Data Operators
  • Swing Date Picker
  • Collection Literals

 ところが、2012年7月にReinhold氏が再びblogで、Project JigsawをJava SE 8からJava SE 9にスリップさせる提案がされました。この時期、Project JigsawのMLの議論も停滞気味であり、Java SE 8に間に合わないことは明白でした。

 Project Jigsawがスリップしたことにより、Java SE 8はProject Lambdaのためのリリースとなったわけです。

 また、その年のJavaOneで、Java SE 8のリリースを2012年下旬から2013年下旬にすると発表されています。これはもともとJava SEのメジャーバージョンアップが2年周期だったことにあわせるということでした。その後、Java SE 8のリリースはさらに2014年3月に延期されています。

 ところで、当初の導入予定だった機能のうちProject Coinの一部とCollection Literalsは見送られています。また、Swing Date Pickerも見送られました。

 その代わりに、Date & Time APIやNashorn、そしてJavaFXが新たにJava SE 8の機能として取り入れられています。

 Java SE 8のリリースは2014年3月18日に予定されています。現在はhttps://jdk8.java.net/にてRelease Candidateが公開されています。昨年6月の機能確定後は、予定通りビルドも進んでいるようなので、遅れることはないと思います。しかし、リリースされるまでは、予断を許さないですね。

この先は会員の登録が必要です。今なら有料会員(月額プラン)が12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら