Java(ジャバ) |
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
Javaはプログラム開発言語。
実行させる環境も含めてJavaとも言う。
Javaはサン・マイクロシステムズ社によって作られた開発言語。
インターネット時代の到来を睨んで作られた言語であり、
実際、
後から作られた言語にも多大な影響を与えてる。
昔は、実行速度が遅いとか言われていたが、今は、Javaの改良と
コンピューターの進化に伴いむしろ高速な部類に入る。
Javaの言語書式はCやC++と似ている。
C/C++系の言語。
Javaで覚えた知識は他の場合も流用可能。
2010年1月、サン・マイクロシステムズ社はオラクル社に買収されて
現在は、オラクル社がJava及びNetBeansの主要管理・開発・支援元
となっている。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
Java(ジャバ)の主な特徴 |
|
一度コードを書けばどこでも実行できる(Write Once, Run
Anywhere) |
Javaのコンセプトであり一番の特徴。
一度作れば、同じソフトが様々な環境で動作させられる。
OSごとに作り直す必要がない。
現在Windows、Mac、Linuxを始め主要なOSに対応している。 |
|
|
メモリ管理の自動化 |
難しいメモリ管理を、ガベージコレクションという機能により自動化している。
使われなくなったメモリは勝手に開放されるので、暴走しにくい安全なアプリケーションを作成できる。 |
|
|
ネットワーク関連機能が豊富 |
ブラウザで動くアプレットをはじめ、サーバで動くサーブレット、インターネットを利用した自動アップデートができるJavaWebStartなど、ネットワーク機能が充実している。 |
|
|
セキュリティの重視 |
プログラムを保護領域に閉じ込めて実行する「サンドボックス(砂場)」の概念など、ネットを使った場合でも安全に利用できるよう考慮されている。閉じ込めて実行されたプログラムは悪さができない。 |
|
|
オブジェクト指向言語 |
オブジェクト指向言語として設計されており、柔軟で拡張性の高いプログラムを作成できる。 |
|
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
Javaは現在、大規模ビジネスシステムから、
Webサーバー、携帯電話のゲームまで様々な分野で
利用されている。
また、ゲームからビジネスソフトまで
ほとんどのソフトの作成にも対応できる。
現在はオープンな形で開発されており、様々な企業や
開発者がアイデアと技術を出し合って作っている。
誰でもJavaの中身(ソースコード)を見ることができ、
無料で使える。
ライセンスはGPLv2
(クラスパス例外の条項が追加されている。)
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
Javaのエディション |
|
エディション |
内容 |
Java SE
(Java Platform, Standard Edition)
標準エディション |
デスクトップパソコンなどに使われる標準のJava。 |
Java
ME
(Java Platform, Micro Edition)
携帯端末向けエディション |
SEを携帯端末向けにした小型のセット。
携帯電話などの他、情報家電などの組み込み用途にも使用される。 |
Java
EE
(Java Platform, Enterprise Edition)
企業向けエディション |
SEに企業向けの拡張機能を追加したセット。
サーバに関する機能が多い。 |
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
Javaには使用目的に応じて3つのエディションがある。
普通使うのはJava SE(スタンダードエディション)。
Java Me(マイクロエディション)は携帯電話などに
使われている。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
Javaの実行形式
Javaはバイトコードという実行形式を採用しており
一回ソフトを作ると、OSごとにソフトを作らなくていい。
Javaで作られたソフトは、同じものがどこでも動く。
Javaは、バイトコードとランタイムの力で
Javaの特徴である「一回書けば、いろいろな環境で動く」
を実現している。
つまり、Javaで作ったソフトを動かすには、
動作環境に「ランタイム」が必要になる。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
JRE(Java
Runtime Environment)
Javaの実行に必要なランタイム。自動オンラインアップデート機能付き。
JREはJavaランタイム、Java仮想マシン、JavaVM、JVM、VM・・・・
いろんな言われ方をする。
最近のパソコンの場合、最初から入っていることも多い。
無い場合やバージョンが古い場合は、無料で簡単に入れられる。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
Javaの機能(JavaのAPI)
Javaには標準クラスライブラリという形で、
いろいろ便利な機能が用意されている。
API(Application Program Interface)
は視点が違うライブラリと同じ意味。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
JavaAPIの一部 |
API |
内容 |
java.applet |
アプレットに関する処理 |
java.awt |
グラフィックスに関する処理 |
java.io |
ファイルなどの入出力に関する処理 |
java.lang |
基本的な処理 |
java.net |
ネットワークに関する処理 |
java.security |
セキュリティに関する処理 |
java.util |
いろいろ便利な処理 |
javax.crypto |
暗号に関する処理 |
javax.swing |
ウィンドウなど画面コンポーネントに関する処理 |
|
プログラムでは、実行して結果を出すことを「処理」と言います。
ここでは、処理=機能 に置き換えて読んで下さい。 |
|
|
|
 |
|
 |
|
|
|
|
|
その他、今後のセッションで学習していきます。 |