Java
Javaとは
Java は、静的型付け(コンパイル時に型を検査する方式)のオブジェクト指向言語です。書いたコードは一度バイトコードという中間形式にコンパイルされ、JVM(Java Virtual Machine)の上で実行されます。
public class Main {
public static void main(String[] args) {
System.out.println("Hello, Java");
}
}
「Write Once, Run Anywhere」(一度書けばどこでも動く)が設計思想で、JVM さえあれば Windows でも Linux でも同じバイトコードが動きます。
なぜ企業システムで使われ続けるのか
Java は銀行・保険・官公庁など、大規模で長寿命な業務システムのバックエンドで圧倒的なシェアを持ちます。理由は次の通りです。
| 強み | 内容 |
|---|---|
| 型の堅牢さ | コンパイル時に多くのミスを検出でき、大人数開発に向く |
| 後方互換性 | 古いコードが新しいバージョンでも動き続けることを重視 |
| エコシステム | Spring をはじめとする [[フレームワーク]] と豊富なライブラリ |
| 実行性能 | JVM の最適化(JIT コンパイル)により高速に動作する |
特に Spring Boot は Java バックエンド開発の事実上の標準で、[[MVCアーキテクチャ]] に沿った Web アプリケーションや REST API を効率よく構築できます。
JVMというプラットフォーム
JVM の上では Java 以外の言語も動きます。代表が Kotlin(Android 開発の推奨言語)で、Java のライブラリ資産をそのまま使えます。「Java を学ぶ」ことは「JVM エコシステムへの入り口」でもあります。
また、メモリ管理はガベージコレクション(不要になったメモリの自動回収)が担うため、C 言語のような手動のメモリ解放は不要です。
初学者向けポイント
- JDK(開発キット)をインストールし、
javacでコンパイル →javaで実行、という2段階の流れをまず理解しましょう - 実務ではビルドツール(Maven / Gradle)がコンパイルや依存ライブラリの管理を自動化します
- クラス・インターフェース・例外処理など、オブジェクト指向の基本概念を学ぶ教材として適しています
- データベースアクセスには [[ORM]] (JPA / Hibernate)を使うのが現在の主流です
関連技術とのつながり
- [[フレームワーク]] — Spring Boot が Java バックエンドの事実上の標準
- [[ORM]] — JPA / Hibernate でデータベース操作をオブジェクトとして扱う
- [[Webサーバーとアプリケーションサーバー]] — Java アプリは Tomcat などのアプリケーションサーバー上で動く
- [[MVCアーキテクチャ]] — Spring MVC はこの構造を体現したフレームワーク
- [[並行処理と非同期]] — Java はマルチスレッドで並行処理を行う代表的な言語
Q: Javaのコードが実行される場所はどれ?
- [ ] ブラウザのJavaScriptエンジン
- [x] JVM(Java Virtual Machine)
- [ ] OSのカーネル内部
解説: Java はバイトコードにコンパイルされ、JVM の上で実行されます。JVM があればOSを問わず動きます。
Q: Javaの型付けの方式はどれ?
- [x] 静的型付けで、コンパイル時に型を検査する
- [ ] 動的型付けで、実行時まで型を検査しない
- [ ] 型という概念が存在しない
解説: Java は静的型付け言語で、コンパイル時に多くのミスを検出できるため大人数開発に向きます。
Q: Javaのメモリ管理の説明として正しいのはどれ?
- [ ] プログラマが手動でメモリを解放する必要がある
- [ ] メモリは一度確保すると解放されない
- [x] ガベージコレクションが不要なメモリを自動回収する
解説: Java ではガベージコレクションが不要になったメモリを自動で回収するため、手動解放は不要です。