2025-10-11 11:25:16 +09:00

2.8 KiB
Raw Permalink Blame History

Javaとは

Javaは「Write once, run anywhere1度書けばどこでも動く」を理念として 1995年にSun Microsystems現Oracleから登場しました。 C/C++の強力さと安全性・移植性を両立させることを狙った汎用オブジェクト指向言語です。

  • 開発元: Oracle元Sun
  • ランタイム: JVMJava Virtual Machine
  • GUI: Swing / JavaFX
  • Web: Spring Boot / Jakarta EE

実行モデル

.javaソースを javacでコンパイル →.class バイトコード生成 .class を JVM が実行JITコンパイルでマシンコード化

[ソースコード] → javac → [バイトコード] → JVM → [実行]

これにより、Windows / macOS / Linux どこでも同じ .class を動かせます。

基本構文

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello Java!");
    }
}

Javaバージョン進化の要点

2025年時点での主流は Java 17 または 21。

バージョン 主な特徴
Java 8 Stream API, Lambda, Date/Time
Java 11 LTS, 新HTTP Client
Java 17 LTS, sealed class, record
Java 21 LTS, virtual thread軽量スレッド

主要フレームワーク(現代開発)

分野 フレームワーク 備考
Webアプリ Spring Boot ほぼデファクト。DI, REST, DB統合
DB ORM Hibernate / JPA Springと併用多い
テスト JUnit5 C#のxUnit/nUnitに近い
ビルド Maven / Gradle 依存管理・パッケージ構築
クラウド Micronaut / Quarkus 軽量Javaランタイム対応

JDKの全体図

@startuml
title JDK / JRE / JVM の入れ子構造

skinparam shadowing false
skinparam defaultFontName Noto Sans
skinparam packageStyle rectangle
skinparam rectangleStyle rounded

rectangle "JDKJava Development Kit\n← 開発者用" as JDK {
  rectangle "JREJava Runtime Environment\n← 実行環境" as JRE {
    rectangle "JVMJava Virtual Machine\n← バーチャルマシン" as JVM
  }
}
@enduml

実際に動かしてみる

Linux

mkdir -p ~/java-play && cd ~/java-play
docker run --rm -it -v "$PWD":/workspace -w /workspace eclipse-temurin:21-jdk bash

Windows

mkdir java-play; cd java-play
docker run --rm -it -v "${PWD}:/workspace" -w /workspace eclipse-temurin:21-jdk bas

Dockerfileを活用する場合