0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Java, JDK, JRE, Spring Boot, GraalVMの違いをまとめてみた

Posted at

Java, JDK, JRE, Spring Boot, GraalVMの違いをまとめてみた

Javaを使った開発をしていると、JavaやJDK、JRE、そしてSpring BootやGraalVMといった言葉をよく耳にします。これらの用語は関連性がありながら、それぞれ役割が異なっています。今回は、これらの違いや関係をシンプルにまとめてみました。

Javaとは?

Javaは、プログラミング言語の一つで、"Write Once, Run Anywhere" というスローガンの通り、一度書けばどのプラットフォームでも動くのが特長です。Javaのコードは、まずコンパイルされてバイトコードという中間コードに変換され、Java仮想マシン (JVM) 上で実行されます。

ポイント:

  • プログラミング言語
  • JVMで実行される
  • クロスプラットフォーム対応

JDK(Java Development Kit)とは?

JDKは、Javaで開発を行うためのツールキットです。Javaプログラムのコンパイルと実行を行うために必要なツールがすべて含まれています。

JDKに含まれる主なもの:

  • コンパイラ(javac): Javaのソースコードをバイトコードに変換する
  • JRE(Java Runtime Environment): Javaプログラムを実行する環境(後述)
  • 開発ツール: デバッガやプロファイラなど、開発時に役立つツールが含まれています

要するに、JDKは開発者用のツールキット。開発を行うならJDKが必要です。

JRE(Java Runtime Environment)とは?

JREは、Javaプログラムを実行するための環境です。開発ツールは含まれておらず、純粋にJavaアプリケーションを実行するためのものです。

JREの役割:

  • JVM(Java Virtual Machine): バイトコードを実行する仮想マシン
  • 標準ライブラリ: Javaプログラムが依存するクラスライブラリなどが含まれます
  • つまり、JREは実行環境。開発はしないけど、Javaプログラムを動かすために必要です。

Spring Bootとは?

Spring Bootは、JavaのフレームワークであるSpring Frameworkをベースにした、Webアプリケーション開発をより簡単に行えるツールです。設定が少なく、すぐに動くということで、Webアプリやマイクロサービスの開発に非常に人気があります。

Spring Bootの特徴:

  • 簡単な設定: アノテーションベースで複雑なXML設定は不要
  • 組み込みサーバー: TomcatやJettyなどのサーバーが組み込まれており、単一のアプリケーションとして動かせる
  • 依存関係の管理: MavenやGradleを使って必要なライブラリを自動で管理

要は、Spring BootはJavaでWebアプリを作るための便利なツールです。

GraalVMとは?

GraalVMは、Javaだけでなく他の言語(JavaScript、Ruby、Pythonなど)も実行できる、高パフォーマンスな仮想マシンです。特に、Javaアプリケーションのパフォーマンスを向上させるための機能が多く、注目されています。

GraalVMの特徴:

  • ネイティブイメージの生成: Javaアプリをバイナリファイルにコンパイルして、起動時間を短縮し、メモリ使用量を削減
  • 多言語対応: Javaだけでなく、複数のプログラミング言語をサポート
  • 互換性: 通常のJavaプログラムも動作可能

つまり、GraalVMはJavaアプリを高速化するための次世代JVMであり、他の言語もサポートする多機能ツールです。

まとめ

  • Java: プログラミング言語およびJVM上で動作するプラットフォーム
  • JDK: Javaの開発に必要なツールキット(JRE含む)
  • JRE: Javaアプリを実行するためのランタイム環境
  • Spring Boot: Webアプリ開発を簡単にするJavaフレームワーク
  • GraalVM: Javaや他の言語を高パフォーマンスで動作させる仮想マシン
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?