トップ OSS紹介 Java

Java

NRIのOpenStandiaが提供するJava最新情報

バージョンアップ情報

Java情報

Javaとは

Java(ジャバ)とはサンマイクロシステムズ社(2010年にオラクル社に吸収合併)により開発されたプログラミング言語、及びその動作環境である Java VM(ジャバ仮想マシン) を指します。

主な特徴

Javaには、次のような特徴があります。

  • 現在最も開発者の多いプログラム言語であり、導入事例も豊富。
  • インターネット上に公開されている情報が多く、学習がしやすい。
  • 多くの優れたAPサーバ、開発ツール、フレームワーク、ライブラリが利用可能。
  • 「Write Once, Run Anywhere(1度書けばどこでも動く)」の設計思想により、Linux、Windows、macOSなどの様々なプラットフォームで動作する。
  • バイトコードにコンパイルされてから仮想マシン上で動作する。
  • オブジェクト指向言語である。
  • 継承によりコードの再利用が可能。
  • ガーベージコレクションによる優れたメモリ管理
  • 例外処理を使用した安全なプログラミングが可能。

こんなお客さまにJavaの導入をオススメ

  • ウェブアプリケーション開発を始めたい。
  • 企業向け大規模ウェブアプリケーションを開発したい。
  • 実績のあるフレームワークを使用して開発効率や保守性を高めたい。
  • 豊富なライブラリを使用して開発効率を上げたい。
  • Apache Tomcat、JBossなどの安定した実績のあるAPサーバを利用したい。
  • Linux、Windows、macOSなど、異なるプラットフォームでも利用したい。
  • 技術者を安定的に補充・補強していきたい。
  • Eclipse やIntelliJなどの優れた開発環境を利用したい。

Javaの歴史

1991年

Java は1991年にサンマイクロシステムズ社のJames Goslingが中心となるグリーンプロジェクトチームにより、家電などに組み込むアプリケーション開発の一環として、ハンドヘルドデバイスやデジタルテレビ等のあらゆる機器で動作できることを目標に開発が始まりました。Java のマスコットキャラクター Duke は、ハンドヘルドコントローラ上で動くデモ用のキャラクターとしてデザインされたのが始まりです。
しかし、当時はまだその目標を達成するのは困難であり、方向転換を迫られることになりました。議論を重ねた結果、広がりつつあるインターネットの世界に着目し、インターネットとの親和性を高めた設計に見直すことで、インターネットでの利用を前提とした多くの機能を持つ新しいプログラミング言語 Javaが登場しました。

1995年

1995年春の Sun World EXPO で Java の α版(開発中のバージョン) とともにウェブブラウザ上で動作しインターネットで配布可能なアプリケーション「Java アプレット」と対応ブラウザ「Hot Java」が発表されることにより大きく注目され、タイム誌の 1995年 10 Best Productsにも選ばれました。秋には Java の β版(開発中の試用版) が一般に公開されています。

1996年

1996年1月23日、初期の正式バージョンである JDK(Java Development Kit)1.0 がリリースされました。1997年2月19日には国際化対応がなされた JDK 1.1 がリリースされます。

1998年

1998年12月8日、J2SE 1.2 がリリースされます。このバージョンより、用途別にJ2SE (Java 2 Platform, Standard Edition)、J2EE (Java 2 Platform, Enterprise Edition)、J2ME (Java 2 Platform, Micro Edition)とエディションが分けられました。
J2EEではサーバサイドで動作する Java Servlet(Java サーブレット)、Java Server Page(JSP)、EJB(Enterprise JavaBeans)等の技術が導入されました。
Java Servlet や JSP を実行するための Webコンテナ である Apache Tomcat もこの頃に登場します。 Apache Tomcat 自体も Java 言語で書かれています。
J2MEは、携帯電話等に組み込むための仕様であり、ゲームなどの用途に利用されるようになって行きます。

2000年

2000年5月8日、J2SE 1.3 がリリースされます。より高速で動作する HotSpot Java VM(Java仮想マシン)の導入などの機能強化が行われました。
Java アプレットは、起動が遅い、重いというユーザからの評判、Flash などの対抗技術の登場により次第に使われなくなって行き、それに替わりJava Servlet をはじめとするサーバサイドの技術が急速に普及して行きます。

2002年

2002年2月6日、J2SE 1.4 がリリースされます。正規表現の導入、NIO、ロギング、アサーションなどの仕様が追加されました。

2004年

2004年9月30日、J2SE5.0がリリースされました。このバージョンより製品としての名前が 1.x から x .0という形に変更されました。ジェネリクス(総称型)、オートボクシング、列挙型、アノテーションなどの仕様が追加されました。

2006年

2006年12月11日、Java SE 6 がリリースされました。このバージョンより名前から"2"と".0"が削除されます。高速化、スクリプトエンジンの導入など、改善や機能強化がなされました。また2007年にはサンマイクロシステムズ社がウェブサイト OpenJDK を公開、Java SE をオープンソース化しました。

2011年

2011年7月28日、Java SE 7 がリリースされました。invokedynamic の導入、NIO、JDBCのバージョンアップなどの機能強化が行われました。

2014年

2014年3月18日、Java SE 8 がリリースされました。ラムダ式の導入、コレクション API の機能強化、Date-Time パッケージの追加、など多くの機能強化が行われました。

2017年

2017年9月21日、Java SE 9 がリリースされました。Project Jigsaw、jshell の導入、JVM ログの統一、Javadoc の検索機能、など多くの機能強化が行われました。

2018年

2018年3月20日、Java SE 10 がリリースされました。新リリースモデルによる初リリースで、ローカル変数の型推論などの機能が追加されています。
2018年9月25日、Java SE 11 がリリースされました。新しいガーベジコレクタや標準HTTPライブラリなどが導入されています。

2019年

2019年3月19日、Java SE 12 がリリースされました。 コンパクトな数値フォーマッサポートやswitch文の条件拡張などの機能強化が行われました。

2019年9月17日、Java SE 13 がリリースされました。 新元号「Reiwa」への対応、FileSystemsクラスの拡張などの機能強化が行われました。

2020年

2020年4月14日、Java SE 14 がリリースされました。通貨フォーマットのサポートやjava.lang.Recordクラスの追加などの機能強化が行われました。

2020年9月15日、Java SE 15 がリリースされました。HiddenClassの導入や新しい署名アルゴリズムの実装などの機能強化が行われました。

2021年

2021年3月16日、Java SE 16 がリリースされました。レコードクラスとinstanceof演算子のパターンマッチングが標準化されました。

2021年9月14日、Java SE 17 がリリースされました。Arm64ベースのAppleシリコンコンピュータでネイティブに実行可能になりました。LTS(Long Term Support)バージョンです。

2022年

2022年3月22日、Java SE 18 がリリースされました。標準Java APIのデフォルトの文字セットとしてUTF-8が設定されました。

2022年9月20日、Java SE 19 がリリースされました。レコードパターン、バーチャルスレッドの新機能が追加されました。

Java言語で書かれた代表的なOSS

APサーバ

Apache Tomcat

Payara(GlassFish)

Wildfly(JBoss)

Jetty

シングルサインオン

OpenAM

Keycloak

フレームワーク

Apache Struts

Spring Framework

Play Framework

JBoss Seam

Apache Axis

ユーティリティ

Apache log4j

Jackson

開発ツール

eclipse

Apache Ant

Apache Maven

テストツール

JUnit

ポータルなど

Liferay

JasperReports Server

Java以外のプログラミング言語

Webアプリケーションでよく使用されるその他のプログラミング言語には以下のようなものがあります。

  • PHP
  • Python
  • Perl
  • Ruby
  • JavaScript

Javaのライセンス

Oracle JDK

2019年4月16日以降のリリースに適応されるOracle Javaライセンスに変更がありました。以前のライセンスとは大きく異なります。個人的な使用、開発目的での使用など特定の使用は無償で許可されますが、以前のライセンスで許可されていた他の使用はできなくなっています。
詳しくは、下記のライセンス条項が記載されたページをご覧ください。

Open JDK はクラスパス例外(※)付きGPL(※)ライセンスです。ソフトウェアのコピーや配布、ソースコードの公開を原則として、ソースコードの自由な改変も認められています。
※GPL配下にあるJavaのライブラリにリンクしたアプリケーションにGPLライセンスライセンスを適用することを義務付けない例外です。

※GNU General Public Licenseの略。

製品ダウンロード

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Ruby

    Ruby

    ルビー。シンプルさ、読みやすさ、高機能が人気の国産オブジェクト指向スクリプト言語です。

  • PHP

    PHP

    PHP(ピーエイチピー)とは、サーバサイドで動作するウェブアプリケーションの開発に適した、スクリプト言語のオープンソースソフトウェアです。

オープンソースに関するさまざまな課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。