JVM言語 単語


ニコニコ動画でJVM言語の動画を見に行く

ジェーブイエムゲンゴ

2.3千文字の記事
これはリビジョン 2550711 の記事です。
内容が古い・もしくは誤っている可能性があります。
最新版をみる

JVM言語とは、JVM(Java Virtual Machine、Java仮想マシン、Javaプラットフォーム)上で動作するプログラムを生成する為のプログラミング言語の総称である。超平たくいうと「Java言語グループ」である。

概要

Java仮想マシンは、バイトコードと呼ばれる中間コードに基づいて動作する。バイトコードを生成する言語の代表はJavaであるが、バイトコードそのものはJavaを前提としているものの厳密にJava専用というものではないため、他言語でもバイトコードに変換すればJava仮想マシン上で動作させることができる。

実際にScala, Groovy, Kotlinといった様々な言語でバイトコードに変換するコンパイラが存在する。既存の他言語をJava仮想マシン用に実装したものとしてはLisp方言であるClojureのほか、RubyやPythonのインタプリタとしてそれぞれJRubyJythonがある。

マイナーなところでは、Haskellの実装としてFregeEtaといったものも存在する。

Java自身もJava仮想マシン上で実行されるので、JVM言語と呼べるはずだが、JVM言語がJava仮想マシン上で動作するように設計された言語であるのに対し、Javaについては、Java仮想マシンがJavaを効率よく動作させるように設計されるという逆の主従関係となっているため、文脈によっては(Java互換言語といった意味で)JVM言語とひと括りにしたときにJavaがJVM言語に含まれていないこともある。

特性

JVM上で動作する

既存のJavaライブラリが利用可能

コンパイラが生成するバイトコード(拡張子.class)は、Javaインタプリタ(CUIのjavaコマンド)で実行可能

Javaの場合


> java Main-Class名

Scalaの場合(上: Windows コマンドプロンプト、中: Windows PowerShell、下: Unix Bash)


> for %A in (scalac) do java "--class-path=%~dp$path:A..\lib\scala-library.jar;." Main-Class名
> java "--class-path=$(Join-Path (Get-Command scalac | Get-Item).DirectoryName "..\lib\scala-library.jar");." Main-Class名

$ java "--class-path=$(dirname "`which scalac`")/../lib/scala-library.jar:." Main-Class名

Kotlinの場合(上: Windows コマンドプロンプト、中: Windows PowerShell、下: Unix Bash)


> for %A in (kotlinc) do java "--class-path=%~dp$path:A..\lib\kotlin-runtime.jar;." Main-Class名
> java "--class-path=$(Join-Path (Get-Command kotlinc | Get-Item).DirectoryName "..\lib\kotlin-runtime.jar");." Main-Class名

$ java "--class-path=$(dirname "`which kotlinc`")/../lib/kotlin-runtime.jar:." Main-Class名

実行可能JARファイルが生成可能

Javaの場合


> javac ソースファイル

> jar --create --main-class=Main-Class名 "--file=JARファイル名.jar" *.class

Scalaの場合(上: Windows コマンドプロンプト、中: Windows PowerShell、下: Unix Bash)


> scalac -d "JARファイル名.jar" ソースファイル

> for %A in (scalac) do jar --extract "--file=%~dp$path:A..\lib\scala-library.jar" scala

> jar --update "--file=JARファイル名.jar" scala
> scalac -d "JARファイル名.jar" ソースファイル
> jar --extract "--file=$(Join-Path (Get-Command scalac | Get-Item).DirectoryName "..\lib\scala-library.jar")" scala
>
jar --update "--file=JARファイル名.jar" scala
$ scalac -d "JARファイル名.jar" ソースファイル
$
jar --extract "--file=$(dirname "`which scalac`")/../lib/scala-library.jar" scala
$
jar --update "--file=JARファイル名.jar" scala

Kotlinの場合


> kotlinc -include-runtime -d "JARファイル名.jar" ソースファイル

実行


> java -jar "JARファイル名.jar"

関連動画

関連商品

ニコニコ市場は2023年11月に終了しました。ニコニコ市場は2023年11月に終了しました。ニコニコ市場は2023年11月に終了しました。

関連項目

  • プログラミング言語
  • Java仮想マシン(JVM)
  • Java
  • Scala
  • Kotlin
  • Ceylon
  • Clojure
  • Groovy
  • JRuby
  • Jython
  • .NET Framework
  • プログラミング関連用語の一覧

外部リンク

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
もっと見る

急上昇ワード改

最終更新:2025/12/08(月) 00:00

ほめられた記事

最終更新:2025/12/08(月) 00:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP