|
||||||||||
| 1 2 3 次のページ | ||||||||||
| はじめてのJava | ||||||||||
|
Javaが登場してから10年以上経ちました。当初は「遅い」という評価がほとんどでしたが、実行マシンの性能向上やJVM(Java Virtual Machine)の改善により、今ではサーバサイドにおける基幹系・金融系などの業務システムに欠かせない言語となっています。 最近はRubyやPythonのようなスクリプト言語が「Javaより早くシステムを構築できる」と人気があるようですが、これまでの実績や豊富なナレッジ、充実した開発ツールを鑑みても、Javaがまだまだ使用される言語であることは間違いありません。 「興味はあるけれど業務では使ったことがない」という方も、本連載をきっかけにJavaの世界に飛び込んでみてはいかがでしょうか。 |
||||||||||
| Write once,Run anywhere | ||||||||||
|
Javaは1995年にSun Microsystemsからリリースされたオブジェクト指向プログラミング言語です。今となっては驚くことではないのですが、「プラットフォームに依存しない」ことは当時かなり衝撃的でした。「Write once, Run anywhere(1度書けばどこでも動く)」という思想はシステムの開発スタイルを大きく変えるものでした。 例えば、Webアプリケーションの開発では開発者ごとに用意された環境(主にWindows)でテストを行い、作成したモジュールをそのまま本番環境にデプロイすることが可能になったのです。 本番環境は開発者の環境と一緒である必要はありません。筆者がかつて経験したUNIX Cを使用したWebシステム開発プロジェクトでは、開発者ごとにUNIXマシンを用意することができないため、複数の開発者が1台のマシンにtelnetで接続して、ソース作成からコンパイル、テスト(デバッグ)を行う開発スタイルを取っていました。 そのため、開発者1人の都合だけでアプリケーションサーバを再起動することが難しく、テストするのに時間がかかりました。その頃に比べると、気軽に自分の環境でデバッグできるようになったことで、開発効率は格段に向上しました。 |
||||||||||
| JVM(Java Virtual Machine) | ||||||||||
|
「Write once, Run anywhere」を実現するJavaの実行環境は、JVM(Java Virtual Machine)と呼ばれています。Javaのコンパイラはソースコードを中間コードに変換します。その中間コードを実行する環境がJVMで、プラットフォームごとに用意されています。プラットフォームの差異はJVMが吸収し、中間コードがあればどの環境でも動く仕組みになっているのです(図1)。 ![]() 図1:JVM C言語の場合、メモリアドレスの参照を間違えたプログラムによってシステム全体をダウンさせてしまうことがあります。またプログラムで動的に確保したメモリは、プログラムによって明示的に解放しなければなりません。ほかにもメモリ解放処理を記述し忘れることで、運用中にメモリが不足してしまうということも発生しました。 しかしJavaプログラムではメモリアドレスに対して直接アクセスできません。それはメモリの確保・解放はJVMが行うためです。このようにJavaは、開発者を煩雑な手順から解放し、より業務処理の開発に注力できるような環境を提供します。 |
||||||||||
|
1 2 3 次のページ |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||


