Movatterモバイル変換


[0]ホーム

URL:


Hatena Blog Tags
はてなブログ トップ
Java
このタグでブログを書く
言葉の解説
ネットで話題
関連ブログ

Java

(地理)
【じゃわ】

→ジャワ

Java

(コンピュータ)
【じゃば】

狭義ではオブジェクト指向プログラミング言語であり、広義ではプログラミング言語のプログラムの実行環境および開発環境を指す。

概要

Java 技術は、Java 言語と Java プラットフォームからなる。 単に Java 言語のことを指して 「Java」 という言葉が使われることもあれば、プラットフォーム (全部あるいは一部) も含めて 「Java」 という言葉が使われることもある。

元々は家電製品を制御するために作られ、後に Java が登場した当初はApplet が注目され一時脚光を浴びたことがあるものの、当時のデスクトップマシン性能の限界から 「Java は遅い」 という印象がしばらく付きまとうことになってしまった。

その後、Java はネットワークやセキュリティに強くミッションクリティカルに向いているという言語の特徴から、サーバーサイド (JavaServlet) でB2B、基幹系業務、金融系など幅広い分野で使われ Java 言語を爆発的に普及させる基礎を築いた。

マシン性能が向上し、かつ JVM (Java Virtual Machine) の性能が向上した今では、Applet の代替とされるJava Web Start と JavaSwing (GUI) の性能向上によって再びデスクトップ Java が再生しつつある。

サーバーサイド環境はJava Platform, Enterprise Edition (Java EE) を参照。 携帯機器のプラットフォームとしてJava ME も存在する。

Java 言語 (Java programming language)

プログラミング言語のひとつ。 JavaScript と混同されることが多い。

Java 言語では、すべてのソースコードはまず .java という拡張子のテキストファイルに記述される。 そして、それらのソースファイルは Java のコンパイラによって .class という拡張子のファイル (クラスファイル) にコンパイルされる。 クラスファイルは、プロセッサのネイティブコードではなくバイトコード (bytecodes) で記述される。 このバイトコードは、後で説明する Java 仮想マシンのマシン語である。

Java プラットフォーム (Java platform)

プラットフォームとは、プログラムを実行させるためのハードウェア環境あるいはソフトウェア環境である。 多くのプラットフォームは OS とハードウェアの組み合わせである。 Java プラットフォームはそういった類のプラットフォームとは違い、ソフトウェアのみで構成されるプラットフォームであり、別のハードウェアベースのプラットフォーム上で動作する。

Java プラットフォームは 2 つの部分からなる:

  • Java 仮想マシン (Java Virtual Machine; JVM)
  • Java アプリケーションプログラミングインターフェイス (Java Application Programming Interface; Java API)

Java 仮想マシンは、上述の Java のクラスファイルに記述されたバイトコードを実行するための仮装的なマシンである。 Java API は、すぐに使える多くの有用な機能を提供する多くのソフトウェア部品の集合である。 それらは関連のあるクラスとインターフェイスごとにパッケージにグループ分けされている。

プラットフォームから独立した環境であるため、Java プラットフォームはネイティブコードと比べて遅くなりうるものである。 しかしながら、コンパイラと仮想マシン技術の進歩により、移植性を損なうことなくネイティブコードに近いパフォーマンスを得られるようになっている。 例えば、JIT (Just In Time) コンパイルや起動時のフットプリント削減のための Hotspot 技術などが存在する。

実行環境など

Oracle から、開発環境としてJava Development Kit (JDK) が、実行環境としてJava Runtime Environment (JRE) が提供されている。 オープンソースのJava SE 実装としてOpenJDK (OpenJDK サイト) があったり、オープンソースの Java VM 実装としてKAFFE などがあったり、いくつもの実装が存在する。

Java 技術の歴史

1990 年の終わり、Sun Microsystems 社はワークステーション市場で世界をリードしており、それは健全な速度で成長し続けていた。 他の分野に革新技術と専門知識を適用することが考えられ、Sun は家電分野での調査を始めた。 1991 年に調査のためのプロジェクトである Green プロジェクトが結成され、James Gosling、Patrick Naughton、Mike Sheridan といったエンジニアは離れたオフィスへ移動し、Sun とのコミュニケーションをほぼしなくなる。 この年に、James Gosling は Oak プログラミング言語 (のちの Java) の研究を始めた。

1992 年に、Green プロジェクトチームは Star7 を生み出した。 これは、アニメーションするタッチスクリーンの UI を持ち、ユーザー補助のためのエージェントとして Duke (のちに Java のマスコットキャラクターとなる) を搭載した PDA デバイスである。 プロセッサ非依存の新しいプログラミング言語である Oak が、Star7 のために James Gosling によって生み出された。

1993 年、Green プロジェクトは Sun の完全子会社 FirstPerson になるが、その後、グループは Sun に戻り、ターゲットがセットトップ・ボックスからオンライン・サービスや CD-ROM、デスクトップ・プラットフォームといったところに変更される。 1994 年、Sun のエンジニアの Patrick Naughton と Jonathan Payne は Oak 言語を使って WebRunner (後に HotJava と改称される) を開発。 これは、要素の移動や動的に実行されるコンテンツをサポートした最初のブラウザであった。

1995 年、商標的な問題から、プログラミング言語の名前が Oak から Java に変更される。 TED (Technology, Entertainment, and Design) 会議において、WebRunner が初めて公にデモンストレーションされた。 SunWorld 会議において、HotJava ブラウザとともに Java 1.0a2 が発表された。 さらに、Netscape Navigator の最初の Java が有効なバージョンがリリースされた。

1996 年、Java 1.0 プログラミング環境がダウンロード可能となる。


スッキリわかるJava入門

スッキリわかるJava入門

Java 8 Lambdas: Pragmatic Functional Programming (English Edition)

Java 8 Lambdas: Pragmatic Functional Programming (English Edition)

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

関連ブログ

HPをリニューアルしました

当HPは、別のプライベートブログとの兼ね合いで、はてなブログを利用していました。 ブログに最適化されたシステムなので、どうしても作成日付とかカテゴリーとかが、ブログ以外のページにも表示され、見苦しいと感じていました。 しかし、Javaスクリプトを書く知識も能力もなかったところ、最近の頼りになる相棒「Gemini」にストレートに尋ねたところ、1時間程度のキャッチボールで何と全てを解決してくれるJavsスクリプトを書いてくれました。 どうでもいいことですが、5カ月間、いつも引っかかっていた「とげ」が取れて、すっきりしました。

ネットで話題

もっと見る

関連ブログ

たこやきのプログラミング教室 #1 ~ HTML と CSS とは!?~

こんにちは!たこやきです。 今日から「たこやきのプログラミング教室」というシリーズを始めようと思います!! 「ブログで役立つコード」や「そもそもプログラミングってなんぞや」とか、そういう基礎から応用までを扱っていければなと思っています。 あ、ちなみに筆者もプログラミングに関する知識については皆無なので、読者の皆さんと一緒に勉強していければなと思います。 ということで記念すべき第一回の今回のテーマは!! 「Webサイトってどうやって作られてるのー!?」 読者の皆さんで、こういう風に思った経験はありませんか!? 「このサイト、めっちゃおしゃれだけど、どうやって作っているんだろう」 この記事を読めば…

ChatGPTやGeminiでは最近のJavaの情報は学習対象になっていないのだろうか?

火曜日はゼミ科目が多い日です。ゼミといっても4年ではなく2、3年も少人数授業がありそれらもゼミ科目と呼んでいます。 で。 先週、福岡市のIT企業のインターンシップで授業を休んだ2年生に「どうだった?」と聞いてみると、なかなか面白い企業があることを教えてもらいました。 20年近く福岡で学生らの就職活動に間接的ですが関わってきたはずですが、その名の企業は知りませんでした。 その会社のHPを見ていると主要言語がいくつか挙げられていて、その中にJavaがありました。こういうシステムもまだまだあるよな。。。と思いながら。 以前はJavaを導入言語としてた時期もありましたが、ここ10年くらい使っていません…


[8]ページ先頭

©2009-2025 Movatter.jp